Top Banner
KANBAN – инструмент повышения качества разработки Дмитрий Лобасев ScrumTrek
46

Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Jun 16, 2015

Download

Education

SQALab

Доклад на SQA Days-9, Казань, 22-23 апреля 2011
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

KANBAN  –  инструмент  повышения  качества  разработки  

Дмитрий  Лобасев  ScrumTrek  

Page 2: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Дмитрий  Лобасев  •  ScrumTrek  

•  Agile Coach

•  До  этого  •  Менеджер проектов, Архитектор процессов,  Тимлид,  Разработчик

Page 3: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

ПОТОК  РАБОТ  

Page 4: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  2  A  

A  A  A  

A  A  A  

Page 5: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  A  

A  A  A  

A  A  A  

Page 6: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  3  4  

A  A  A  

A  A  A  

Page 7: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  

3  

4  A  A  A  

A  A  A  

Page 8: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  

3  

4  5  6  

A  A  A  

Page 9: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  

3  

4  

5  

6  

A  A  A  

Page 10: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

ОГРАНИЧЕНИЕ  ОДНОВРЕМЕННО  ВЫПОЛНЯЮЩЕЙСЯ  РАБОТЫ  (WORK  IN  PROGRESS)  

Page 11: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  2  3  

4  5  6  7  

8  A  10  11  

PO  

Page 12: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  3  4  5  6  7  

8  A  10  11  

PO  

Page 13: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  3  4  5  6  7  

8  A  10  11  

PO  

Page 14: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  

3  

4  

5  6  7  

8  A  10  11  

PO  

Page 15: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  2  3  

4  

5  

6  

7  8  A  10  11  

PO  

?  

Page 16: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

3  

2  

4  

7  8  A  10  11  

PO   ?  5  

6  

Page 17: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

1  

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

3  

2  

4  7  8  A  10  11  

5  

6  

PO  

Page 18: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

1  

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

3  

2  4  7  8  A  10  11  

5  

6  

PO  

Page 19: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

3  

2  4  7  8  A  10  11  

5  

6  

1  PO  

Page 20: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

СОВМЕСТНАЯ  РАБОТА:  СНИЖАЕМ  WORK  IN  PROGRESS  

Page 21: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Work  In  Progress  

>>  N   ~  2N   ~  N   <  N  

(N  =  размер  команды)  

Ничего  не  меняется  Визуализация  

имеющегося  процесса    

Эффективная  командная  работа  

Минимизируем  потери  

Page 22: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Разработка  Аналитика   Тестирование  

4   5   4  В  прогрессе   Готово  

Ждем  ответа  заказчика  

Заказчик  не  предоставил  интерфейс  к  системе  

Баг  мешает  продолжить  тестирование  

Ждем  сервер  Нужный  

специалист  занят  Ждем  ответа  от  сисадминов  

Page 23: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Разработка  

3  В  прогрессе  

3  

4  

7  

– Нет  блокированных  задач  

– Проблемы  решаются  командой  быстро  

WIP  ~  N  

Page 24: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Разработка  

3  В  прогрессе  

3  

4  

7  

– Командная  работа  – Обмен  знаниями  – Нет  узких  мест  

– Выше  качество!  

WIP  <N  

Page 25: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Совместная  работа  команды  

•  PO  помогает  команде  в  приемке  •  Тестировщик  помогает  аналитику  •  Программист  помогает  собрать  требования  •  Аналитик  и  тестировщик  помогают  программисту  

 

Page 26: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

ДОПОЛНИТЕЛЬНЫЕ  СТАДИИ  ПРОЦЕССА  

Page 27: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Последовательность  стадий  

Очередь   Анализ   Разработка   Тестирование   Деплой  

Очередь   Приемочные  критерии   Разработка   Тестирование   Деплой  

Обычная  разработка  

Разработка  через  приемочное  тестирование  

Разработка  с  тремя  фазами  тестирования  

Очередь   Приемочные  критерии   Разработка   Перекрестное  

тестирование   Тестирование   Деплой  

Page 28: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

DEFINITION  OF  DONE  

Page 29: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Аналитика  Очередь   Разработка   Приемка  

2   3   2  В  прогрессе   Готово  

•  Определен  сценарий  демонстрации  и  приемочные  тесты  

•  Указан  заказчик  •  Проведено  ревью  

программистом    

В  прогрессе   Готово   В  прогрессе   Готово  

