#no estimate. Безоценочная разработка

45
#NoEstimates: безоценочная разработка Асхат Уразбаев ScrumTrek

Upload: askhat-urazbaev

Post on 29-Nov-2014

1.975 views

Category:

Technology


0 download

DESCRIPTION

Вы слышали о движении #NoEstimates? Разработчики во всем мире отказываются от оценки! Не надо оценивать проекты, фичи и таски — говорят они. Это занимает много времени, да и процесс это не особо приятный. Вам нравится эта идея? Вижу, что нет. Вот например, как объяснить заказчику свое новое безоценочное восприятие? Хотите вы или нет, сроки придется называть! Что делать с обязательствами на спринт? А как же прозрачность? Предсказуемость? По большому счету вы правы. Нельзя просто выкинуть оценку и все. Идея #NoEstimate в том, что можно увеличить прозрачность и предсказуемость разработки, если заменить оценку более эффективными инструментами. Мы поговорим, что такое на самом деле #NoEstimate и чем практически можно заменить оценку.

TRANSCRIPT

Page 1: #No estimate. Безоценочная разработка

#NoEstimates: безоценочная разработка

Асхат Уразбаев

ScrumTrek

Page 2: #No estimate. Безоценочная разработка

#NoEstimates: Безоценочная разработкаАсхат Уразбаев

Ag;)eDays 14

Page 3: #No estimate. Безоценочная разработка

Асхат Уразбаев

• ScrumTrek• Agile Coach• Управляющий партнер

• В прошлом• Программист,

менеджер проектов, методолог

Page 4: #No estimate. Безоценочная разработка

Движение #NoEstimates

• Движение за разработку без использования оценок

• Стартовало в твиттере стараниями этого человека: Woody Zuill

Page 5: #No estimate. Безоценочная разработка

Как мы до этого докатились?

Page 6: #No estimate. Безоценочная разработка

COCOMOCOnstructive COst MOdel

• Function Points• Early Function

Points• Use Case Points

• База: индустрия

Page 7: #No estimate. Безоценочная разработка

Оценка «по аналогии» ака по-простому

• Декомпозиция на задачи• Оценка в часах/днях экспертами• База — 8-часовой рабочий день

ТЗ план

Page 8: #No estimate. Безоценочная разработка

Перестраховка

Оптимист - Сделаем если ничего не предвиденного не случится. Новички. 0%Реалист - Наиболее вероятное значение. Оценка опытных разработчиков. (Вероятность Fail по- прежнему ~70%)Перестраховка - Если космос не рухнет, то точно уложимся.

Page 9: #No estimate. Безоценочная разработка

Простое объяснение

Page 10: #No estimate. Безоценочная разработка

В компаниях Кремниевой Долины была самая  жестокая конкуренция  за всю историю планеты. … Время, отпущенное на разработку, постоянно  урезалось.  Сначала   на   разработку   новой версии отводилось три года. Потом этот  срок сократили  до двух лет. Потом  —  до  восемнадцати  месяцев. Теперь на это отводится двенадцать месяцев, новую версию нужно выпускать каждый год.

Майкл Крайтон, «Рой», 2002

Page 11: #No estimate. Безоценочная разработка
Page 12: #No estimate. Безоценочная разработка

Scrum

Page 13: #No estimate. Безоценочная разработка

Трудно оценить

Выиграть

В шахматы

Page 14: #No estimate. Безоценочная разработка

Velocity

По ретроспективным данным

Page 16: #No estimate. Безоценочная разработка

Velocity и регрессия к среднему

Page 17: #No estimate. Безоценочная разработка

Velocity падает

Стабильная скорость — признак перестраховки

Page 18: #No estimate. Безоценочная разработка

Commitment Forecast

Page 19: #No estimate. Безоценочная разработка

Оценка баклога

• Человеко-дни– 1 день на оценку релиза– Излишняя точность

• Стори-пойнты– 4 часа– Planning poker

• Стори-пойнты– 1 час– 1/2/4

