SlideShare a Scribd company logo
1 of 30
Обзор курса
Лучшие практики корпоративной разработки
Опыт работы
Ростовский НИИ
Радиосвязи
Auriga
Клинский
институт охраны
и условий труда
РИКРОП USETECH СКБ Контур
Опыт работы. Проекты
Проект  Роль Где  Технологии
Клиент-серверное приложение для обмена
мгновенными сообщениями в локальной сети
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
 
АС «Труд-Эксперт .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
Тест Джоэла
1. Пользуетесь ли вы системой контроля версий?
2. Можете ли вы собрать продукт за один шаг?
3. Выполняете ли вы ежедневные билды?
4. Используете ли вы bug tracker?
5. Исправляете ли вы ошибки перед написанием нового кода?
6. Есть ли у вас актуальный план работ?
7. Есть ли у вас спецификация?
8. Предоставлены ли вашим программистам спокойные условия для работы?
9. Используете ли вы новейшее дорогое оборудование?
10. Есть ли у вас тестировщики?
11. Пишут ли кандидаты на работу код во время собеседования?
12. Проводите ли вы коридорное тестирование удобства использования
программ?
Разработка ПО
Требования Проектирование
Управление инфраструктурой
разработки
Программирование Тестирование Управление качеством
Сопровождение Управление разработкой Процессы разработки
Жизненный цикл. Waterfall
Плюсы
• Требования утверждаются один раз и остаются
стабильными
• Удобный менеджмент по фазам
• Легкость составления плана, диаграмма Ганта
• Управление ресурсами по фазам
• Приём проекта заказчиком по утвержденным заранее
требованиям
Минусы
• Требования? Один раз?? Так не бывает!
• У Заказчика нет возможности ознакомиться с системой
на этапе прототипа
• У Пользователя нет возможности начать пользоваться
продуктом до окончания разработки
• Требуется постоянный контроль со стороны менеджера
• Отсутствует возможность учесть переделку,
весь проект делается за один раз
Утверждение
требований
Проектирование Реализация Тестирование Поддержка
Жизненный цикл. Итеративная модель
Плюсы
• Адаптивность к изменению требований
• Обратная связь от пользователей
• Нет необходимости в строго согласованных требованиях
• Непрерывное итеративное тестирование
• Акцент на наиболее важном для пользователей функционале
• Равномерная загрузка команды
• Возможность построения разных моделей оплаты
Минусы
• Отсутствие понимания конечной цели
• Проблемы с архитектурой из-за изменяющихся требований
• Большая вовлеченность заказчика
• Проблемы при приёмке результата
• Усложнение процесса разработки
• Размытие deadline
Agile-манифест
• Люди и взаимодействие важнее процессов и инструментов
• Работающий продукт важнее исчерпывающей документации
• Сотрудничество с заказчиком важнее согласования условий контракта
• Реагирование на изменения важнее следования первоначальному плану
• Командная работа важнее людей и взаимодействия
• Бизнес-ценность важнее работающего продукта
• Партнёрские отношения важнее сотрудничества
• Готовность к изменениям важнее реагирования на изменения
Scrum
Kanban
Starban
Требования к ПО
оценка
декомпозиция
приоритезация
документирование
анализ
проверка (валидация)
сбор
Требования к ПО
Характеристики требований:
• Единичность
• Атомарность
• Завершенность
• Последовательность
• Отслеживаемость
• Актуальность
• Выполнимость
• Понятность
• Проверяемость
• Обязательность
• Полнота
Архитектура ПО
Паттерны проектирования
REST services
Высоконагруженные системы
• CAP-теорема
• хранение данных
• отказоустойчивость
• распределение нагрузки
• согласованность
данных
Тестирование
Тестирование
Построение процесса тестирования:
• разработка плана тестирования
• разработка тестовых сценариев
• автоматизация проверки тестовых сценариев
• автоматизация фиксации результатов проверки
• автоматизация доставки приложения пользователям
Автоматизация доставки
Системы контрля версий
VCS. Модели ветвления
• ветка под каждый релиз
• ветка под каждую команду
• ветка под каждую feature
• gitflow
Доставка
Доставка и микросервисы
Мониторинг
vadim@rikrop.ru
https://www.facebook.com/Vadimyan
http://goo.gl/forms/y1kqk5VkEB

