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

Post on 16-Jun-2015

441 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Доклад на SQA Days-9, Казань, 22-23 апреля 2011

Transcript

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

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

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

•  Agile Coach

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

ПОТОК  РАБОТ  

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

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

1  2  A  

A  A  A  

A  A  A  

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

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

1  

2  A  

A  A  A  

A  A  A  

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

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

1  

2  3  4  

A  A  A  

A  A  A  

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

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

1  

2  

3  

4  A  A  A  

A  A  A  

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

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

1  

2  

3  

4  5  6  

A  A  A  

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

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

1  

2  

3  

4  

5  

6  

A  A  A  

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

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

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

1  2  3  

4  5  6  7  

8  A  10  11  

PO  

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

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

1  

2  3  4  5  6  7  

8  A  10  11  

PO  

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

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

1  

2  3  4  5  6  7  

8  A  10  11  

PO  

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

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

1  

2  

3  

4  

5  6  7  

8  A  10  11  

PO  

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

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

1  2  3  

4  

5  

6  

7  8  A  10  11  

PO  

?  

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

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

1  

3  

2  

4  

7  8  A  10  11  

PO   ?  5  

6  

1  

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

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

3  

2  

4  7  8  A  10  11  

5  

6  

PO  

1  

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

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

3  

2  4  7  8  A  10  11  

5  

6  

PO  

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

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

3  

2  4  7  8  A  10  11  

5  

6  

1  PO  

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

Work  In  Progress  

>>  N   ~  2N   ~  N   <  N  

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

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

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

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

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

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

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

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

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

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

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

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

Разработка  

3  В  прогрессе  

3  

4  

7  

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

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

WIP  ~  N  

Разработка  

3  В  прогрессе  

3  

4  

7  

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

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

WIP  <N  

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

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

 

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

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

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

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

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

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

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

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

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

DEFINITION  OF  DONE  

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

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  

A  A  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  

BUG  BUG  

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

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

Стендап  

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

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

PO  

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  

Cumula�ve  Flow  

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

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

ВОПРОСЫ?  

top related