#NoEstimates не е толкова революционен, колкото хората се опитват да ви накарат да вярвате

Движението #NoEstimates набира все по-голяма популярност. Исках да разбера защо, така че моят екип експериментира с него в продължение на 3 месеца. След като работих с него в продължение на едно тримесечие, не вярвам, че е толкова променящ играта, колкото поддръжниците на #NoEstimates се опитват да ни накарат да вярваме.

Няма голяма разлика в това колко време отделя екип за оценка. Това не променя фундаментално начина, по който работи екипът за разработка. #NoEstimates идва и с очевидни недостатъци, които могат да накарат екипа да загуби много повече време, отколкото е спестено при акта на оценка.

Преди да обсъдим предимствата и недостатъците на #NoEstimates, нека първо обсъдим мотивите зад движението.

Защо #NoEstimates?

Движението #NoEstimates твърди, че трябва да спрем да оценяваме Backlog Items поради три причини:

  1. Точната оценка е невъзможна.
  2. Прогнозите могат да окажат ненужен и непродуктивен натиск върху вашия екип.
  3. Оценката е загуба, така че е по-добре да отделите възможно най-малко време за това.

Всички тези точки са разумни и аз съм съгласен с тях. Оценките са ограничени от това, което можете да знаете предварително. Прогнозите винаги ще бъдат изключени, независимо какво правите. Използването на прогнози за прогнозиране и обещаване на срокове може да доведе до ненужен натиск върху вашия екип.

Вашият екип винаги ще има неизвестни в работата си - и това ограничено знание преди извършване на работата е най-големият елемент на несигурност, засягащ всички оценки. Няма какво да направите, за да премахнете тази несигурност, освен ако не започнете да вършите работата.

Стремежът да завършите работата според прогнозите, дори когато тези оценки са грешни, може да доведе до нездравословен натиск, срязване на ъглите и в дългосрочен план до по-малък напредък.

Не вярвам, че оценките причиняват такъв натиск върху отбора. Начинът, по който тези оценки се третират, съобщават и разбират, е това, което причинява проблеми. Прогнозите на графиките трябва да бъдат актуализирани, когато стане налична повече информация. Само когато екипите на Scrum се придържат към първоначалните оценки и срокове, може би поради външен натиск, въпреки наличната повече информация и по-добро разбиране, вие неизбежно ще имате проблеми.

Не съм съгласен, че изоставянето на оценката е решението. За щастие движението #NoEstimates е на същата страница по този въпрос. Името е подвеждащо. #NoEstimates не означава, че не правите прогнози. Това означава, че оценявате по различен начин.

Още ли сте объркани? Ще направя всичко възможно да се опитам да го разбия по прост начин.

Защо #NoEstimates всъщност е форма на оценка

Когато работите със Scrum, формата на оценка е задължителна. Ако сте скептични относно това, ето какво е написано в Ръководството за Scrum:

Елементите Backlog на продукта имат атрибутите на описание, поръчка, оценка и стойност. — Ръководство за Scrum, ноември 2017 г

Елементите на Backlog на продукта в Scrum трябва да имат оценка. Това може да бъде изрична оценка, като когато използвате Story Points, или косвена оценка, чрез нарязване на елементи, така че да се поберат в спринт. Без значение какъв подход решите да използвате, екипът за развитие трябва да направи следното обаждане: вярваме ли, че се вписва в спринт? Задавайки и отговаряйки на този въпрос, екипът вече е изготвил оценка.

Мога да го обясня по-ясно, като сравня #NoEstimates със Story Points. Оценката с Story Points обикновено означава, че сте съгласни заедно с число от последователност, подобна на Фибоначи:

1 2 3 5 8 13 20 40 100

Когато направите #NoEstimates, тази последователност просто се намалява до две числа:

  • 1: вписва се в спринт
  • 0: не се вписва в спринт

По принцип #NoEstimates свива подобната на Фибоначи последователност до две кофи: тя се вписва в спринт или не. Все още трябва да водите същите разговори, които водите, когато правите Planning Poker, просто имате по-малък диапазон на оценка, от който да избирате.

Когато оценката на екипа е 1, те обикновено провеждат повече разговори, за да видят дали може да бъде нарязан на по-малки парчета, за да се подобри потокът и предвидимостта. Това не е строго необходимо, когато правите #NoEstimates. Ако отговорът е 0, екипът трябва да обсъди какво може да се направи, за да го намали. Възможно е също така да има несигурност, риск или сложност, които първо трябва да бъдат разгледани.

Ако сте съгласни с моето заключение, че #NoEstimates все още е форма на оценка, какво е въздействието от спирането с Story Points и използването на #NoEstimates вместо това?

С #NoEstimates времето, което отделяте за оценка, няма да се промени значително

В нашите Scrum екипи отделяме 1 час за усъвършенстване на спринт от 2 седмици. През този час следваме 4 стъпки:

  1. Напишете елементите на Backlog на продукта заедно като екип на Scrum. Собственикът на продукта обяснява и обсъжда защо и какво.
  2. Обсъждаме как да го изградим на високо ниво. Достатъчно, за да сме достатъчно уверени, за да разберем какво трябва да направим.
  3. Ние си сътрудничим, за да разберем как можем да разделим Backlog Item, така че да бъде нарязан по възможно най-малкия начин, като същевременно осигурява стойност.
  4. Ако елементът за изоставане е достатъчно ясен, ние оценяваме.

Когато започнахме да правим #NoEstimates, опростихме стъпка 4, като я заменихме с въпроса: вписва ли се в спринт? Ако да, значи е готово за вземане. Ако не, ние нарязваме Backlog Item на по-малки парчета заедно. Този въпрос е по-лесен за отговор и определено отнема по-малко време.

