Post on 19-Jun-2015
Гибкие методики разработки: создание продуктов с минимальными потерями
Алексей Ильичев, alexey@scrumtrek.ru
• 28 лет• В разработке с
2004 года• Разработчик,
PM, СкрамМастер, Agile Coach, лайф-коуч
Содержание
Обзор подходов к разработке ПО
Принципы гибкой разработки
Scrum и Kanban: осознанно выбираем практики
ОБЗОР ПОДХОДОВ К РАЗРАБОТКЕ
Водопадная модель
Заказчик
Аналитики
Архитектор
Разработчики
Тестировщики
Ввод в эксплуатацию
Сопровождение
Code & Fix
Цель
Изначально мы здесь
Цель
Изначально мы здесь
Agile
Цель
Agile
Цель
Agile
Цель
Agile
Цель
Agile
ПРИНЦИПЫ ГИБКОЙ РАЗРАБОТКИ
Разделите работу на маленькие порции
Разделите работу на список конкретных маленьких результатов, упорядоченный по важности для заказчика
Оптимизируйте время цикла
• Долгая поставка — источник потерь, связанных с поздней обратной связью
• Чем дольше время цикла, тем больше риск, что требования изменятся.
Загруженность и время цикла• Чем выше загруженность, тем больше время цикла• Чем меньше порции, тем ниже вариативность и меньше время цикла
Врем
я ци
кла
загруженность ресурсов
Круп
ные п
орци
и
Высо
кая в
ариа
тивн
ость
Средние порции
Маленькие порции
Низкая Вариативность
Закон Литтла
• Среднее время ожидания = размер очереди / скорость обслуживания
• Lead Time = WIP / Average Completion Rate200 человек / 20 чел в час = 10 часов
Теория очередей
• Закон Литтла• Выводы– При той же производительности можно
уменьшить время цикла снизив количество одновременно выполняющейся работы
Контролируйте НЗР
• Закон Литтла: чем больше НЗР, тем дольше время поставки
• Большое количество НЗР — источник потерь
• При высоком НЗР приходится часто переключаться между задачами
Принципы гибкой разработки
1. Маленькие порции2. Ограничить незавершенную работу (НЗР,
Work in Progress, WIP)3. Оптимизировать время поставки, а не
загруженность ресурсов
SCRUM И KANBAN: ОСОЗНАННО ВЫБИРАЕМ ПРАКТИКИ
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
12
A
AA
A
AA
A
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
2A
AA
A
AA
A
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
23
4A
AA
AA
A
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
2
3
4AA
A
AA
A
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
2
3
456
AA
A
Scrum
• Контроль НЗР за счёт определения готовности и ограниченности итераций по времени
• Команда полного цикла• Размер порции — не больше длины
итерации• Ретроспектива является обязательной
частью процесса
Kanban
• Направлен на оптимизацию времени поставки
• Контроль НЗР явный• Мало обязательных правил• Подходит для команд гораздо большего
размера
Спасибо!
• Алексей Ильичев• Процессный коуч, ScrumTrek• alexey@scrumtrek.ru• Skype: alexey.ilyichev• +7 (909) 687-63-75