SlideShare a Scribd company logo
1 of 27
Download to read offline
Гибкость, возведенная в Абсолют
или как настроить процесс
разработки программного
обеспечения
Контекст
Модели ЖЦ
Software Engineering Coordinating Committee, IEEE, ISO, ГОСТ
Методологии разработки
DOD, IBM, Microsoft, Agile-сообщество…
Процессы
ООО «Рога и копыта»
Модели ЖЦ: что имеем?
• Водопад
• Итерационная (инкрементальная) модель
• Модель Боема (спиральная модель)
Методологии разработки: что
имеем?
• ГОСТ 19, ГОСТ 34
• RUP/EUP
• MSF
• PSP
• Agile
• …
А теперь натягиваем методологию
на реальность
Процессы: что имеем?
Процесс разработки в вашей
команде
• Оптимален с любой точки зрения
• Идеал грации и красоты
• Великолепен
• Строг и справедлив
• Прекрасен
• Грациозен
• Грандиозен
• Просто душка
Разумеется, процесс в ваше команде
обладает всеми атрибутами зрелого процесса
• Осознанность
• Документированность
• Переносимость
• Конкретность области применимости
• Пригодность к анализу
• Наличие ресурсов для поддержки и
развития
• Процесс, который мы создаем, часто
является идеальным на тот момент
времени, для которого он создавался (в лучшем
случае)
Процесс идеален – зачем что-то
менять?
Сопротивление изменениям
бесполезно!
• Изменения во внешней среде
• Изменение состава команды
• Изменение стадии проекта
Изменение во внешней среде
• Компания изменила рынок сбыта
• Изменилось законодательство
• Директор компании прочитал статью про
Agile/EUP/MSF
• …
Изменение состава команды
• Вы наняли в штат Чака Норриса
• Вы наняли в штат гражданина название
страны вычеркнуто отделом цензуры
• Ваш гениальный архитектор уехал работать
в IBM
Изменение стадии проекта
• Стадии проекта по Unified Process
– Inception
– Elaboration
– Construction
– Transition
Обычная ситуация на стадии
Inception
Обычная ситуация на стадии
Transition
Один процесс? Да ладно 
Внешняя среда
Состав и уровень команды
Стадии проекта
Впрочем, а почему бы и нет?
Гибкость – наше все!
А что, собственно, можно гнуть?
• Набор шагов (этапов) процесса
• Содержание шагов (роли, артефакты,
активности, техники)
• Длину итераций (если у вас они есть)
• Методологию 
• Модель  
Набор этапов и их содержание
• Зачем команде нужен конкретный этап?
• Зачем команде нужен артефакт «Б»
(существуют артефакты, удобные заказчику)
• Есть ли в команде люди, которые могут
сделать этот артефакт?
• Зачем команде нужна техника «А»
• Готова ли команда применять эту технику и
хочет ли она ее применять?
Длина итераций
• На разных стадиях проекта длины итераций
могут быть разными
• У вас вообще может не быть итераций
• У вас может быть итерация длинной в год
Как понять, что пора что-то менять
Управляйте рисками
Как понять, что пора что-то менять
Измеряйте
Как понять, что пора что-то менять
Постоянно задавайте себе вопрос:
«А не фигню ли я делаю?»
Какие риски принимать во
внимание?
• Любые риски могут повлиять на процесс
Риск Что делаем с процессом
Новые технологии Включаем в процесс R&D стадию
Некачественные и изменяющиеся
требования
Не «паримся» подробным ТЗ.
Детализируем требования
непосредственно перед реализацией.
Недостаточный уровень
технологической экспертизы в команде
Включаем в процесс активности по
обсуждению технологических вопросов,
привлекаем экспертов
Низкая производительность команды Вводите в процесс итерации
Любые другие риски - Любые изменение в процессе
- Не все риски можно убрать
изменениями в процессе
Что измерять?
Цель процесса Метрики
Быстро выйти на рынок - Длительность цикла разработки
Обеспечить высокое качество - Количество дефектов
- Степень покрытия кода тестами
Точные предварительные оценки - Степень «недооцененности»
проектов
- Velocity
- Throughput
Быстрая поставка новых фич - Lead time
- Cycle time
- Wasted time
- Effectiveness
Оставаться в рамках графика и бюджета - Число изменений в требованиях
• Цели процесса определяют метрики
Окей, я все измерил. Что дальше?
• Пример 1.
– Focus Factor уменьшается с каждой итерацией –
сокращаем итерации. Или вообще переходим на
Kanban. Или п….м аналитиков.
• Пример 2
– Растет Wasted time – автоматизируйте рутину,
посмотрите в сторону Continuous Integration и
Continuous Delivert
• Пример 3
– Растет технический долг – выторговывайте время на
него
• …
И в качестве постскриптума
• Не возводите все в абсолют. Даже гибкость