• Порядок величины– ~ 20 мин– Good, Too big

Page 20: #No estimate. Безоценочная разработка

Planning poker

Page 21: #No estimate. Безоценочная разработка

Bucket estimation

Page 22: #No estimate. Безоценочная разработка

Оценка

Часы

«Идеальные Дни»

Стори-пойнты

~40%

~20%

~10%

«Майки» SML ~1%

Page 23: #No estimate. Безоценочная разработка
Page 24: #No estimate. Безоценочная разработка

MVP & MMF

• Детальная декомпозиция

Page 25: #No estimate. Безоценочная разработка

Оценка

Задачи Фичи

1. Не оценивать. Просто посчитать.

2. Оценивать в T-shirt

1. Без задач

2. Не оценивать задачи, просто сосчитать

3. Оценить задачи в днях1d

2d0.5d

4. Оценить задачи в часах

12h8h4h

S M LЧасы?

Дни?Недели?

S ML

3. Оценивать в story-points

1sp2sp

5sp

4. оценивать в идеальных человеко-днях

1d3d

6d

”типичный”Kanban

”типичный”Scrum

By Henrik Kniberg

Page 26: #No estimate. Безоценочная разработка

#NoEstimates означает ведение софтверного проекта без оценки человеком. Если заказчик спрашивает «Когда?» — это оценивание. Если ему не приходится спрашивать — это #NoEstimates

We'll define #NoEstimates as running a software project without any human estimation process. If customers asks, "How long will it take?" that's estimating. If they never have to ask, that's #NoEstimates.

Matthew Heusser (c)

Page 27: #No estimate. Безоценочная разработка

ценность

доставлять

непрерывно

Page 28: #No estimate. Безоценочная разработка

“Заказчик все-таки просил оценить сроки”

Page 29: #No estimate. Безоценочная разработка

КАК СОХРАНИТЬ ПРЕДСКАЗУЕМОСТЬ НЕ ОЦЕНИВАЯ?

Page 30: #No estimate. Безоценочная разработка

Что важнее для заказчика?• Вы успеваете сделать все

запланированные задачи внутри итерации

• Вы успеете сделать его задачу

Page 31: #No estimate. Безоценочная разработка

Перестраховка

Оптимист - Сделаем если ничего не предвиденного не случится. Новички. 0%Реалист - Наиболее вероятное значение. Оценка опытных разработчиков. (Вероятность Fail по- прежнему ~70%)Перестраховка - Если космос не рухнет, то точно уложимся.

Page 32: #No estimate. Безоценочная разработка

Спектр времени цикла

Page 33: #No estimate. Безоценочная разработка

Вероятностный подход к прогнозированию

Lead Time Distribution

0

0.5

1

1.5

2

2.5

3

3.5

Days

CR

s &

Bu

gs

SLA = 44 дня с 85%

Среднее = 31

SLA=105 дня с 98 %

Page 34: #No estimate. Безоценочная разработка

Cycle Time < Время Изменения Требований

Page 35: #No estimate. Безоценочная разработка

Cumulative flow 1

Page 36: #No estimate. Безоценочная разработка

Cumulative Flow 2

Page 37: #No estimate. Безоценочная разработка

Пропускная способность

Page 38: #No estimate. Безоценочная разработка

Потребность ~ Пропускная способность

Page 39: #No estimate. Безоценочная разработка

Фильтрация потребности

Фильтр

Page 40: #No estimate. Безоценочная разработка

Ложная загрузка (Failure Demand)

Page 41: #No estimate. Безоценочная разработка

Идея

анализ

проектирование

разработка

тестирование

релиз

Failure Demand

• Непродуманные требования

• Ошибки проектирования

• Баги• Нетестированный

функционал• Ошибки выкладки

Page 42: #No estimate. Безоценочная разработка

Внешние зависимости

• ы

Page 43: #No estimate. Безоценочная разработка

Узкое место ли вы?

Page 44: #No estimate. Безоценочная разработка