•  Тесты  на  основные  методы  написаны  и  проходят  

•  Код  прошел  ревью  

•  Документация  создана  и  прошла  ревью  

•  Заказчик  принял    •  Готово  к  деплою  

Критерии  готовности  

Page 30: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

РАБОТА  ПО  ПРИОРИТЕТАМ  

Page 31: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Поиск по вакансиям

Jira:10241  

Заказчик:  Пупкин  В.  

Анализ:  11/03/11  Разработка:  18/03/11  Тест:  22/03/11  

Срок:  24/03/11  Приоритет:    

Page 32: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Баклог   Разработка  Очередь   Тестирование   Готово!  

2   3   2  В  прогрессе   Готово  

1  

2  

3  

4  

5  

6  

7  

A  A  A  

BUG  

PO  А-­‐а-­‐а-­‐а!!!  

Page 33: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Анализ  

6  

BUG  – Баг  из  «СРОЧНО!»  – Приоритетные  – Риск  нарушения  сроков  

– Остальные  в  порядке  очередности  поступления  

ПРИОРИТЕТ   Разработка  

!  

Page 34: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

ДЕКОМПОЗИЦИЯ  НА  ЗАДАЧИ  И  РАБОТА  С  ОШИБКАМИ  

Page 35: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Аналитика  Очередь   Разработка   Тестирование  2   3   2  

В  прогрессе   Готово   В  прогрессе   Готово   В  прогрессе   Готово  

2  

Page 36: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Аналитика  Очередь   Разработка   Тестирование  2   3   2  

В  прогрессе   Готово   В  прогрессе   Готово   В  прогрессе   Готово  

2  

Page 37: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Аналитика  Очередь   Разработка   Тестирование  2   3   2  

В  прогрессе   Готово   В  прогрессе   Готово   В  прогрессе   Готово  

2  

Page 38: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Аналитика  Очередь   Разработка   Тестирование  2   3   2  

В  прогрессе   Готово   В  прогрессе   Готово   В  прогрессе   Готово  

2  

BUG  

BUG  

Page 39: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Аналитика  Очередь   Разработка   Тестирование  2   3   2  

В  прогрессе   Готово   В  прогрессе   Готово   В  прогрессе   Готово  

2  

BUG  BUG  

Page 40: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

ПУЛЬС  ПРОЕКТА:  КАДЕНЦИИ  

Page 41: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Каденции  Итерации   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)

Retrospec�ves  (4w)

События   week  1   week  2   week  3   week  4   week  5   week  6   week  7   week  8  

Planning (on demand)

Release (on demand)

Retrospec�ves  (on  demand)

By  Henrik  Kniberg  

Page 42: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Стендап  

•  Общий  стендап  – Справа  налево  по  доске  – Что  вам  мешает?  – Чем  вы  можете  помешать?  

•  Стендапы  в  группах  

PO  

Page 43: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

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   Prod  Next  

Definison  of  Done:  • Customer  accepted  • Ready  for  produc�on  

Ongoing   Done  

Definison  of  Done:  • Code  clean  &  checked  in  on  trunk  • Integrated  &  regression  tested  • Running  on  UAT  environment  

Ongoing   Done  Ongoing   Done  

Definison  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  

(descrip�on)  

•  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-­‐03  ipsum  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-­‐22  orem  ipsum  dolor  sit  amet,  co  

2009-­‐08-­‐25  

orem  ipsum  dolor  sit  ctetur  adi  pis  cing  elit  nisl  

Task  /  defect  Hard  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  

(descrip�on)  

(descrip�on)  

(descrip�on)  Why  

(descrip�on)  Who  is  analyzing  /  tes�ng  right  now  

=  priority  

=  panic  

What  to  pull  first  

xxxx  kjd  dj  d  xxx  

Пример  канбан  Henrik  Kniberg   www.crisp.se/kanban/example  

version  1.2  2009-­‐11-­‐16  

(descrip�on)  

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  

Page 44: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

Cumula�ve  Flow  

•  www.agilemanagement.net/Ar�cles/Papers/BorConManagingwithCumulat.html  

Page 45: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

КАНБАН  –  КАЧЕСТВО,  ВСТРОЕННОЕ  В  ПРОЦЕСС  

Page 46: Дмитрий Лобасев - Kanban - инструмент повышения качества разработки

ВОПРОСЫ?