More Related Content

What's hot

Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...ScrumTrek
 
Алексей Пименов. Kanban — это не то, что вы привыкли о нем думать
Алексей Пименов. Kanban — это не то, что вы привыкли о нем думатьАлексей Пименов. Kanban — это не то, что вы привыкли о нем думать
Алексей Пименов. Kanban — это не то, что вы привыкли о нем думатьScrumTrek
 
Практики масштабирования гибкой разработки
Практики масштабирования гибкой разработкиПрактики масштабирования гибкой разработки
Практики масштабирования гибкой разработкиAskhat Urazbaev
 
вольфсон основы Agile
вольфсон   основы Agileвольфсон   основы Agile
вольфсон основы AgileMagneta AI
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...Magneta AI
 
Управление качеством в Agile. Как опередить баги
Управление качеством в Agile. Как опередить багиУправление качеством в Agile. Как опередить баги
Управление качеством в Agile. Как опередить багиSQALab
 
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.Anton Stoliar
 
Agile scrum - гибкое управление проектами
Agile   scrum - гибкое управление проектамиAgile   scrum - гибкое управление проектами
Agile scrum - гибкое управление проектамиMikhail Sofonov, PMP, P2M, PRINCE2
 
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.ScrumTrek
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.ScrumTrek
 
Agile Testing: вопросы и ответы
Agile Testing: вопросы и ответыAgile Testing: вопросы и ответы
Agile Testing: вопросы и ответыAndrey Rebrov
 
лобасев 3 ключевых навыка успешной agile-команды
лобасев   3 ключевых навыка успешной agile-командылобасев   3 ключевых навыка успешной agile-команды
лобасев 3 ключевых навыка успешной agile-командыMagneta AI
 
как убить поставку скрамом
как убить поставку скрамомкак убить поставку скрамом
как убить поставку скрамомAlexey Ilyichev
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработкеMagneta AI
 
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Denis Tuchin
 
Егор Крюнькин. Agile-ом по Lean production или Гибкий путь государственного у...
Егор Крюнькин. Agile-ом по Lean production или Гибкий путь государственного у...Егор Крюнькин. Agile-ом по Lean production или Гибкий путь государственного у...
Егор Крюнькин. Agile-ом по Lean production или Гибкий путь государственного у...ScrumTrek
 
Agile в кровавом энтепрайзе
Agile в кровавом энтепрайзеAgile в кровавом энтепрайзе
Agile в кровавом энтепрайзеAskhat Urazbaev
 

What's hot (19)

Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
 
Развитие ИТ
Развитие ИТРазвитие ИТ
Развитие ИТ
 
Алексей Пименов. Kanban — это не то, что вы привыкли о нем думать
Алексей Пименов. Kanban — это не то, что вы привыкли о нем думатьАлексей Пименов. Kanban — это не то, что вы привыкли о нем думать
Алексей Пименов. Kanban — это не то, что вы привыкли о нем думать
 
Практики масштабирования гибкой разработки
Практики масштабирования гибкой разработкиПрактики масштабирования гибкой разработки
Практики масштабирования гибкой разработки
 
вольфсон основы Agile
вольфсон   основы Agileвольфсон   основы Agile
вольфсон основы Agile
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
 
Управление качеством в Agile. Как опередить баги
Управление качеством в Agile. Как опередить багиУправление качеством в Agile. Как опередить баги
Управление качеством в Agile. Как опередить баги
 
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
 
Agile scrum - гибкое управление проектами
Agile   scrum - гибкое управление проектамиAgile   scrum - гибкое управление проектами
Agile scrum - гибкое управление проектами
 
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.
 
