Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Обзор курса
Лучшие практики корпоративной разработки
Опыт работы
Ростовский НИИ
Радиосвязи
Auriga
Клинский
институт охраны
и условий труда
РИКРОП USETECH СКБ Контур
Опыт работы. Проекты
Проект  Роль Где  Технологии
Клиент-серверное приложение для обмена
мгновенными сообщениями в локал...
 
АС «Труд-Эксперт .NET» 1000
Архитектор,
scrum-мастер,
программист,
программист БД,
XAML-
верстальщик,
DevOps, лидер
ко...
Тест Джоэла
1. Пользуетесь ли вы системой контроля версий?
2. Можете ли вы собрать продукт за один шаг?
3. Выполняете ли в...
Разработка ПО
Требования Проектирование
Управление инфраструктурой
разработки
Программирование Тестирование Управление кач...
Жизненный цикл. Waterfall
Плюсы
• Требования утверждаются один раз и остаются
стабильными
• Удобный менеджмент по фазам
• ...
Жизненный цикл. Итеративная модель
Плюсы
• Адаптивность к изменению требований
• Обратная связь от пользователей
• Нет нео...
Agile-манифест
• Люди и взаимодействие важнее процессов и инструментов
• Работающий продукт важнее исчерпывающей документа...
Scrum
Kanban
Starban
Требования к ПО
оценка
декомпозиция
приоритезация
документирование
анализ
проверка (валидация)
сбор
Требования к ПО
Характеристики требований:
• Единичность
• Атомарность
• Завершенность
• Последовательность
• Отслеживаемо...
Архитектура ПО
Паттерны проектирования
REST services
Высоконагруженные системы
• CAP-теорема
• хранение данных
• отказоустойчивость
• распределение нагрузки
• согласованность
...
Тестирование
Тестирование
Построение процесса тестирования:
• разработка плана тестирования
• разработка тестовых сценариев
• автоматиз...
Автоматизация доставки
Системы контрля версий
VCS. Модели ветвления
• ветка под каждый релиз
• ветка под каждую команду
• ветка под каждую feature
• gitflow
Доставка
Доставка и микросервисы
Мониторинг
vadim@rikrop.ru
https://www.facebook.com/Vadimyan
http://goo.gl/forms/y1kqk5VkEB
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Upcoming SlideShare
Loading in …5
×

Лучшие практики корпоративной разработки. Лекция 0: обзор курса.

459 views

Published on