More Related Content

What's hot

Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольАлександр Шамрай
 
Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ruКак автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ruBadoo Development
 
SCRUMopen Developer Max Kolodezniy
SCRUMopen Developer Max KolodezniySCRUMopen Developer Max Kolodezniy
SCRUMopen Developer Max KolodezniyAlexey Krivitsky
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонBadoo Development
 
Azure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеAzure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеАлександр Шамрай
 
Azure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиAzure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиАлександр Шамрай
 
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...it-people
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Алексей Кабанов
Алексей КабановАлексей Кабанов
Алексей КабановSQALab
 
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Ontico
 
Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?Badoo Development
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...CEE-SEC(R)
 
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВИспользование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВSQALab
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSАлександр Шамрай
 
Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Evgeny Savitsky
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСРоман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСDev_Party
 
автоматизация тестирования огурцом
автоматизация тестирования огурцомавтоматизация тестирования огурцом
автоматизация тестирования огурцомVadim Glebov
 
Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...Sigma Software
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Yana Brodetski
 

What's hot (20)

Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контроль
 
Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ruКак автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ru
 
SCRUMopen Developer Max Kolodezniy
SCRUMopen Developer Max KolodezniySCRUMopen Developer Max Kolodezniy
SCRUMopen Developer Max Kolodezniy
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
 
Azure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеAzure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестирование
 
Azure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиAzure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребности
 
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
Алексей Кабанов
Алексей КабановАлексей Кабанов
Алексей Кабанов
 
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
 
Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
 
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВИспользование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 
Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСРоман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
 
автоматизация тестирования огурцом
автоматизация тестирования огурцомавтоматизация тестирования огурцом
автоматизация тестирования огурцом
 
Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60.
 

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

Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Alexei Lupan
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Andersen-Portfolio-Latest Projects-ru
Andersen-Portfolio-Latest Projects-ruAndersen-Portfolio-Latest Projects-ru
Andersen-Portfolio-Latest Projects-ruSergey Kryvorotchenko
 
a3e1917f-9566-4f56-b687-950439a65e27-150519115945-lva1-app6891
a3e1917f-9566-4f56-b687-950439a65e27-150519115945-lva1-app6891a3e1917f-9566-4f56-b687-950439a65e27-150519115945-lva1-app6891
a3e1917f-9566-4f56-b687-950439a65e27-150519115945-lva1-app6891Aleksey Sergienko
 
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...geekfamilyrussia
 
доклад на вмк 15.10.2015
доклад на вмк 15.10.2015доклад на вмк 15.10.2015
доклад на вмк 15.10.2015Alexandr Petrov
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПОDmitry Lazarenko
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Технический задел
Технический заделТехнический задел
Технический заделVladimir Petrov
 
Management of projects
Management of projectsManagement of projects
Management of projectsMageCloud
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только одинHappyDev
 
Разработка нового сайта компании «Росгосстрах»
Разработка нового сайта компании «Росгосстрах»Разработка нового сайта компании «Росгосстрах»
Разработка нового сайта компании «Росгосстрах»РОСГОССТРАХ
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыMikhail Payson
 

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

Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Artsofte for b2 b
Artsofte for b2 b Artsofte for b2 b
Artsofte for b2 b
 
Andersen-Portfolio-Latest Projects-ru
Andersen-Portfolio-Latest Projects-ruAndersen-Portfolio-Latest Projects-ru
Andersen-Portfolio-Latest Projects-ru
 
a3e1917f-9566-4f56-b687-950439a65e27-150519115945-lva1-app6891
a3e1917f-9566-4f56-b687-950439a65e27-150519115945-lva1-app6891a3e1917f-9566-4f56-b687-950439a65e27-150519115945-lva1-app6891
a3e1917f-9566-4f56-b687-950439a65e27-150519115945-lva1-app6891
 
Andersen-Portfolio-Latest Projects-ru
Andersen-Portfolio-Latest Projects-ruAndersen-Portfolio-Latest Projects-ru
Andersen-Portfolio-Latest Projects-ru
 
Agile & .net
Agile & .netAgile & .net
Agile & .net
 
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
 