Agile Testing: вопросы и ответы
Agile Testing: вопросы и ответыAgile Testing: вопросы и ответы
Agile Testing: вопросы и ответы
 
лобасев 3 ключевых навыка успешной agile-команды
лобасев   3 ключевых навыка успешной agile-командылобасев   3 ключевых навыка успешной agile-команды
лобасев 3 ключевых навыка успешной agile-команды
 
как убить поставку скрамом
как убить поставку скрамомкак убить поставку скрамом
как убить поставку скрамом
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработке
 
KPI и бонусы
KPI и бонусыKPI и бонусы
KPI и бонусы
 
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
 
Егор Крюнькин. Agile-ом по Lean production или Гибкий путь государственного у...
Егор Крюнькин. Agile-ом по Lean production или Гибкий путь государственного у...Егор Крюнькин. Agile-ом по Lean production или Гибкий путь государственного у...
Егор Крюнькин. Agile-ом по Lean production или Гибкий путь государственного у...
 
Agile в кровавом энтепрайзе
Agile в кровавом энтепрайзеAgile в кровавом энтепрайзе
Agile в кровавом энтепрайзе
 

Similar to Гибкость, возведенная в абсолют

Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий СтрелюкSQALab
 
Виталий Стрелюк, Постановка процесса тестирования в Agile
Виталий Стрелюк, Постановка процесса тестирования в AgileВиталий Стрелюк, Постановка процесса тестирования в Agile
Виталий Стрелюк, Постановка процесса тестирования в AgileSQADays_2009_Piter
 
Профессии в IT
Профессии в ITПрофессии в IT
Профессии в ITSam Faktorovich
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAndrey Rebrov
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестированияIgor Pozumentov
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаMarina Peregud
 
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Анастасия Виноградова
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0HighLoad2009
 
Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Denis Umnov
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineSergiy Povolyashko, PMP
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Irina Leshchuk
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
HR-автоматизация.
HR-автоматизация. HR-автоматизация.
HR-автоматизация. HR&Trainings EXPO
 
231116 hr&technology2016
231116 hr&technology2016231116 hr&technology2016
231116 hr&technology2016Valery Leontyev
 
Постановка и улучшение скрам процесса для группы проектов в большой компании,...
Постановка и улучшение скрам процесса для группы проектов в большой компании,...Постановка и улучшение скрам процесса для группы проектов в большой компании,...
Постановка и улучшение скрам процесса для группы проектов в большой компании,...viktor_bezhenar
 

Similar to Гибкость, возведенная в абсолют (20)

Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий Стрелюк
 
Виталий Стрелюк, Постановка процесса тестирования в Agile
Виталий Стрелюк, Постановка процесса тестирования в AgileВиталий Стрелюк, Постановка процесса тестирования в Agile
Виталий Стрелюк, Постановка процесса тестирования в Agile
 
Формирование проектной команды
Формирование проектной командыФормирование проектной команды
Формирование проектной команды
 
Профессии в IT
Профессии в ITПрофессии в IT
Профессии в IT
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформации
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
 
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language)
 
Agile testing
Agile testingAgile testing
Agile testing
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
HR-автоматизация.
HR-автоматизация. HR-автоматизация.
HR-автоматизация.
 
231116 hr&technology2016
231116 hr&technology2016231116 hr&technology2016
231116 hr&technology2016
 
Постановка и улучшение скрам процесса для группы проектов в большой компании,...
Постановка и улучшение скрам процесса для группы проектов в большой компании,...Постановка и улучшение скрам процесса для группы проектов в большой компании,...
Постановка и улучшение скрам процесса для группы проектов в большой компании,...
 
Критерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборотаКритерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборота
 

