Download - CodeFest 2011. Уразбаев А. — Пробуем Kanban!
Пробуем KANBAN!
Асхат УразбаевScrumTrek
Асхат Уразбаев
• ScrumTrek• Agile Coach• Управляющий партнер
• В прошлом• Программист, менеджер
проектов, методолог
ПОТОК РАБОТ
Баклог РазработкаОчередь Тестирование Готово!
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
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
2
3
4
5
6
AA
A
Примеры канбан
Фото: David Anderson, Mattias Skarin,etc
ОГРАНИЧЕНИЕ ОДНОВРЕМЕННО ВЫПОЛНЯЮЩЕЙСЯ РАБОТЫ(WORK IN PROGRESS)
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
12
34
56
78
A10
11
PO
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
234
56
78
A10
11
PO
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
234
56
78
A10
11
PO
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
2
3
4
56
78
A10
11
PO
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
2
3
4
5
6
78
A10
11
PO
?
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
2
3
4
78
A10
11
PO ?5
6
1
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
2
3
478
A10
11
5
6
PO
1
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
2
347
8A10
11
5
6
PO
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
2
3478
A10
11
5
6
1PO
Минимизируем WIP
• PO помогает в приемке• Тестер помогает аналитику• Программист помогает собрать требования
СНИЖАЕМ WORK IN PROGRESS
Закон Литтла
• Среднее время ожидания = размер очереди / скорость обслуживания
• Lead Time = WIP / Average Completion Rate200 человек / 20 чел в час = 10 часов
Work In Progress
>> N ~ 2N ~ N < N
(N = размер команды)
Ничего не меняетсяВизуализация
имеющегося процесса
Эффективная командная работа
Минимизируем потери
WIP>>N
• Слабое взаимодействие сотрудников
• Сопротивление применению канбана
Зачем нужна доска? Я хочу просто видеть свои задачи
Разработка
6В прогрессе
1
2
3
45
7
Блокированные задачи
WIP ~ 2N
РазработкаАналитика Тестирование
4 5 4В прогрессе Готово
Ждем ответа заказчика
Заказчик не предоставил интерфейс к
системе
Баг мешает продолжить
тестирование
Ждем серверНужный
специалист занятЖдем ответа от
сисадминов
Разработка
6В прогрессе
3
4
7
– Внешние зависимости минимизированы
– Проблемы решаются командой быстро
– Команда, поставщики и внешние команды оперативно помогают друг другу
WIP ~ N
Разработка
6В прогрессе
3
4
7
– Командная работа– Нет узких мест– Больше взаимодействия– Совместное владение
кодом
WIP <N
Последовательность стадий
Баклог Очередь Анализ Разработка Тестирование
Баклог Очередь Анализ Разработка Тестирование Деплой
Баклог Очередь Имплементация Ревью Приемка
Разработка проекта
Разработка + деплой
Поддержка
АналитикаОчередь Разработка Приемка
2 3 2В прогрессе Готово
• Определен сценарий демонстрации и приемочные тесты
• Указан заказчик• Проведено ревью
программистом
В прогрессе Готово В прогрессе Готово
• Тесты на основные методы написаны и проходят
• Код прошел ревью• Документация
создана и прошла ревью
• Заказчик принял • Готово к деплою
Критерии готовности
Поиск по вакансиям
Jira:10241
Заказчик: Пупкин В.
Анализ: 11/03/11Разработка: 18/03/11Тест: 22/03/11
Срок: 24/03/11Приоритет:
Баклог РазработкаОчередь Тестирование Готово!
2 3 2В прогрессе Готово
1
2
3
4
5
6
7
AA
A
BUG
POА-а-а-а!!!
Анализ
6
BUG
– Баг из «СРОЧНО!»– Приоритетные– Риск нарушения сроков
– Остальные в порядке очередности поступления
ПРИОРИТЕТ Разработка
!
ДЕКОМПОЗИЦИЯ НА ЗАДАЧИ
АналитикаОчередь Разработка Тестирование2 3 2
В прогрессе Готово В прогрессе Готово В прогрессе Готово
2
АналитикаОчередь Разработка Тестирование2 3 2
В прогрессе Готово В прогрессе Готово В прогрессе Готово
2
АналитикаОчередь Разработка Тестирование2 3 2
В прогрессе Готово В прогрессе Готово В прогрессе Готово
2
АналитикаОчередь Разработка Тестирование2 3 2
В прогрессе Готово В прогрессе Готово В прогрессе Готово
2
BUG
BUG
АналитикаОчередь Разработка Тестирование2 3 2
В прогрессе Готово В прогрессе Готово В прогрессе Готово
2
BUGBU
G
Каденции
Итерации week 1 week 2 week 3 week 4 week 5 week 6 week 7 week 8
Sprint 1
Plan & commit Review(release?)
Каденции week 1 week 2 week 3 week 4 week 5 week 6 week 7 week 8
Planning cadence (2w)
Sprint 2
Retrospective
Release cadence (1w)
Retrospectives (4w)
События week 1 week 2 week 3 week 4 week 5 week 6 week 7 week 8
Planning (on demand)
Release (on demand)
Retrospectives (4w)
By Henrik Kniberg
Стендап
• Общий стендап– Справа налево по доске– Что вам мешает?– Чем вы можете помешать?
• Стендапы в группах
PO
Cumulative Flaw
• www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html
• www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html
2009-08-29
orem ipsum dolor sit amet, nse ctetur adi pis cing elit nisl
2009-09-01
orem ipsum dolor sit amet, co nse ctetur adi pis cing elit nisl
2009-09-02
orem ipsum dolor sit
amet, nse ctetur adi
pis elit nisl
Analysis Development Acceptance ProdNext
Definition of Done:•Customer accepted•Ready for production
Ongoing Done
Definition of Done:•Code clean & checked in on trunk• Integrated & regression tested•Running on UAT environment
Ongoing DoneOngoing Done
Definition of Done:•Goal is clear•First tasks defined•Story split (if necessary)
2 3 3 2
Feature / story
= completed
= blocked
= who is doing this right now
2009-08-20 2009-09-30
(description)
• Panicfeatures(should be swarmed and kept moving. Interrupt other work and break WIP limits as necessary)
• Priority features• Hard deadline features
(only if deadline is at risk)• Oldest features
2009-09-03ipsum dolor sit amet, co nse ctetur adi pis cing elit nisl
2009-09-02
orem ipsum dolor sit amet, co nse
2009-08-27
orem ipsum dolor sit
amet, ctetur adi pis
cing elit nisl
2009-08-27
orem ipsum dolor sit amet, adi pis cing elit nisl
2009-08-20
orem olor sit amet, co nse ctetur adi pis cing elit nisl
2009-08-30
orem ipsum dolor sit amet, co adi pis cing elit nisl
2009-09-08
2009-08-20
orem ipsum dolor sit
amet, co nse ctetur
adi pis cing elit nisl
2009-08-25
2009-08-22orem ipsum dolor sit amet, co
2009-08-25
orem ipsum dolor sit ctetur adi pis cing elit nisl
Task / defectHard deadline(if applicable)Date when added to
board
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit
amet, co nse ctetur
orem ipsum dolor sit
amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
orem ipsum dolor sit amet, co nse ctetur
(description)
(description)
(description)Why
(description)
Who is analyzing / testing right now
= priority
= panic
What to pull first
xxxx kjd dj d xxx
Пример канбанHenrik Kniberg www.crisp.se/kanban/example
version 1.22009-11-16
(description)
orem ipsum dolor sit amet, co nse ctetur
2009-08-26
orem adi pis cing elit nisl
orem ipsum dolor sit amet, co nse ctetur
=task =defect
Оценка
Задачи Фичи1. Не оценивать. Просто посчитать.
2. Оценивать в T-shirt
1. Без задач
2. Не оценивать задачи, просто сосчитать
3. Оценит задачи в днях1d
2d0.5d
4. Оценить задачи в часах
12h8h4h
S M LЧасы?
Дни?Недели?
S ML
3. Оценивать в story-points
1sp 2sp5sp
4. оценивать в идеальных человеко-днях
1d 3d6d
”типичный”Kanban
”типичный”Scrum
By Henrik Kniberg
ВОПРОСЫ?