доклад на вмк 15.10.2015
доклад на вмк 15.10.2015доклад на вмк 15.10.2015
доклад на вмк 15.10.2015
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Технический задел
Технический заделТехнический задел
Технический задел
 
Management of projects
Management of projectsManagement of projects
Management of projects
 
Agile
AgileAgile
Agile
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
Разработка нового сайта компании «Росгосстрах»
Разработка нового сайта компании «Росгосстрах»Разработка нового сайта компании «Росгосстрах»
Разработка нового сайта компании «Росгосстрах»
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 

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

  • 1. Обзор курса Лучшие практики корпоративной разработки
  • 2.
  • 3. Опыт работы Ростовский НИИ Радиосвязи Auriga Клинский институт охраны и условий труда РИКРОП USETECH СКБ Контур
  • 4. Опыт работы. Проекты Проект  Роль Где  Технологии Клиент-серверное приложение для обмена мгновенными сообщениями в локальной сети 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
  • 5.   АС «Труд-Эксперт .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
  • 6. Тест Джоэла 1. Пользуетесь ли вы системой контроля версий? 2. Можете ли вы собрать продукт за один шаг? 3. Выполняете ли вы ежедневные билды? 4. Используете ли вы bug tracker? 5. Исправляете ли вы ошибки перед написанием нового кода? 6. Есть ли у вас актуальный план работ? 7. Есть ли у вас спецификация? 8. Предоставлены ли вашим программистам спокойные условия для работы? 9. Используете ли вы новейшее дорогое оборудование? 10. Есть ли у вас тестировщики? 11. Пишут ли кандидаты на работу код во время собеседования? 12. Проводите ли вы коридорное тестирование удобства использования программ?
  • 7. Разработка ПО Требования Проектирование Управление инфраструктурой разработки Программирование Тестирование Управление качеством Сопровождение Управление разработкой Процессы разработки
  • 8. Жизненный цикл. Waterfall Плюсы • Требования утверждаются один раз и остаются стабильными • Удобный менеджмент по фазам • Легкость составления плана, диаграмма Ганта • Управление ресурсами по фазам • Приём проекта заказчиком по утвержденным заранее требованиям Минусы • Требования? Один раз?? Так не бывает! • У Заказчика нет возможности ознакомиться с системой на этапе прототипа • У Пользователя нет возможности начать пользоваться продуктом до окончания разработки • Требуется постоянный контроль со стороны менеджера • Отсутствует возможность учесть переделку, весь проект делается за один раз Утверждение требований Проектирование Реализация Тестирование Поддержка
  • 9. Жизненный цикл. Итеративная модель Плюсы • Адаптивность к изменению требований • Обратная связь от пользователей • Нет необходимости в строго согласованных требованиях • Непрерывное итеративное тестирование • Акцент на наиболее важном для пользователей функционале • Равномерная загрузка команды • Возможность построения разных моделей оплаты Минусы • Отсутствие понимания конечной цели • Проблемы с архитектурой из-за изменяющихся требований • Большая вовлеченность заказчика • Проблемы при приёмке результата • Усложнение процесса разработки • Размытие deadline
  • 10.
  • 11. Agile-манифест • Люди и взаимодействие важнее процессов и инструментов • Работающий продукт важнее исчерпывающей документации • Сотрудничество с заказчиком важнее согласования условий контракта • Реагирование на изменения важнее следования первоначальному плану • Командная работа важнее людей и взаимодействия • Бизнес-ценность важнее работающего продукта • Партнёрские отношения важнее сотрудничества • Готовность к изменениям важнее реагирования на изменения
  • 12. Scrum
  • 15.
  • 17. Требования к ПО Характеристики требований: • Единичность • Атомарность • Завершенность • Последовательность • Отслеживаемость • Актуальность • Выполнимость • Понятность • Проверяемость • Обязательность • Полнота
  • 21. Высоконагруженные системы • CAP-теорема • хранение данных • отказоустойчивость • распределение нагрузки • согласованность данных
  • 23. Тестирование Построение процесса тестирования: • разработка плана тестирования • разработка тестовых сценариев • автоматизация проверки тестовых сценариев • автоматизация фиксации результатов проверки • автоматизация доставки приложения пользователям
  • 26. VCS. Модели ветвления • ветка под каждый релиз • ветка под каждую команду • ветка под каждую feature • gitflow