Стани господар на Scrum! Запиши се за следващото ми отворено сертифициращо обучение по Scrum на 21-22.04.2021.
Техника за прогнозиране Змей

Техника за прогнозиране Змей

През годините, с различни Scrum екипи сме експериментирали с какви ли не техники за прогнозиране - Planning poker, Table sorting, Ouija board estimation, Bucket system, Three-point method, Affinity estimation и много други (които често обсъждаме в детайли в различни корпоративни обучения по Scrum, които правя). И докато те значително подобряват качеството на прогнозиране - все нещо липсва. Оценяването на сложността на задачите, а не времето за изпълнение и нужните усилия, е страхотна първа стъпка. Но често е недостатъчна. Това, което установих с времето е, че освен сложността, качеството на прогнозиране съществено зависи и от още две характеристики на задачата - нейната уникалност и яснотата, с която е дефинирана. Така се роди техниката за прогнозиране Змей, при която Scrum екипите 'оценяват' силата и на трите глави на Змея (сложността, уникалността и неяснотата), за да постигнат успех в прогнозирането на своите задачи.

Трите глави на Змея

За да направим точна прогноза на дадена задача, ние трябва да оценим три основни нейни характеристики, а именно: сложност, уникалност и неяснота.

Сложност

  • Kолко трудна е самата задача за решаване (напр. тук могат да се вземат предвид неща като data complexity, data flow complexity, decisional / branching complexity и др.)?
  • Kакви съществуващи функционалности ще бъдат засегнати (т.е. оценка на въздействието / impact assessment)?
  • Какви нефункционални изисквания трябва да бъдат покрити?
  • Какъв е текущия технически дълг / technical debt (вкл. страдаме ли от feature creep и code bloat)?

Уникалност

  • Правили ли сме нещо подобно преди или ще е нужно творчество / иновативност / решаване на проблеми?
  • Ще се създава ли ново знание (напр. нужни ли са нови компетенции за решаването на тази задача)?
  • Има ли голям натиск от страна на клиента, бизнеса, ръководството или друг вид социален натиск върху изпълнението на задачата?
  • Каква е очакваната динамика по време на изпълнението на задачата (вкл. прекъсвания, смяна на задачи, прехвърляне на задачи, нужда от комуникация и др.)?
  • Съществува ли някакъв тип зависимост (напр. с външни страни, с други екипи и т.н.)?
  • Какви са очакваните проблеми / пречки при изпълнението на задачата (напр. проблеми с използваната инфраструктура, работните среди и т.н.)?

Неяснота

  • Пълни ли са изискванията (или обхванати ли са всички аспекти от разработваната функционалност)?
  • Коректни ли са изискванията (или адресират ли реална бизнес нужда)?
  • Еднозначни ли са изискванията (или дефинирани ли са по начин, който не позволява интерпретации)?
  • Консистентни ли са изискванията (или в синхрон ли са с вече съществуващите функционалности или други изисквания, които бихме могли да имаме)?
  • Можем ли лесно да тестваме (валидираме и верифицираме) разработената в последствие функционалност?

Такса Змей

В легендите Змеят често изисква такса от селцата под формата на злато, за да не им създава неприятности. Тук таксата, която трябва да 'платим' за дадена задача, се определя от оценката на нейната сложност, уникалност и неяснота.
В техниката се използват специални "монети", за да се оцени всяка една от характеристиките на задачата. Номиналната стойност на всяка монета е обозначена върху нея и може да бъде нула (няма да струва нищо / таксата е минимална), едно (ниска такса), две (средна такса), пет (висока такса) и десет (изключително висока такса).
Монети, използвани при техниката за прогнозиране Змей
Това, което трябва да се направи е, за всяка характеристика на задачата, да се определи монетата, която трябва да се "заплати" на Змея. В последствие тези монети се сумират, за да се получи "общата такса" на задачата. Например, ако за дадена задача сме дали монета 1 за сложност, монета 2 за уникалност и монета 5 за неяснота, то "таксата за Змея" е равна на 8.
Може да си свалиш и разпечаташ монети за улеснение. Раздаването на монети и събирането им в процеса на техниката (за да се определи "таксата" на всяка задача) я прави изключително увлекателна и забавна. Също така може да си поръчаш пакет от готови монети - само ми пиши и го смятай за уредено! :)

Процес на прогнозиране

Процесът на прогнозиране е базиран на Wideband Delphi метода и включва няколко основни стъпки.
  1. Представи функционалността, която трябва да се разработи на екипа, който ще прогнозира.
  2. Раздай монети така, че всеки участник да има общо 15 монети - по 3 от всяка номинална стойност (3×0, 3×1, 3×2, 3×5 и 3×10)
  3. Всеки участник трябва да оцени анонимно "таксата за сложност" на разглежданата функционалност. Когато е готов с това, той следва да постави монета върху масата с гърба нагоре (за да не се вижда оценката от другите). Когато всички са готови, монетите се обръщат едновременно. Обсъждат се разликите и процесът се повтаря при нужда. Когато участниците стигнат до консенсус - събери монетите в средата на масата.
  4. Предходната стъпка се повтаря за "таксата за уникалност" и "таксата за неяснота".
  5. В средата на масата е събрана "общата такса", която трябва да се заплати на Змея. За да получите вашата оценка разделете сумата върху броя на участниците.
  6. Използвай получената такса, за да предвидиш колко функционалности ще можеш да разработиш в рамките на спринта (използвайки исторически данни).

А колко ефективен си ти самият?

Провери в какво животно се превъплъщаваш най-често в зависимост от начина, по който управляваш личните си цели и приоритети, с матрицата за лична ефективност!

Свържи се с мен

Хареса ти това, което прочете? Научи още повече с моите сертифициращи обучения по Scrum, корпоративни обучения по Scrum или просто ми пиши.