Но частта от оценката всъщност е най-плавната част от усъвършенстването, която отнема най-малко време. Ако има несъгласие относно прогнозата, вие говорите за това, докато не се постигне по-добро общо разбиране на елемента за изоставане. Действителният акт на оценка отнема по-малко от 20% от 1 час, който изразходваме за прецизиране.

Като не оценяваме със Story Points, спестяваме около 10 минути. Това е приблизително същото време като пропускането на ежедневен Scrum с вашия екип. Това количество допълнително време, което ще спестите, наистина ли си струва целия шум и шум около #NoEstimates?

Можем да се съгласим, че спестявате малко време с #NoEstimates, но какво можете да загубите и струва ли си това?

#NoEstimates идва с недостатъци

Когато използвате #NoEstimates, вие губите информацията, която се предоставя, когато използвате Story Points или друга форма на оценка:

  1. По-малко вероятно е да откриете разлики в разбирането за работата, която трябва да се свърши.
  2. Рискувате да не разберете въздействието на зависимостите.

Като не оценявате с пълния набор от Story Points, вие се освобождавате от възможността да откриете разлики в разбирането. Когато хората дават различни оценки, това обикновено означава, че имат различно разбиране. Най-ценната част от разговорите за оценка не е за оценката, а за създаването на по-добро общо разбиране.

Оценката е бърза проверка на разума, за да се гарантира, че всички са на една и съща страница относно това, което включва дадена работа. Тази информация се губи, когато използвате #NoEstimates. Въпросите „Побира ли се в спринт?“ или „Може ли да го нарежем по-малко?“ просто не предизвиквайте същия вид разговори, както когато правите Планиране на покер и трябва да поставите номер върху него.

Сега нека се върнем към предимствата от наличието на по-фини оценки. Колкото и несъвършени да са оценките на Story Point, те съдържат информация. Потребителските истории с 3 Story Points обикновено (но не винаги!) са по-малки от потребителските истории с 8 Story Points. Тази информация може да бъде полезна за управление на зависимости.

Представете си, че планирате спринт с 3 истории, които зависят една от друга. И трите истории са по 8 Story Points всяка. Поради това може да заключите, че има висок риск да не успеете да завършите тези три истории, ако работите върху тях в един и същи спринт.

Когато не използвате прогнози, вие нямате тази информация. Поддръжниците на #NoEstimates биха възразили, че трябва да разделите всички Backlog Items до подобен, малък размер, така че няма особено значение коя потребителска история ще вземете. Не вярвам, че това винаги е възможно.

Но трябва да се съглася, че дори и да нямате оценка на Story Point, екипът вероятно пак ще може да прецени дали се натъкне на проблем, когато вземе 3 потребителски истории, които зависят една от друга. Това просто ще се превърне в обаждане, направено от червата, вместо да имате оценка, която може да ви напомни за тази невъзможност.

#NoEstimates звучи по-готино и по-полезно, отколкото е в действителност

#NoEstimates звучи страхотно и се рекламира добре от хората, подкрепящи движението. Но наистина ли има толкова голяма разлика в това как работи вашият екип? Абсолютно не. #NoEstimates е като Pet Rock от 70-те – идеята зад него е по-готина от това, което означава на практика.

#NoEstimates е неподходящо име. Когато правите #NoEstimates, вие все още имате приблизителна оценка за вашия Product Backlog Item. Просто е по-малко гранулиран, отколкото ако използвате Story Points. #NoEstimates намалява диапазона на оценка на Story Point до две кофи. Всичко останало остава същото.

С #NoEstimates:

  • По-малко време се изразходва за прогнози, което възлиза общо на приблизително един дневен Scrum по-малко на спринт. Ако спестяването на време е вашата основна мотивация да спрете да оценявате, печалбата е доста оскъдна.
  • Губите ценен разговор за оценка, за да проверите дали всички имат едно и също разбиране. Различните оценки често означават различно разбиране за това какво трябва да се случи. Коригирането на тези различия в разбирането е най-ценната част от разговора, а не (потенциалната) промяна в оценката.
  • Губите информация за размера на Backlog Items, което може да повлияе на планирането на спринта, особено ако има зависимости.

Това, което харесвам в #NoEstimates, е, че може да помогне за защита на Scrum Teams от компании, които страдат от мания за скорост. Няма скорост, така че никой не може да притиска отборите да увеличат скоростта си. Това също може да помогне за изместване на разговора от графики и прогнози към отделяне на повече време за обсъждане на стойността на Backlog Items.

Това всъщност са двете най-големи предимства на #NoEstimates, а не количеството време, което ще спестите. Аспектът за спестяване на време на #NoEstimates не си заслужава. Въпреки това организациите, които оказват натиск върху скоростта и сроковете, са най-малко вероятно да приемат #NoEstimates. Така че или печелите много малко от #NoEstimates, или е малко вероятно да успеете да го приложите във вашата организация.

В крайна сметка вярвам, че #NoEstimates не прави голяма разлика за вашия Scrum екип. Въз основа на моя личен опит с правенето на #NoEstimates в продължение на 3 месеца, не си струва целия шум и внимание, но ако ви харесва, моля, продължете да го правите.

Най-голямата стойност при използването на по-голям диапазон в оценките не е подобряването на точността на оценката, а провеждането на важни разговори, които са резултат от различни оценки. Стойността се крие в по-доброто общо разбиране, промяната в оценките често е от тривиално значение.

Специални благодарности на Джонатан Одо за неговата проницателна обратна връзка, за да помогне това да стане по-силно парче.

„Искате ли да пишете за Serious Scrum или сериозно да обсъждате Scrum?“