Гибкость, возведенная в абсолют

  • 1. Гибкость, возведенная в Абсолют или как настроить процесс разработки программного обеспечения
  • 2. Контекст Модели ЖЦ Software Engineering Coordinating Committee, IEEE, ISO, ГОСТ Методологии разработки DOD, IBM, Microsoft, Agile-сообщество… Процессы ООО «Рога и копыта»
  • 3. Модели ЖЦ: что имеем? • Водопад • Итерационная (инкрементальная) модель • Модель Боема (спиральная модель)
  • 4. Методологии разработки: что имеем? • ГОСТ 19, ГОСТ 34 • RUP/EUP • MSF • PSP • Agile • …
  • 5. А теперь натягиваем методологию на реальность
  • 7. Процесс разработки в вашей команде • Оптимален с любой точки зрения • Идеал грации и красоты • Великолепен • Строг и справедлив • Прекрасен • Грациозен • Грандиозен • Просто душка
  • 8. Разумеется, процесс в ваше команде обладает всеми атрибутами зрелого процесса • Осознанность • Документированность • Переносимость • Конкретность области применимости • Пригодность к анализу • Наличие ресурсов для поддержки и развития
  • 9. • Процесс, который мы создаем, часто является идеальным на тот момент времени, для которого он создавался (в лучшем случае) Процесс идеален – зачем что-то менять?
  • 10. Сопротивление изменениям бесполезно! • Изменения во внешней среде • Изменение состава команды • Изменение стадии проекта
  • 11. Изменение во внешней среде • Компания изменила рынок сбыта • Изменилось законодательство • Директор компании прочитал статью про Agile/EUP/MSF • …
  • 12. Изменение состава команды • Вы наняли в штат Чака Норриса • Вы наняли в штат гражданина название страны вычеркнуто отделом цензуры • Ваш гениальный архитектор уехал работать в IBM
  • 13. Изменение стадии проекта • Стадии проекта по Unified Process – Inception – Elaboration – Construction – Transition
  • 14. Обычная ситуация на стадии Inception
  • 15. Обычная ситуация на стадии Transition
  • 16. Один процесс? Да ладно  Внешняя среда Состав и уровень команды Стадии проекта
  • 17. Впрочем, а почему бы и нет? Гибкость – наше все!
  • 18. А что, собственно, можно гнуть? • Набор шагов (этапов) процесса • Содержание шагов (роли, артефакты, активности, техники) • Длину итераций (если у вас они есть) • Методологию  • Модель  
  • 19. Набор этапов и их содержание • Зачем команде нужен конкретный этап? • Зачем команде нужен артефакт «Б» (существуют артефакты, удобные заказчику) • Есть ли в команде люди, которые могут сделать этот артефакт? • Зачем команде нужна техника «А» • Готова ли команда применять эту технику и хочет ли она ее применять?
  • 20. Длина итераций • На разных стадиях проекта длины итераций могут быть разными • У вас вообще может не быть итераций • У вас может быть итерация длинной в год
  • 21. Как понять, что пора что-то менять Управляйте рисками
  • 22. Как понять, что пора что-то менять Измеряйте
  • 23. Как понять, что пора что-то менять Постоянно задавайте себе вопрос: «А не фигню ли я делаю?»
  • 24. Какие риски принимать во внимание? • Любые риски могут повлиять на процесс Риск Что делаем с процессом Новые технологии Включаем в процесс R&D стадию Некачественные и изменяющиеся требования Не «паримся» подробным ТЗ. Детализируем требования непосредственно перед реализацией. Недостаточный уровень технологической экспертизы в команде Включаем в процесс активности по обсуждению технологических вопросов, привлекаем экспертов Низкая производительность команды Вводите в процесс итерации Любые другие риски - Любые изменение в процессе - Не все риски можно убрать изменениями в процессе
  • 25. Что измерять? Цель процесса Метрики Быстро выйти на рынок - Длительность цикла разработки Обеспечить высокое качество - Количество дефектов - Степень покрытия кода тестами Точные предварительные оценки - Степень «недооцененности» проектов - Velocity - Throughput Быстрая поставка новых фич - Lead time - Cycle time - Wasted time - Effectiveness Оставаться в рамках графика и бюджета - Число изменений в требованиях • Цели процесса определяют метрики
  • 26. Окей, я все измерил. Что дальше? • Пример 1. – Focus Factor уменьшается с каждой итерацией – сокращаем итерации. Или вообще переходим на Kanban. Или п….м аналитиков. • Пример 2 – Растет Wasted time – автоматизируйте рутину, посмотрите в сторону Continuous Integration и Continuous Delivert • Пример 3 – Растет технический долг – выторговывайте время на него • …
  • 27. И в качестве постскриптума • Не возводите все в абсолют. Даже гибкость 