Это настоящий курс молодого бойца по коммерческой разработке ПО в компаниях и распределённых командах.В рамках курса слушатели приобретут навыки по участию в командной разработке, взаимодействию с аналитиками, заказчиком, менеджером и отделом тестирования, совместной работой с кодом, пониманию особенностей построения высоконагруженных систем, анализу качества продукта и автоматизации тестирования.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Лучшие практики корпоративной разработки. Лекция 0: обзор курса.

  1. 1. Обзор курса Лучшие практики корпоративной разработки
  2. 2. Опыт работы Ростовский НИИ Радиосвязи Auriga Клинский институт охраны и условий труда РИКРОП USETECH СКБ Контур
  3. 3. Опыт работы. Проекты Проект  Роль Где  Технологии Клиент-серверное приложение для обмена мгновенными сообщениями в локальной сети 1 Программист РНИИРС 4 Windows Forms, WinSock, multithreading, serialization Интерфейс для работы с отсоединенными данными и синхронизацией с БД 1 Программист РНИИРС 4 Windows Forms, MS SQL Server 2005, ADO.NET, DevExpress, serialization Библиотека многопоточной обработки цифрового телевизионного сигнала стандарта DVB в реальном времени 1 Программист РНИИРС 8 .net 3.5, Class library, multithreading Программа-аналог игры MineSweeper 1 Программист 1 Windows Forms, разработка UserControl Сайт-галерея для загрузки и хранения изображений пользователями 2 Программист, html-верстальщик Auriga 2 ASP.NET Web Forms, MS SQL Server 2008, ADO.NET Программный инструмент для поддержки процесса взаимодействия компании с заказчиками, сбора данных о реализации обязательств между сторонами и формирования отчётов 15 Программист, программист БД, html-верстальщик Auriga 12 ASP.NET Web Forms, MS SQL Server 2008, ORM NHibernate, Clips (Expert system), NUnit API ВТБ24 – Сервис распределенных банковских транзакций 30 Программист Auriga 15 КРОК Application Framework .NET, XML-XSD, MS SQL Server 2008, NUnit, взаимодействие с банковскими системами (Way4, Telebank, PPC, Profile, BISquit) via Sonic ESB GateWay Росстат – Таблицы «затраты-выпуск» 30 Программист, XAML- верстальщик, программист БД Auriga 14 КРОК Application Framework 3.x XFW3 (на основе XAML), WPF, SQL Server 2008 R2, VS tests OLFA-concept – трейдинговая платформа 10 Программист, XAML- верстальщик Auriga 4 Silverlight 4, Microsoft Prism 4, MVVM, sockets, multithreading ФСО – ИС мониторинга, ситуационного анализа и прогнозирования внутреполитических процессов 20 Программист, XAML- верстТеальщик Auriga 6 MVC 3 + Silverlight 4, MVVM, Telerik, WCF, Server 2008 R2, ADO.NET
  4. 4.   АС «Труд-Эксперт .NET» 1000 Архитектор, scrum-мастер, программист, программист БД, XAML- верстальщик, DevOps, лидер команды КИОУТ 102 WPF, Prism 4, Unity, MVVM, WCF, SQL Server 2008 R2, ADO.NET EF 4.0, t4-templates Программа просмотра и редактирования карты земельных участков 8 Программист, XAML- верстальщик РИКРОП 6 .net 4.5, async/await, wpf, mvvm, Rikrop.Core, MigraDoc, MSTest, Moq TimeTracker учёта рабочего времени сотрудников 30 Программист, XAML- верстальщик, архитектор РИКРОП 10 .net 4.5, async/await, wpf, mvvm, Rikrop.Core, entity framework 5.0 code first, active directory, microsoft sql server 2012, wcf, nunit, Telerik .NET UI Controls, JustMock ParquetDesign программа проектирования и расчёта паркетных покрытий 20 Программист, архитектор, аналитик, лидер команды РИКРОП 10 Rikrop.Core, .net 4.5, async/await, wpf, mvvm Программа для учёта и планирования промо-акций Российской сети супермаркетов 50 Программист, программист js Usetech 12 Asp.net mvc, angularjs, entity framework 5, Microsoft sql server, git CRM-система для оператора медиа рекламного рынка 10000 Программист, XAML- верстальщик Usetech 50 Wpf, mvvm, Prism 4, tfs Back-end приложения для поиска товаров в магазинах и сравнения цен 50 Архитектор, консультант РИКРОП 10 Asp.net mvc web api 2, entity framework 6, Microsoft sql server, svn Интеграционная шина для Диадок 500 Программист СКБ Контур 30 Cassandra, RabbitMQ, asp.net mvc, MariaDB, git
  5. 5. Тест Джоэла 1. Пользуетесь ли вы системой контроля версий? 2. Можете ли вы собрать продукт за один шаг? 3. Выполняете ли вы ежедневные билды? 4. Используете ли вы bug tracker? 5. Исправляете ли вы ошибки перед написанием нового кода? 6. Есть ли у вас актуальный план работ? 7. Есть ли у вас спецификация? 8. Предоставлены ли вашим программистам спокойные условия для работы? 9. Используете ли вы новейшее дорогое оборудование? 10. Есть ли у вас тестировщики? 11. Пишут ли кандидаты на работу код во время собеседования? 12. Проводите ли вы коридорное тестирование удобства использования программ?
  6. 6. Разработка ПО Требования Проектирование Управление инфраструктурой разработки Программирование Тестирование Управление качеством Сопровождение Управление разработкой Процессы разработки
  7. 7. Жизненный цикл. Waterfall Плюсы • Требования утверждаются один раз и остаются стабильными • Удобный менеджмент по фазам • Легкость составления плана, диаграмма Ганта • Управление ресурсами по фазам • Приём проекта заказчиком по утвержденным заранее требованиям Минусы • Требования? Один раз?? Так не бывает! • У Заказчика нет возможности ознакомиться с системой на этапе прототипа • У Пользователя нет возможности начать пользоваться продуктом до окончания разработки • Требуется постоянный контроль со стороны менеджера • Отсутствует возможность учесть переделку, весь проект делается за один раз Утверждение требований Проектирование Реализация Тестирование Поддержка
  8. 8. Жизненный цикл. Итеративная модель Плюсы • Адаптивность к изменению требований • Обратная связь от пользователей • Нет необходимости в строго согласованных требованиях • Непрерывное итеративное тестирование • Акцент на наиболее важном для пользователей функционале • Равномерная загрузка команды • Возможность построения разных моделей оплаты Минусы • Отсутствие понимания конечной цели • Проблемы с архитектурой из-за изменяющихся требований • Большая вовлеченность заказчика • Проблемы при приёмке результата • Усложнение процесса разработки • Размытие deadline
  9. 9. Agile-манифест • Люди и взаимодействие важнее процессов и инструментов • Работающий продукт важнее исчерпывающей документации • Сотрудничество с заказчиком важнее согласования условий контракта • Реагирование на изменения важнее следования первоначальному плану • Командная работа важнее людей и взаимодействия • Бизнес-ценность важнее работающего продукта • Партнёрские отношения важнее сотрудничества • Готовность к изменениям важнее реагирования на изменения
  10. 10. Scrum
  11. 11. Kanban
  12. 12. Starban
  13. 13. Требования к ПО оценка декомпозиция приоритезация документирование анализ проверка (валидация) сбор
  14. 14. Требования к ПО Характеристики требований: • Единичность • Атомарность • Завершенность • Последовательность • Отслеживаемость • Актуальность • Выполнимость • Понятность • Проверяемость • Обязательность • Полнота
  15. 15. Архитектура ПО
  16. 16. Паттерны проектирования
  17. 17. REST services
  18. 18. Высоконагруженные системы • CAP-теорема • хранение данных • отказоустойчивость • распределение нагрузки • согласованность данных
  19. 19. Тестирование
  20. 20. Тестирование Построение процесса тестирования: • разработка плана тестирования • разработка тестовых сценариев • автоматизация проверки тестовых сценариев • автоматизация фиксации результатов проверки • автоматизация доставки приложения пользователям
  21. 21. Автоматизация доставки
  22. 22. Системы контрля версий
  23. 23. VCS. Модели ветвления • ветка под каждый релиз • ветка под каждую команду • ветка под каждую feature • gitflow
  24. 24. Доставка
  25. 25. Доставка и микросервисы
  26. 26. Мониторинг
  27. 27. vadim@rikrop.ru https://www.facebook.com/Vadimyan http://goo.gl/forms/y1kqk5VkEB

×