Методологија за развој на Scrum. Scrum: револуционерен метод за управување со проекти

Што е Scrum методологија? Како да се користи во развојот и пошироко? Зошто флексибилноста не е секогаш добра?

Моите студии продолжуваат, три пати неделно се запознавам со нови знаења од областа на развивање и разбирање на дигиталните производи од внатре. За маркетер ова е нов свет. Слушате за некој вид Агил, разбирате дека е поврзан со развојот и лесно можете да го продолжите разговорот во општи рамки. Но, штом се дојде до детали, лебдев.

Методологијата Scrum е најпопуларна меѓу сите нешта агилни во развојот и многу повеќе. Се заинтересирав да разберам што е тоа и каква е практичната примена на оваа алатка. Ви претставувам преглед за ваше разгледување.

Што е Scrum

Scrum е агилна развојна методологија или флексибилна рамка за управување (т.е. структура) со акцент на квалитетот на процесот.

Суштината на методологијата е дека создавањето на производ е поделено на одредени делови. Дел од времето или спринт (обично 2 недели) се доделува за да се завршат таквите делови. На крајот од секој таков спринт, потребно е да се демонстрира завршеното парче. Сликата погоре е само општ принцип на процесите. Ајде да погледнеме подетално.

Како функционира Scrum

Погледнете подолу како всушност функционира Scrum.

Досега изгледа како кинеско пишување, па предлагам да ги погледнете поединечните делови и да го расклопите секој елемент од структурата. Силно ја препорачувам книгата на Борис Волфсан „Агилни методологии“; таа беше основа за овој материјал (некои од сликите се од таму).

Структура на Scrum

Ајде да видиме од кои елементи се состои Scrum.

Улоги

  • Сопственик/менаџер на производот. Поставува задача, одредува приоритети за задачите, комуницира со клиентот.
  • Scrum master е лице кое е одговорно за процесите во тимот, ја координира работата и ја следи внатрешната атмосфера. Го планира спринтот, организира скрам состанок и учествува во демонстрација на резултати на крајот од секој спринт.

Состанокот на Скрам е дневен состанок на кој се дискутира за напредокот на спринтот. Што направивте, дали има проблеми, што планирате да направите? Не повеќе од 15 минути по состанок. Сите членови на тимот мора да зборуваат. Scrum Master го следи времето и перформансите на сите.

  • Тим – 7±2 лица кои ги спроведуваат барањата на сопственикот на производот.

Артефакти

  • Заостанати производи. Список на барања со приоритети и трошоци за работна сила.
  • Спринт заостанати. Дел од заостанатиот спринт, односно неколку задачи кои реално можат да се вклопат во еден спринт.
  • Зголемување на производот. Готов дел од производот за демонстрација. Во дигиталните проекти, ова може да биде функционалност. На пример, работен формулар за регистрација на страницата што може да се прикаже.

Процеси

  • Планирање на спринт. Тимот со Scrum Master планира работен план за идниот спринт, односно подготвува спринт заостанати (листа) на задачи.
  • Преглед на Спринт. Демонстрација на зголемување на производот по секој спринт. Тимот ја покажува работната функционалност на сопственикот на производот (и на клиентот по барање), кој пак прави промени во барањата доколку е потребно.
  • Ретроспектива. Преглед на изминатиот спринт за подобрување на процесите. Тимот, Scrum Master и сопственикот на производот разговараат за изминатиот спринт, извлекуваат заклучоци и размислуваат за тоа што може да се подобри.
  • Scrum состанок. (видете ја дефиницијата погоре во блокот „Улоги“)
  • Спринт. Како по правило, двонеделна временска фаза за време на која тимот успева да развие функционалност подготвена за демонстрација.

Извинете што го прекинав читањето. Придружете се на мојот телеграмски канал. Свежи објави на написи, развој на дигитални производи и пробивање на раст, сè е таму. Те чекам! Да продолжиме...

Scrum Пример

Замислете дека треба да креирате веб-страница/услуга за чистење на вашите викендички. Имате селска куќа во која областа е во целосен хаос и не е можно да ги поминете викендите во чистење, бидејќи сакате малку да се опуштите. Затоа, Voila, Uberimoydvor услуга!

Веруваме дека услугата ќе биде базирана на веб-страница. Корисникот се регистрира, остава барање и операторот го повикува назад, кој ги разјаснува деталите и се согласува за време погодно за клиентот. Сакаме да го користиме Scrum за да ја развиеме веб-страницата.

Избираме, на пример, важна задача или корисничка приказна како дел од креирањето на веб-локација: „Регистрација на клиент/корисник“. И разделете го на помали делови. Ние создаваме заостанат производ.

Главната корисничка приказна е поделена на мали задачи. Следно, заедно со тимот се поставуваат приоритети и задачите се делат на спринтови. Не заборавајте за основното правило: по спринтот мора да имаме готова функционалност за демонстрација.

Во пракса, има многу повеќе кориснички приказни (како што е „Регистрација на корисници“). Услугата/производот може да вклучува многу такви приказни, така што приоритизацијата се гради од врвот до дното, од лево кон десно. Во горниот лев дел се најважните кориснички приказни (Активности) и најважните задачи.

За прикажување на заостанатите задачи, се користат редовни лепливи белешки и табла (понекогаш дури и ѕид). Еве како тоа би можело да изгледа.

Јасно е дека е едноставно невозможно да се управува со таков „колос“ во реално време, затоа, за олеснување на работата, целиот овој ѕид е преместен во посебен софтвер/програма (Jira, Trello, Redmine и други тракери за управување со проекти). Таму можете да доделите одговорност за задачи и извршители, да ги менувате статусите на задачите итн.

Ѕидот исто така работи добро, бидејќи во фазата на создавање целиот тим е страстен и чувствува дека придонесува за заедничката кауза. Но, после тоа треба да го префрлите на соодветна алатка.

Да се ​​вратиме на чистење на дворот. Така избравме спринтови со задачи и почнавме да работиме. Тимот го комплетира обемот на работа секој ден, а Scrum Master организира 15-минутни состаноци за планирање (Scrum состаноци), каде што го ажурира статусот на спринтерските задачи и открива тешкотии во работата доколку се појават.

Многу е важно Scrum Master да ја следи климата и односите во тимот; неговата задача е да формира и одржува самоорганизиран, мотивиран тим. За да го направите ова, неопходно е да се решат прашањата и недоразбирањата меѓу сите учесници. Scrum Master е тренер кој го подобрува тимот.

По 2-неделен спринт, Scrum Master и тимот спроведуваат функционална демонстрација. Во нашиот пример, успеавме да создадеме формулар за регистрација и да му го покажеме на сопственикот на производот. Тој гледа и прави прилагодувања доколку е потребно. Откако работата е прифатена, преминуваме на следниот спринт.

Ретроспектива: Спринт анализа

Неколку дена по завршувањето на спринтот, сопственикот на производот, скрум мајсторот и тимот треба да се соберат и да спроведат ретроспектива (преглед на спринт). Ова е неколкучасовен состанок (во зависност од должината на спринтот и големината на тимот) каде се средуваат тешкотиите што се појавија во последниот спринт.

Учесниците ги споделуваат своите мислења и одлучуваат што може да се подобри во идните спринтови. Така, постои природна еволуција на процесите, бидејќи со секое ново повторување се зема предвид и се анализира претходното искуство.

Како да се даде приоритет

Добро е што користиме управување со Scrum, но како да се даде приоритет на огромна листа на приказни за корисници? На крајот на краиштата, еден проект може да вклучи многу такви приказни.

За тоа е сопственикот на производот. Тој е тој што ги разбира потребите на публиката, го следи пазарот и донесува заклучоци за тоа што треба да се направи во заостанатиот дел. Главната задача е да се реши потребата на клиентот и да се започне подобро со најважната.

Во исто време, неопходно е да се земат предвид можностите на тимот. Колку проблеми може да реши во спринт? Какви задачи се овие? Како да се планира целокупниот напредок на имплементацијата? Оценувањето во внатрешноста на заостанатите ќе помогне.

Оценување на корисничките приказни во заостанатиот број

Создадовме заостаток, но како да ги оцениме корисничките приказни во однос на сложеноста? За таа цел се користи стандардниот метод. Ова е релативна проценка која ви овозможува да го разберете потенцијалот на тимот и грубо да ги процените ресурсите.

Земаме една корисничка приказна од заостанатите како примерок и ѝ доделуваме вредност од еден (точка на приказната). Следно, ги оценуваме другите кориснички приказни од гледна точка на избраниот.

На пример, во нашата услуга има корисничка приказна „Регистрација на корисници“. Го земаме како примерок и му даваме вредност од една точка или една приказна (како што се нарекува во флексибилните методологии). Секој член на тимот пишува своја проценка за останатите кориснички приказни на списокот, земајќи ја предвид задачата што е земена како примерок и ја дава на Scrum Master.

Во примерот погоре, „Фото галерија со задоволни клиенти“ чини 0,5 поени на приказна, односно во сложеност е 2 пати помала од нашата референтна приказна „Регистрација на корисник“. Членовите на тимот ги даваат сите оценки анонимно; можете да ги напишете и превртите на налепници.

Кога секој ќе го даде својот рејтинг, резултатите се отвораат. Scrum Master ја олеснува дискусијата меѓу учесниците кои дале најекстремни проценки. На сликата погоре тоа се 2 и 8. Се договараат меѓу себе и почнува вториот круг на гласање.

Сите учесници мора да дојдат до заедничко мислење и бодовите се изедначуваат. Како резултат на тоа, добиваме преглед на сите кориснички приказни врз основа на релативни резултати.

Следно, земајќи ги предвид приоритетите, задачите се собираат во спринтови и започнува работата. Врз основа на резултатите од завршените спринтови, станува јасно колку точки од приказната тимот може приближно да заврши. И во процесот на анализа (ретроспектива) потоа, може да се најдат точки на раст.

Ова ни дава внатрешен метар или валута што тимот ја добива по спринт. Може да се користи за мерење на ефективноста на тимот и предвидување на идните повторувања.

Дали е можно да се користи Scrum не само во развојот?

Да и не. Пред да почнам да разбирам што значат овие 5 букви (Scrum), веќе користев некои од принципите во мојата работа. Планирањето, користењето различни алатки и градењето на вашиот таканаречен „таск спринт“ веќе се случи.

Но сепак ова не е Scrum. Scrum е методологија и систем кој ви овозможува да бидете флексибилни и постојано да ги подобрувате процесите во тимот.

Задачите треба да бидат типични. Што и да се каже, развојот е инженерска практика, односно задачата може да се доведе до одреден стандард. И ова е многу полесно да се направи отколку, да речеме, во областа на креативноста, маркетингот или менаџментот.

Некои практики од методологијата се доста применливи во други области. Работа со тимот и анализа на сработеното, да. Задачи за предвидување во временска фаза, да. Управување со задачи во практични програми, исто така, да.

Кога да се користи Scrum

Главно во мали проекти и старт-ап. Тоа е можно во големи, како што е Mail.ru, но треба да има одредена слобода на дејствување и одделни функционални тимови со сопствен сопственик на производ. Не заборавајте дека Scrum е за флексибилност и промени. Тимовите не треба да бидат поголеми од 7±2 лица, во спротивно ќе биде невозможно ефективно да се организираат комуникациите.

Нијанси

Ако одлучите да го имплементирате Scrum во вашите проекти, тогаш земете ги предвид следните нијанси:

  • Нема фокус на клиентите. Не сите клиенти ќе бидат подготвени за одредени стандарди на Scrum.
  • Системот за одговор на ризикот не се зема предвид. Тимот може да одвои дополнително време за завршување на задачите, но доколку има значителни отстапувања од планот, системот ќе престане.
  • Тимски и човечки квалитети. Бидејќи акцентот е ставен на самоорганизирачкиот тим, сите учесници мора да имаат високо ниво на одговорност и соодветна мотивација. Создавањето таков тим е многу тешка задача.
  • Scrum Master. Лицето одговорно за процесите и мотивацијата на тимот мора да ги почувствува сите учесници и врски во групата. Ова е редок специјалист кој исто така е тешко да се најде на пазарот.

Ајде да завршиме

И покрај нијансите и карактеристиките на Scrum методите, би сакал да забележам дека сè уште останува најпопуларен меѓу сите флексибилни методологии. Некои од неговите делови може да се применат во други области на бизнисот, а принципите можат да ја формираат основата на вашата сопствена развојна стратегија.

Scrum е еден од можните начини за имплементација на флексибилна (Agile) развојна методологија. За разлика од моделот водопад на животниот циклус на софтверот, карактеристичната карактеристика на Scrum е итеративноста.

Процесот на развој е поделен на посебни фази, од кои резултатот е готов производ. На крајот од секоја фаза (во терминологијата на Scrum, спринт), готовиот производ се доставува до клиентот. Повратните информации од клиентот ви овозможуваат да идентификувате потенцијални проблеми или да ревидирате некои аспекти од оригиналниот план. Така, Scrum ви овозможува најдобро да ги следите принципите на Agile развој.

Пред да започнеме со опишување на животниот циклус на проектот Scrum, вреди да се зборува за главните улоги усвоени во методологијата Scrum:

  • Сопственик на производот (Сопственик на производ)ги застапува интересите на крајниот корисник.
  • Scrum masterја следи усогласеноста со принципите на развој на Scrum, го координира процесот, спроведува дневни состаноци (Scrum Meetings).
  • Scrum тим (Scrum тим)учествува во развојот на производот. Тимот на Scrum вклучува програмери, тестери, аналитичари и други специјалисти.

Значи, да ги погледнеме главните развојни чекори специфични за Scrum.

Чекор 1: Создадете заостанат производ

Заостанатиот број на производи е список на барања за производот што се развива, подредени по важност. Ставките во оваа листа се нарекуваат Приказни за корисници. Секоја приказна има единствена идентификација. Еве пример за кориснички приказни од заостанатиот производ што се користел додека работите на XB Staff Manager:

ИДКорисничка приказна
a-001Како менаџер, сакам да додавам, бришам, уредувам задачи за да управувам со зафатеноста на вработените
a-002Како менаџер, сакам да додадам нови задачи и да го променам времетраењето, како и датумите на завршување и почеток на тековните задачи со помош на влечење и спуштање
а-003Како менаџер, сакам да доделам 2 типа задачи на вработените:
-Задача со скратено работно време
-Задача со полно работно време
да укаже на постојано/привремено вработување на вработен

Описот на секоја приказна мора да содржи збир на потребни полиња неопходни за понатамошна работа на проектот:

  • Важност. Степенот на важност на задачата според мислењето на сопственикот на производот. Опишан со произволен број.
  • Првична проценка. Прелиминарна проценка на обемот на работа. Мерено во точки на приказната.
  • Како да демо. Опис на тоа како да се демонстрира завршена задача.

Покрај овие задолжителни полиња, може да се додадат дополнителни полиња доколку е потребно:

  • Категорија (песна)служи за да му овозможи на сопственикот на производот да ги избере сите ставки од одредена категорија и да им додели низок или висок приоритет. Пример за таква категорија би бил „Контролен панел“.
  • Компонентисе состои од листа на компоненти на производот што ќе се менуваат додека се работи на приказната. Овие компоненти можат да бидат модули за апликација, како што се автентикација или пребарување.
  • Барател- клиент заинтересиран за спроведување на одредена функционалност. Ова поле е неопходно доколку треба да го информирате клиентот за тековната состојба на работите.
  • ID во системот за следење дефекти (ID за следење грешки)содржи линкови до откриени дефекти поврзани со приказна со специфичен проект.

Откако ќе се состави заостанатиот проект, можете да продолжите на следниот чекор - планирање на спринт.

Чекор 2: Планирање на Спринт и креирање на заостанатиот Спринт

Во фазата на планирање се одредува времетраењето на спринтот. Краткиот спринт ви овозможува почесто да објавувате работни верзии на производот и затоа почесто добивате повратни информации од клиентот и навремено ги идентификувате можните грешки. Од друга страна, долгите спринтови ви дозволуваат да посветите повеќе време на решавање на некој проблем. Оптималната должина на спринтот е избрана како вкрстување помеѓу овие две одлуки и обично е околу 2 недели. Во оваа фаза, важна е интеракцијата помеѓу сопственикот на производот и тимот на Scrum. Сопственикот на производот го одредува приоритетот на одредена задача, а задачата на тимот на Scrum е да го одреди потребниот напор.

За време на планирањето на спринт, тимот ги избира приказните за корисници со највисок приоритет од заостанатите производи и одлучува како ќе се решат доделените задачи. Приказните избрани за имплементација за време на овој спринт се: Спринт заостанати. Бројот на приказни вклучени во заостанатиот спринт зависи од нивното времетраење во точките на приказната доделени на секоја приказна во фазата на прелиминарна проценка. Овој број е избран така што секоја приказна успешно се спроведува до крајот на спринтот.

Чекор 3. Работете на спринтот. Scrum состаноци

Откако ќе се идентификуваат корисничките приказни релевантни за спринтот, процесот започнува.

Удобно е да се користат индексни картички за да се визуелизира процесот на развој. Овие можат да бидат во форма на големи картички со име на одредена приказна и мали лепливи белешки кои ги опишуваат поединечните задачи потребни за спроведување на приказната. Откако ќе започнете да работите на одредена задача, нејзината налепница се преместува од полето „Планирано“ во областа „Во тек“. По завршувањето на работата на задачата, налепницата се префрла во полето „Тестирање“, а потоа, доколку тестирањето е успешно, во полето „Готово“. Со рангирање на приказните според нивната важност, можете да добиете идеја за моменталната состојба на проектот:

Може да се користи и софтвер дизајниран за овој тип на задачи. Пример за таков софтвер е, на пример, Atlassian JIRA.

Важна карактеристика на Scrum е дневни состаноци (состаноци на Scrum), чија цел е да му даде на тимот целосни и веродостојни информации за тоа во која фаза е развојот на процесот. За време на состанокот, секој член на тимот на Scrum известува која задача ја завршил, каква задача ќе изврши и со какви потешкотии наишол додека работел.

Резултатот од секој состанок е исто така дијаграм на согорување. Оската X ги прикажува деновите на работа на спринтот, а оската Y го прикажува вкупниот број на точки на приказна за овој спринт. Откако ќе завршите задача која бараше одреден број точки на приказна за да се реши, можете на дијаграмот да ја означите точката во која моментално се наоѓа проектот. Пример за таков дијаграм изграден во JIRA е даден подолу:

Тоа ви овозможува да го оцените темпото на работата на тимот и да одлучите дали да го зголемите или намалите бројот на приказни во следниот спринт.Дневните состаноци помагаат да се зголеми флексибилноста на процесот на развој и да се обезбеди увид во неопходните прилагодувања што треба да се направат во текот на фазата на дизајнирање на следните спринтови.

Чекор 4. Тестирање и демонстрација на производот

Бидејќи секој спринт идеално испорачува производ подготвен за производство, тестирањето е важен дел од Scrum. Постојат различни начини за минимизирање на трошоците во оваа фаза: од намалување на бројот на приказни во спринтот и, како резултат на тоа, намалување на бројот на грешки до вклучување тестери во тимот на Scrum.

Финалето на секој спринт е демонстрација на готовиот производ. Тимот на Scrum пишува преглед кој ги опишува спринтерските цели, доделените задачи и како тие биле решени. Сопственикот на производот, клиентите и корисниците, врз основа на прегледи и демонстрации, одлучуваат што треба да се промени во понатамошниот развој на процесот.

Чекор 5. Ретроспектива. Планирање на следниот спринт

Врз основа на добиените повратни информации за производот по демонстрацијата, се спроведува ретроспектива. Неговата главна цел е да утврди како процесот на развој може да се подобри во следниот спринт за да се избегнат проблеми и да се работи поефикасно. Откако ќе се идентификуваат начините за подобрување на квалитетот на работата, тимот може да започне со планирање на следниот спринт.

Заклучок

Карактеристиките на Scrum се флексибилност и фокус на континуиран развој и промени. Ова во голема мера се постигнува преку континуирана комуникација и интеракција. За време на фазата на планирање на Спринт, Сопственикот на производот комуницира со тимот на Scrum за да одреди на кои задачи може да се разложат корисничките приказни и како тие да се имплементираат. За време на секојдневните состаноци, членовите на тимот на Scrum разговараат за спроведувањето на секоја поединечна задача и ги идентификуваат можните начини за решавање на проблемите што се појавиле. На крајот од спринтот, готовиот производ му се презентира на купувачот, кој може да ја оцени моменталната функционалност и да забележи што би сакал да промени. Оваа карактеристична карактеристика на Scrum може да биде корисна доколку, со текот на времето, се промени визијата на клиентот за тоа како треба да изгледа производот. Конечно, сите информации добиени од овие фази се земаат предвид во сите наредни спринтови, што помага да се оптимизира развојот на процесот на најдобар можен начин.

Следните две јазичиња ја менуваат содржината подолу.

Што е Scrum. Суштината на техниката

Оние кои се вклучени во управување со проекти, или едноставно управување, добро знаат колку е тешко да се организира добро координирана тимска работа.Поради недостаток на кохерентност, плановите постојано се прекршуваат, распоредите заостануваат, буџетот на проектот е надуен, парите и времето се провлекуваат низ прсти, задачите на различни оддели се дуплираат, луѓето се расправаат и не си помагаат едни со други, иако се чини дека нивните напори се насочени кон постигнување на истата цел. Покрај тоа, клиентите често се незадоволни од финалната верзија на креираниот производ.

Методологијата Scrum, развиена од Џеф Сатерленд и Кен Швабер, е дизајнирана да ги реши сите овие проблеми. Scrum— Ова е спротивно на класичниот чекор-по-чекор пристап при реализација на проектот. Методологијата Scrum е усвоена од многу компании, како од технолошките индустрии од каде што доаѓа, така и од традиционалните, па дури и од непрофитните. Пристапот во основата на методологијата Scrum може да се примени на различни активности кои бараат тимска работа.

Важни карактеристики на Scrum се неговата флексибилност и фокусирање на клиентите, бидејќи го претпоставува неговото директно учество (на клиентот) во работниот процес.

Scrum не бара имплементацијабило кој скапи алатки. Методологијата Scrum може накратко да се опише на следниов начин:

1. Прво треба да изберете« Сопственик на производот» — личност со визија за она што ќе го создадете или постигнете.

2. Потоа треба да соберете"Тим" , кој ќе вклучува луѓе кои директно ја вршат работата. Тие мора да имаат вештини и знаења за да помогнат да се оживее визијата на сопственикот на производот.

3. Треба да изберете „Scrum Master“ - некој кој ќе го следи напредокот на проектот, ќе ги олесни кратките состаноци и ќе му помогне на тимот да ги отстрани пречките за постигнување на целта.

4. Кога започнувате со работа, треба да креирате најкомплетна листа на сите барања за производот или целта. Предметите на оваа листа треба да бидат приоритетни. Списокот се вика„Заостанати производи“ . Може да се развива и менува во текот на целиот животен век на проектот.

5. Членовите на тимот мора да ја оценат секоја ставка користејќи сопствен систем за бодување за тежината и трошоците што ќе бидат потребни за да се заврши.

6. Потоа учесниците Scrum Master а сопственикот на производот мора да го спроведе првиотскрам состанок , каде што ќе го планираат спринтотодредено време за завршување на дел од задачите. Времетраењето на спринтот не треба да надминува еден месец. За секој спринт, тимот заработува одреден број на поени. Тимот треба постојано да се стреми да го надмине бројот на акумулирани поени за претходниот спринт во новиот спринт, односно неговата целпостојано ги надминувате вашите сопствени резултати— « зголемување на динамиката на продуктивноста» .

7. За да можат сите учесници да бидат свесни за состојбата на работите, треба да креиратетабла за скрам со три колони:« Треба да се направи, или заостанати"; "Во тек"; "Направено" . Учесниците ставаат налепници со задачи на таблата, кои се поместуваат една по една од колоната додека работат.„Заостанати“ во колоната „во тек“, а потоа во колоната „готово“.

8. Се спроведува секојдневноскрам состанок . Според Џеф Сатерленд« ова е пулсот на целиот процес на Scrum» . Нејзината суштина е едноставнаСекој ден, во движење, по петнаесет минути секој да одговори на три прашања:« » , « » , « » .

9. На крајот од спринтот, тимот го прегледуваодржува состанок на кој учесниците зборуваат за сработеното за време на спринтот.

10. Откако ќе ги покажат резултатите од спринтот, учесниците одржуваат ретроспективен состанок на кој разговараат за тоа што тимот направил добро, што може да се направи подобро и што може да се подобри во моментов.

Недостатоци на традиционалниот пристап за управување со проекти

Како што забележува авторот на книгата, Џеф Сатерленд, традиционалниот пристап кон спроведувањето на проектот во форма на модел на водопад, кој вклучува чекор по чекор напредок кон целта, има многу недостатоци. Целиот процес е многу бавен, често се појавуваат непредвидливи тешкотии и, згора на тоа, често се случува изведувачот да создаде производ што воопшто не го задоволува купувачот.

Моделот на водопад вклучува употреба на Гант графикони— распореди кои укажуваат на фазите на работа и времето за нивно завршување. Детално е мапиран напредокот на проектот и се отсликува секој чекор од работата. Се претпоставува дека секоја фаза од проектот секвенцијално преминува во следната,Ова е каскаден принцип.

Зошто? Како што забележува Џеф Сатерленд, Хенри Гант измислил такви табели уште во 1910 година. Тие станаа широко распространети во Првата светска војна. Сепак,« Секој кој ја проучувал историјата на оваа војна знае дека ниту обуката на работната сила ниту системот на организација никогаш не биле нејзини силни страни. Не можам да разберам зошто концептот на Првата светска војнастанува де фактоаналитички дизајн алатка и се користи дури и во 21 век. Ги напуштивме принципите на рововска војна, нонекако неговиот „ров“ организациските идеи остануваат популарни до ден-денес» .

Во современи услови, оваа шема е несоодветна и е слична на моделот на Политбирото на ЦК на КПСС, кое"веруваше" извештаи што ги добил во предвечерието на распадот на Советскиот Сојуз и кои немале многу врска со вистинската состојба на работите.

Scrum филозофија

Методологијата Scrum ја одразува страста на авторот за јапонските боречки вештини. Според него, во Јапонија« Scrum не се третира како мода. Јапонците го сметаат Скрам како пристап кон решавање на проблемите, како начин на дејствување, како начин на постоење воопшто, како начин на живот. Кога ги учам луѓето на оваа техника, често зборувам за моето долгогодишно искуство во јапонската боречка вештина Аикидо. » .

Заедничко за Аикидото и Скрам е тоа што тие можат да се совладаат само во процесот на работа, кога« вашето тело, вашиот ум и вашиот дух се здружуваат како едно преку постојано вежбање и стремеж кон извонредност. Со вежбање Аикидо, го разбираме концептот на шухари (Шу Ха Ри) тоа е и концепт за боречки вештини и показател за нивото на вештина » .

Суштината на тимската работа во Scrum

Scrum - Ова е, пред сè, тимска работа. Авторот идентификува три карактеристики на најдобрите тимови:

    бескрајната потрага по совршеност;

  • автономија - способност за самоорганизирање;
  • мултифункционалност. Присуство на различни специјалисти и култура на интеракција и взаемна помош.

Каква големина треба да биде тимот? Џеф Сатерленд препорачува мали групи— околу седум лица. Тој наведува податоци дека ако една група се состои од повеќе од девет луѓе, тогаш брзината на нејзината работа паѓа.

Покрај тоа, авторот потсетува на „Бруксовиот закон“:

« Ако проектот не е навреме, додавањето повеќе работна сила ќе го одложи уште повеќе. » .

Шефот на тимот- ова е Scrum Master . Неговата должностодржувајте ги состаноците кратки и отворени, помогнете ѝ на групата да се движи низ препреките што се попречуваат во работата, водете го тимот по патот на континуирано подобрување« и редовно барајте го одговорот на прашањето« Како можеме да го направиме уште подобро она што веќе го правиме добро?» .

Без мултитаскинг

Авторот предупредува на мултитаскинг— всушност, нема, нашиот мозок не може да изврши две дејства во исто време, едноставно се префрла помеѓу задачите, а вкупното време за завршување на секоја од нив се зголемува во споредба со ако ги извршувавме наизменично. Методологијата Scrum претпоставува дека треба да ги извршувате сите задачи една по една, а не« управуваат со пет проекти истовремено» .

« Користејќи го традиционалниот метод на обид да се направи сè одеднаш, групата ќе ги заврши своите три проекти пред крајот на јули. Ако тимот пристапи кон тоа со агилна стратегија како Scrum и работи на секој проект еден по еден, минимизирајќи го времето и напорот вклучени во менувањето контекст, тоа би можело да се направи до почетокот на мај. » .

Суштината на работата е проток

Scrum ви помага да стигнете до"тек" - состојба на најголема концентрација кога го правите она што треба да го правите без да трошите напор на тоа, без да се присилувате или да се туркате. Авторот верува дека главната работа за успешна работапостигнување и управување со оваа состојба.« Во вашата работа треба да ја постигнете главната работаконтрола на протокот без напор. Во боречките вештини или практиките за медитација, постигнуваме чувство на единство во движењето кое не бара напор,тоа е енергија што тече низ нас непречено. Кога гледате одлични танчери или пејачи, чувствувате како тие се потчинуваат на оваа енергија. Мора да се стремиме да постигнеме таква состојба во нашата работа.» .

Како да се постигне тоа? Зад состојбата на проток е внатрешната дисциплина,

« Ниту едно движење не треба да се троши » .

Скрум и среќа

Луѓето сакаат да бидат среќни. Но Џеф Сатерленд е сигурен во таа среќа— Ова не е неактивна вегетација, туку светол, богат и активен живот. Scrum придонесува за среќен живот бидејќи ви помага да работите и да дејствувате продуктивно.

На крајот од секој спринт, учесниците одржуваат ретроспективен состанок каде што зборуваат за својата работа и ги преместуваат разгледаните задачи во колона"Направено" , а потоа разговарајте што е добро и што може да се подобри. Тие ја наоѓаат главната пречка и смислуваат како да ја поправат во следниот спринт. Ова е решение за проблемот на постојано подобрување.

Елементи на Scrum



Спринтови

Како што е наведено погоре, на почетокот на спринтот и за да се обезбеди отвореност и видливост, треба да креирате посебна табла и да ја поделите на три колони:"Заостанати"; "Во тек"; "Направено" . Пред секој спринт, членовите на тимот се држат во колона„Заостанати“ лепливи белешки со задачи за кои мислат дека можат да ги завршат во спринт. За време на спринтот, секој член на тимот, откако ќе преземе задача, повторно ја залепува налепницата од делот„Заостанати“ во колоната „Во тек“. . По завршувањето на задачата- во колоната „Готово“. . На овој начин секој може да види на што работат другите учесници во моментов.

Сепак, постои важна забелешка— « ништо не се пренесува во колоната"Направено" додека овој дел од проектот не биде тестиран од клиентот» .

« Друг важен аспект на спринтот: штом тимот ќе ја одобри листата на барања, задачите од оваа листа се блокирани. Никој нема право да ги менува или дополнува » . Авторот го препорачува овапоради дека секое мешање ќе ја забави работата на тимот.

Дневни состаноци

Поентата е дека тие треба да се држат стојат, секој ден, во исто време, нивното времетраење да не надминува петнаесет минути, а учесниците да ги постават истите три прашања:« Што направивте вчера за да му помогнете на тимот да го заврши спринтот?» , « Што ќе направите денес за да му помогнете на тимот да го заврши спринтот?» , « Кои пречки стојат на патот на тимот?» .

Направете го тоа до крај

Во Scrum, важно е да научите да го чувствувате ритамот на тимот. Најлошо сценарио— кога на крајот од спринтотнешто останува половично. Подобро е тогаш воопшто да не го започнувате овој бизнис.

« Потрошени се ресурси, труд, време, пари, но не е добиен целосно функционален производ » .

Планирање во Scrum

Како функционира процесот на планирање во Scrum? Прво треба да направите листа на сите работи кои влијаат на вашата цел. После тоа, дадете им приоритет. Доколку не ги исполнувате временските и финансиските ограничувања, тогаш можете полесно да ги елиминирате последните ставки на списокот.

Што да се прави следно? Секоја ставка од списокот треба да се процени за тоа колку напор, време и други ресурси ќе бидат потребни за да се заврши. Како да се направи проценка? Авторот предлага скала на релативни оценки. На пример, можете да споредувате задачи„во кучињата“. Овој проблем - дакел или ретривер? Или можеби Велики Данец?

Но, во секој случај, попогодно е да се постават нумерички вредности. На пример,« Дакелединица; Велики Данецтринаесет; лабрадорот стана петка, а булдогот три» .

Авторот исто така предлага користење на интересна техника за планирање покер. Нејзината суштина— Секој учесник во процесот на планирање добива шпил карти со броеви на Фибоначи1, 2, 3, 5, 8, 13 и така натаму. Секоја ставка од списокот, единица на работа што мора да се оцени, е поставена на табелата.

Барањата се приказни

Со цел успешно и јасно да се формулира список на барања за производи и да се создаде заостанат заостаток за секого, Scrum користи извонреден пристап. Наместо едноставна листа на задачи, се составуваат кориснички приказни— кратки приказни кои содржат желби на корисникот за финалниот производ.

« Замислете дека се измислувате Барање на корисникот на Amazon.com . Пробната верзија изгледа вака: Како потрошувач, ја сакам најголемата книжарница во светот каде што можам да купам која било книга во секое време .Овој опис добро се вклопува во ликот на Амазон, но приказната е премногу нејасна за да биде корисна. нештонаправи. Треба да ја фрагментираме нашата историја. Направете го навистина многу специфичен и функционален. Еве неколку примероци од кориснички приказни што можете да ги напишете имајќи ја на ум книгата. онлајн продавница :Како потрошувач, сакам да барам книги по жанр за брзо да ги најдам оние што сакам да ги читам. Како потрошувач, кога избирам книги за купување, сакам да ги ставам секоја во мојата кошничка одеднаш. Како менаџер за производи , Сакам да можам да ги следам купувањата на нашите клиенти, да бидам свесен за тоа кои книги може да им се понудат. Еве професионално направени барања на корисници, чија природа групата треба да ја земе предвид » .

Приказната за корисникот мора да биде целосна, независна од различни околности и применлива во пракса. Овие критериуми укажуваат на подготвеноста на приказната. Исто така, важно е приказната да се процени за нејзината изводливост.

Како да планирате спринт

Во Scrum, процесот на планирање се јавува на почетокот на секој нов спринт и се нарекува— « спринт планирање» . « Сите се собираат, ја гледаат листата на кориснички приказни кои се веќе во редот за извршување; дознајте колку задачи може да преземе секој член на групата; внимателно размислете дали ќе можат да ги доведат избраните задачи до целосна подготвеност за време на овој спринт; дали ќе можат да му покажат завршени единици на работа на клиентот и да му ги покажат завршените функции на производот; Ќе можат ли на крајот од спринтот да си кажат дека успеале се? » .

По ова, тимот едногласно вели:" Напред! "- и се фаќа за работа

Но, што е работа? Рутина, обврска? Од гледна точка на Scrum, работа— ова е историја. Што значи тоа? Ова значи дека треба да претставите некој на кој му треба она што го правите; тогаш што е тоа, и конечно, зошто им е потребно на луѓето.

Тимовите треба добро да ја запознаат нивната динамика— колку работа може да заврши во еден спринт. Ова ќе и помогне да работи попаметно и да ги елиминира сите пречки на нејзиниот пат.

« Динамика x време = резултат. Знаејќи колку брзо одите ќе ви помогне да знаете кога ќе стигнете до целта » .

Отвореност во сè

Scrum претпоставува транспарентност на сите дејства и процеси.

Ова е изразено во табла со три колони до која имаат пристап сите членови на тимот.

« ТајностЈас. Ништо не може да се чува во тајност. Секој треба да знае сè, вклучувајќи ги и финансиските податоци. Замаглувањето е неопходно само за оние кои бараат сопствена корист. » .

Сопственик на производот

Scrum презема три улоги: Scrum тим - реализатори на конкретни проекти; Scrum Master - ова е оној кој го следи напредокот на проектот и му помага на тимот да ги реши проблемите и на сопственикот на производоттој што ги решава прашањата за концептот на производот и го составува заостанатиот дел.

« Scrum Masterа тимот е одговорен за темпото на нивната работа и колку брзо го завршуваат проектот. Сопственикот на производот е одговорен да обезбеди ефективната тимска работа да се претвори во профитабилни резултати. » . Сопственикот на производот треба да има интимно познавање на пазарот и мора да има овластување да донесува одлуки.

Ова може да биде преголема одговорност за едно лице, така што големите проекти може да вклучуваат тим од сопственици на производи.

Минимизирање на ризиците во Scrum

Бидејќи Scrum обезбедува испорака на проекти чекор-по-чекор, ова помага да се минимизираат ризиците. Ова помага брзо да се покаже производот на клиентот и да се добијат повратни информации од него.

« Методологијата Scrum е корисна за бизнисот бидејќи брзо одговара на прашањето: дали можеме да заработиме ако го правиме ова или она?

Не треба да потрошите многу пари пред да сфатитенешто не функционира.

Овој водич ќе им помогне на развивачите на софтвер и тестерите да ја разберат и да започнат со методологијата Agile SCRUM.

Научете ги основните, но важни термини што се користат во процесот Agile Scrum, заедно со реалниот пример за целосниот процес.

SCRUM е агилен процес кој е комбинација од итеративни и инкрементални модели.

Еден од главните недостатоци на традиционалниот модел на водопад е тоа што додека не се заврши првата фаза, апликацијата не преминува во друга фаза. Ако се случи да има некои промени во подоцнежна фаза од циклусот, тогаш ќе биде многу тешко да се извршат овие промени, бидејќи тоа ќе бара ревидирање на претходните фази и повторно извршување на промените.

Некои од клучните карактеристики на SCRUM се:

  • Организиран и наменски тим
  • Нема барања за документи, доволно е да имате точни текстови до точка.
  • Функционалниот тим работи како единствена единица.
  • Блиска врска со корисникот, помагајќи да се разберат карактеристиките.
  • Има прецизна временска оска од максимум 1 месец.
  • Наместо да прави сè одеднаш, Scrum прави малку од сè во одреден временски период.
  • Пред да се преземе било каква акција, се земаат предвид карактеристиките и достапноста на ресурсите.

За добро да се разбере оваа методологија, важно е да се разберат клучните термини на SCRUM.

Важни услови за SCRUM:

1. Scrum тим

Тимот на Scrum е тим од 7 +/- 2 члена. Членовите на тимот се мешавина од компетентни програмери, тестери, луѓе со бази на податоци, оператори за поддршка итн., како и сопственик на производ и скрум мајстор. Сите овие луѓе тесно соработуваат во даден рекурзивен период за да ги развијат и извршат наведените функции.

2. Спринт

Спринт е стандарден временски период во кој работата мора да биде завршена и подготвена за преглед или издавање на производот. Обично овој период трае од две недели до еден месец. Кога велиме дека правиме 1 спринт за еден месец, тоа значи дека работиме еден месец на задачи и ги подготвуваме за преглед до крајот на тој месец.

3. Сопственик на производ

Сопственикот на производот е главното лице за продажба или водечки корисник на апликацијата што се развива.

Сопственикот на производот е лицето кое ја застапува страната на клиентите. Тој/таа го има конечниот авторитет и мора секогаш да му биде на располагање на тимот. Тој/таа мора да биде достапен кога некому му треба нешто објаснето. Важно е сопственикот на производот да разбере и да не поставува нови барања во средината на спринтот или кога веќе започнал.

4. Scrum master

Scrum Master е координатор на Scrum тимот. Тој/таа осигурува дека тимот на scrum е продуктивен и прогресивен. Во случај на какво било мешање, Scrum Master го наоѓа и решава за тимот.

5. Корисничка приказна

Корисничките приказни се барања или функции што мора да се завршат. Во scrum ги немаме овие документи со големи барања, напротив, барањата се наведени во еден параграф, обично во овој формат:

Како<тип пользователя>

сакам<доступная цель>

за достигнување<результат/причина>

На пример:

Како администратор, сакам да можам да заклучам лозинка за да го ограничам неовластениот пристап во случај корисникот да внесе погрешна лозинка 3 пати по ред.

Постојат некои карактеристики на корисничките приказни до кои мора да се придржувате. Приказните за корисниците треба да бидат концизни, реални, можеби евалуативни, целосни, преговарачки и проверливи.

Секоја корисничка приказна има критериум за прифаќање кој мора да биде јасно дефиниран и разбран од тимот. Критериумите за прифаќање детално ги опишуваат корисничките приказни и обезбедуваат поддржани документи. Ова им овозможува на корисничките приказни да бидат детални. Секој член на тимот може да ги запише критериумите за прифаќање. Тимот за верификација ги заснова своите тест случаи/услови на овие критериуми.

6. „Епови“

Епите се нејасни кориснички приказни. Или, можеме да кажеме дека тоа се кориснички приказни кои не се дефинирани и се складирани за идни спринтови. Само обидете се да го поврзете ова со животот, замислете дека одите на одмор. Откако ќе заминете следната недела, имате сè испланирано: хотелски резервации, разгледување, спакувана патна торба итн. Но, што е со вашиот одмор следната година? Имате само нејасна идеја дека можете да одите до местото XYZ, но немате детален план.

„Еп“ е како вашиот одмор следната година: знаете дека можете да одите, но каде, кога и со кого - сè уште нема размислувања за ова прашање.

Исто така, постојат карактеристики кои треба да се имплементираат во иднина, но нивните детали сè уште не се познати. Вообичаено, можностите започнуваат со „еп“ и потоа се расчленуваат на приказни што можат да се реализираат.

7. Дневник на желби за производи

Дневникот на желби за производи е еден вид сегмент или извор каде што се складирани сите кориснички приказни. Го одржува сопственикот на производот. Дневникот на желби на производот може да се смета како листа на желби од сопственикот на производот, кој му дава приоритет според деловните потреби. За време на планирањето (видете го следниот дел), една од корисничките приказни е земена од заостанатиот дел, тимот почнува да размислува, концептуализира, рафинира и колективно одлучува (со влез од сопственикот на производот) која приказна од корисникот да ја прифати.

8. Спринт листа на желби

Една корисничка приказна се зема во исто време од дневникот за желби на производот. Тимот на Scrum размислува, ја одредува изводливоста и одлучува на која приказна да работи за време на даден спринт. Целокупната листа на сите кориснички приказни на кои работи тимот на Scrum за време на даден спринт се нарекува заостанат спринт.

9. Поени за корисничка приказна:

Овие точки се нумерички приказ на сложеноста на приказната за корисникот. Врз основа на овие резултати, се одредуваат оценките и обемот на работа на една приказна. Поените не се апсолутни, тие се релативни. За да се осигураме дека нашите напори и проценки се точни, треба да провериме дали приказните за корисници се големи. Колку е помала и појасна приказната на корисникот, толку попрецизна ќе биде проценката.

На секоја корисничка приказна и е доделен резултат на Фибоначи (1, 2, 3, 5, 8, 13, 21). Колку е поголем бројот, толку е посложена приказната.

Да бидам попрецизен, тогаш

  • Ако се обложите 1 / 2 / 3 поени, тоа значи дека приказната е кратка и има мала тежина.
  • Ако дадете 5/8 поени тогаш тоа е со средна тежина и
  • 13 и 21 поени – приказната е многу комплицирана.

Тешкотијата тука лежи во развојот и обемот на работата за тестирање

За да одлучи колку поени да даде, тимот на Scrum започнува со бреинсторминг и колективно одлучува. Може да се случи развојниот тим на одредена приказна да даде 3 поени, бидејќи за нив тоа може да биде 3 линии код за замена, но тимот за тестирање ќе даде 8 поени затоа што сметаат дека оваа замена на кодот ќе има повеќе влијание врз модулите, така што обемот на работа ќе има повеќе за време на тестирањето. Но, без разлика колку поени ќе дадете, мора да ја оправдате вашата одлука. Така, се случува сесија за бура на идеи и тимот одлучува колку поени да стави.

Секогаш кога ќе одлучите колку поени да обложите, земете ги предвид следните фактори:

  • Поврзаност на историјата со други апликации/модули,
  • Комплет вештини за ресурси
  • Комплексноста на историјата
  • Наративно учење,
  • Критериуми за прифаќање на приказната од корисникот

Ако не сте свесни за одредена приказна, не менувајте ја нејзината големина.
Ако видите дека оценката на приказната е многу висока, разделете ја на помали приказни.

10. Табела за согорување на задачите

Табелата за согорување на задачите прикажува график кој ги прикажува проценетите v/s на вистинскиот напор на задачите на скрум.

Ова е механизам за следење за одреден спринт. Секојдневните задачи се следат за да се провери дали приказните напредуваат кон завршување или не.

Пример: За да го разберете ова, погледнете ја сликата:

Јас бирам:

  • Двонеделен спринт (10 дена)
  • 2 ресурси за вистинската работа на спринтот.

„Историја“ ->колоната ги прикажува корисничките приказни земени за спринтот. „Задача“ ->колоната прикажува листа на задачи поврзани со кориснички приказни.

„Опсег на работа“ ->колоната го прикажува обемот на работа. Оваа мерка сега е вкупниот обем на работа за да се заврши задачата. Не го отсликува обемот на работа на која било одредена личност.

„Ден 1 – Ден 10“->– колона(и) го прикажува времето преостанато до крајот на приказната. Ве молиме имајте предвид дека ова НЕ е време што веќе поминало, ТУКО време што сè уште останува.

„Проценета количина на работа“ ->показател за вкупниот обем на работа. За „Start“ ова е едноставно збир на целата задача: SUM (C5:C15)

Вкупниот износ на работа што треба да се заврши за 1 ден е 70 / 10 = 7. Така, на крајот од првиот ден, количината на работа треба да се намали на 70-7 = 63. Слично, ова се пресметува за сите денови до 10-ти, кога проценетиот износ на работа мора да биде нула (линија 16)

„Преостаната количина на работа“ ->Како што сугерира името, ова е количината на работа што останува пред да се заврши приказната. Исто така, може да се случи вистинската количина на работа да стане повеќе или помалку од очекуваното.

Можете да користите функции и графикони во Excel за да ја креирате оваа табела за согорување на задачите.

Фази на графиконот за согорување на задачи:

  1. Внесете ги сите приказни (колона А5 – А15)
  2. Внесете ги сите задачи (колона B5-B15)
  3. Внесете денови (ден 1 – ден 10)
  4. Внесете ја почетната количина на работа (сумирајте задачи C5-C15)
  5. Применете ја формулата за да го пресметате „проценетиот износ на работа“ за секој ден (од 1 до 10 ден). Внесете ја формулата во D15 (c16-$C$ 16/10) и повлечете ја на сите денови.
  6. За секој ден, внесете ја вистинската количина на работа. Внесете формула во D17 (SUM (D5:D15)) за да го сумирате преостанатиот дел од работата и да го одвлечете на сите други денови.
  7. Изберете го ова и креирајте табела вака:

11. Брзина на тимот

Вкупниот број на поени што ги складира тимот на скрам во спринтот се нарекува тимска брзина. Тимот на Scrum се оценува според неговата брзина. Мора да се каже дека треба да се има на ум дека постигнувањето на максимален број поени НЕ е целта овде, но добрите квалитетни резултати го зголемуваат нивото на удобност на тимот на scrum.

На пример: За одреден спринт: вкупниот број на кориснички приказни е 8. Секоја од нив има одреден број поени

Така, брзината е збир на точки = 30

12. Дефиниција за „подготвени“:

Историјата се прави во Scrum само кога има развој, целосна гаранција за квалитет и можност да се влезе во производство.

Активности во SCRUM:

# 1: Состанок за планирање

Состанокот за планирање е почетна точка на SCRUM. Ова е состанок на кој се собира целиот тим на Scrum. Сопственикот на производот избира кориснички приказни од заостанатите производи врз основа на приоритетот и тимот започнува со бура на идеи. За време на дискусијата, тимот на Scrum ја одредува сложеноста на приказната и ја мери според серијата Фибоначи. Тимот ги дефинира задачите, како и обемот на работа (во часови) што може да се направи за да се заврши имплементацијата на приказната за корисникот.

„Претходно планирање на состанокот“ му претходи на состанокот. Ова е како домашната задача што ја прави тимот на Scrum пред да се состане за формален состанок за планирање. Тимот се обидува да ги запише зависностите или другите фактори за кои би сакале да разговараат на состанокот.

#2: Завршување на целите на Спринт

Како што сугерира името, задача на тимот на Scrum е да ја заврши својата задача и да ја премести корисничката приказна во статусот „готово“.

# 3: Дневен состанок на Scrum (повик)

За време на спринт циклусот, секој ден тимот на скрам се состанува не повеќе од 15 минути (ова може да биде повик, кој се препорачува на почетокот на денот). На состанокот се поставени три прашања:

  1. Што направил членот на тимот од последниот состанок?
  2. Што планира да направи членот на тимот денес?
  3. Има ли пречки за тимот?

Scrum Master работи на решавање на овие проблеми. Ако некој учесник наиде на какви било тешкотии, Scrum master помага да се решат.

# 4: Преглед на резултатите

На крајот од секој спринтерски циклус, тимот на SCRUM повторно се состанува и ја демонстрира имплементацијата на корисничките приказни на сопственикот на производот. Сопственикот на производот може да ги собере приказните според нивните критериуми за прифаќање. Повторно е одговорност на Scrum Master да претседава со овој состанок.

#5: Ретроспективен состанок

По разгледувањето на резултатите се одржува ретроспективен состанок. Тимот на SCRUM ги собира, дискутира и документира следните точки:

  1. Што помина добро во претходниот спринт (најдобра практика)
  2. Она што не беше направено многу добро
  3. Научени лекции
  4. Акциони елементи.

Тимот на Scrum мора да продолжи да ги следи најдобрите практики, да ги игнорира „лошите практики“ и да ги спроведува научените лекции во следните спринтови. Ретроспективен состанок помага постојано да се подобрува процесот на SCRUM.

Како се изведува процесот? Пример!

Откако прочитав за техничките жаргони на SCRUM, дозволете ми да се обидам да го покажам целиот процес со пример.

Чекор 1: Да замислиме SCRUM тим од 9 луѓе, составен од 1 сопственик, 1 Scrum master, 2 тестери, 4 програмери и 1 администратор на база на податоци.

Чекор #2: Спринт циклус, на пример, ќе трае 4 недели. Значи, имаме 1-месечен спринт: од 5 јуни до 4 јули.

Чекор #3: Сопственикот на производот има приоритетна листа на кориснички приказни во Заостанатиот производ.

  • Сопственикот на производот зема 1 приказна од списокот со желби на производот, ја опишува и ја пренесува на тимот за бура на идеи.
  • Целиот тим дискутира и оди директно кај сопственикот на производот за детално да ја објасни приказната за корисникот.
  • На ист начин се прифаќаат и други кориснички приказни. Ако е можно, тимот може да продолжи и исто така да ги мери приказните.

По дискусијата, членовите на тимот се враќаат на своите работни места и

  • Тие ги дефинираат своите индивидуални задачи за секоја приказна.
  • Пресметајте го точното време што ќе им треба за да работат. Како учесникот го пресметува ова време? Ајде да провериме:

Вкупно работни часови = 9

Минус 1 час за пауза, минус 1 час за состаноци, минус 1 час за е-пошта, дискусии, решавање проблеми итн.
Значи реално работно време = 6

Вкупен број на работни денови во текот на спринтот = 21 ден.
Вкупно достапни часови = 21 * 6 = 126

Членот е на одмор 2 дена = 12 часа (ова варира за секој член, некои можат да земат одмор, некои не.)
Број на вистински часови = 126-12 = 114 часа.

Ова значи дека учесникот вообичаено ќе биде достапен 114 часа за време на овој спринт. Затоа, тој ќе ја подели својата индивидуална спринтерска задача на тој начин што ќе ја постигне за 114 часа.

  • Конечното мислење за корисничката приказна од заостанатиот производ е завршено и приказната се преместува во заостанатиот спринт.
  • За секоја приказна, секој член на тимот ги објавува своите специфични задачи. Ако сакате да разговарате за овие проблеми, можете да ги измерите или промените големината (размислете серијата Фибоначи!).
  • Scrum Master или тимот ги внесува нивните индивидуални задачи и нивниот тајминг за секоја приказна во програмата.
  • Откако ќе се завршат сите приказни, Scrum Master ја означува почетната брзина и Sprint официјално започнува.

Чекор #6: Откако ќе започне спринтот, секој член на тимот почнува да работи на зададените задачи.

Чекор #7: Тимот се состанува секојдневно по 15 минути и дискутира за 3 прашања:

  • Што направија вчера?
  • Што планираат да направат денес?
  • Дали има некакви пречки?

Чекор #8: Scrum Master секојдневно го следи напредокот со помош на графикон за изгореници

Чекор #9: Во случај на какво било мешање, Scrum Master го решава тоа.

Чекор #10: На 4-ти јули тимот повторно се состанува за да ги разгледа резултатите. Секој член на тимот ја демонстрира имплементираната корисничка приказна на сопственикот на производот.

Чекор #11: На 5-ти јули тимот повторно се среќава на ретроспективен состанок каде што разговараат

  • Што помина добро?
  • Што не помина добро
  • Акциони елементи.

Чекор #12: На 6-ти јули тимот повторно се среќава за следниот спринтерски предплански состанок и циклусот продолжува.

(Кликнете за да ја зголемите сликата)

Програми што може да се користат за активности на SCRUM:

Постојат многу алатки кои можат широко да се користат за следење на активностите на скрум. Еве некои од нив:

  • XPlanner
  • Version One
  • Спринтометар
  • ScrumNinja

Заклучок:

На почетокот, луѓето може да се соочат со некои тешкотии обидувајќи се да ја совладаат оваа техника, но со пракса, ќе видите дека SCRUM прави чуда. SCRUM ги фокусира ресурсите за да можете да видите како вашата апликација се развива.

Многу привремени организации го охрабруваат тимот (како задача скрум) да посвети неколку часа на самостојно учење и развој. Исто така, за време на прегледот, членовите на групата покажуваат што научиле и понекогаш ги презентираат програмите или апликациите што ги развиле. Лично, го ценам овој метод бидејќи им дава шанса на луѓето да го прошират своето знаење, како и да ги покажат своите вештини.

Продолжувам да работам на мојата дисертација за управување со проекти. Денеска брзо ќе го разгледаме Scrum, разгледувајќи ги вообичаените грешки кои водат до проблеми. Овој пост не се преправа дека е комплетен, тој е преглед и е упатен до оние кои сè уште не се запознаени со Scrum, или се само делумно запознаени (на пример, тие работат во модифициран Scrum).

Во моментов, Scrum е една од најпопуларните методологии за развој на софтвер. По дефиниција, Scrum е развојна рамка која им овозможува на луѓето да ги решат новите проблеми додека се продуктивни и произведуваат производи од најголема вредност.

Ова сугерира дека во Scrum е невозможно да се најдат одговори на сите прашања и упатства за дејствување во сите ситуации (на пример, официјалниот опис на Scrum само укажува на потребата да се процени времето потребно за завршување на работата, но не го специфицира типот на проценка. т.е. ова може да биде планирање покер или друг метод на проценка). Така, името на самата тема не е точно :)

Кога зборуваат за методологијата Scrum, тие најчесто мислат на флексибилна методологија за развој на софтвер изградена врз основа на правилата и практиките на Scrum, така што може да испадне дека вашиот Scrum е поладен од мојот Scrum, а исто така е подалеку од тоа како ВАЗ 7 е од BMW Серија 7 :)

Улоги во Scrum

Во класичниот Scrum има 3 основни улоги:
-Сопственик на производот
-Scrum master
-Тим за развој

Сопственик на производот(PO) е врската помеѓу тимот за развој и клиентот. Работата на ПО е да ја максимизира вредноста на производот што се развива и работата на тимот.

Една од главните алатки за ПО е заостанатиот производ. Заостанатиот број на производи содржи работни задачи потребни за извршување (како што се приказна, бубачка, задача итн.), подредени по приоритет (итна потреба).

Scrum master(С.М.) е „слуга-лидер“. Работата на Scrum Master е да му помогне на тимот да ја максимизира својата ефикасност со отстранување на пречките, помагање, обука и мотивирање на тимот и помагање на PO

Тим за развој(Тим за развој, ДТ) се состои од специјалисти кои директно работат на производот што се произведува. Според The ​​Scrum Guide (документ кој е официјален опис на Scrum од неговите автори), DT треба да ги имаат следните квалитети и карактеристики:
-Бидете самоорганизирани. Никој (вклучувајќи ги СМ и ПО) не може да му каже на тимот како да го трансформира заостанатиот производ во работен производ
-Бидете мултифункционални, поседувајте ги сите потребни вештини за да ослободите работен производ
-За извршената работа е одговорен целиот тим, а не поединечни членови на тимот

Препорачаната големина на тимот е 7 (плус или минус 2) луѓе. Според идеолозите на Scrum, поголемите тимови бараат премногу комуникациски ресурси, додека помалите тимови ги зголемуваат ризиците (поради можниот недостаток на потребните вештини) и го намалуваат обемот на работа што тимот може да ја заврши по единица време.

Scrum процес

Основата на Scrum е Sprint, при што се работи на производот. На крајот на Спринт, треба да се добие нова работна верзија на производот. Спринтот е секогаш временски ограничен (1-4 недели) и има исто времетраење во текот на целиот животен век на производот.

Пред почетокот на секој Спринт, се врши планирање на Спринт, кое ја проценува содржината на заостанатиот производ и генерира заостанат спринт, кој содржи задачи (Приказна, грешки, задачи) кои мора да се завршат во тековниот спринт. Секој спринт треба да има цел, која е мотивирачки фактор и се постигнува со завршување на задачите од Sprint Backlog.

Секој ден се спроведува Daily Scrum, во кој секој член на тимот одговара на прашањата „што направив вчера?“, „што планирам да направам денес?“, „на какви пречки наидов во мојата работа?“ Задачата на Daily Scrum е да го одреди статусот и напредокот на работата на Sprint, рано откривање на пречките кои се појавуваат и да развие решенија за промена на стратегијата неопходна за постигнување на целите на Sprint.

На крајот од Спринтот, се спроведуваат Спринт Преглед и Спринт Ретроспектива, чија задача е да се оцени ефективноста (перформанси) на тимот во изминатиот Спринт, да се предвиди очекуваната ефективност (перформанси) во следниот спринт, да се идентификуваат постоечките проблеми, проценете ја веројатноста за завршување на сите потребни работи на производот и многу повеќе.

Шематски приказ на процесот е прикажан на следната слика:

Важни, често заборавени карактеристики

Често слушате дека Scrum не работи или работи полошо од очекуваното. Треба да се напомене дека најчесто тоа се случува поради една од следниве причини:

1. Scrum се применува погрешно или нецелосно.
Според авторите на Scrum, емпириското искуство е главниот извор на веродостојни информации. Потребата за целосна и точна имплементација на Scrum е посочена во The Scrum Guide и се должи на атипичната организација на процесот и отсуството на формален лидер и менаџер.

2. Важноста да се работи за да се мотивира тимот е потценета.
Еден од основните принципи на Scrum се самоорганизираните, меѓуфункционални тимови. Според истражувањата на социолозите, бројот на самомотивирани вработени способни за самоорганизирање не надминува 15% од работоспособното население.
Така, само мал дел од вработените можат ефективно да работат во Scrum без значителни промени во улогите на Scrum Master и Product Owner, што е спротивно на Scrum идеологијата и потенцијално води до неправилна или нецелосна употреба на Scrum.

3. Scrum се користи за производ чии барања се во спротивност со идеологијата на Scrum.
Scrum припаѓа на семејството Agile, така што Scrum ги поздравува промените во барањата во секое време (заостанатиот производ може да се промени во секое време). Ова го отежнува користењето на Scrum во проекти со фиксна цена/фиксно време. Идеологијата на Scrum вели дека е невозможно однапред да се предвидат сите промени, така што нема смисла однапред да го планираме целиот проект, ограничувајќи се само на планирање навреме, т.е. да ја планираме само работата што мора да се заврши во тековниот Спринт. Постојат и други ограничувања.

Предности и недостатоци

Scrum има доста атрактивни предности. Scrum е фокусиран на клиентите и приспособлив. Scrum му дава можност на клиентот да прави промени во барањата во секое време (но не гарантира дека овие промени ќе бидат имплементирани). Способноста за промена на барањата е привлечна за многу корисници на софтвер.

Scrum е прилично лесен за учење и ви овозможува да заштедите време со елиминирање на некритичните активности. Scrum ви овозможува да добиете потенцијално работен производ на крајот од секој Sprint.
Scrum нагласува самоорганизиран, вкрстено функционален тим кој може да ги исполни бараните задачи со минимална координација. Ова е особено привлечно за малите компании и стартапи бидејќи ја елиминира потребата од ангажирање или обука на специјализиран менаџерски персонал.

Се разбира, Scrum има и важни недостатоци. Поради својата едноставност и минимализам, Scrum поставува мал број прилично строги правила. Сепак, ова во принцип е во спротивност со идејата за фокусираност на клиентите, бидејќи клиентот не се грижи за внатрешните правила на тимот за развој, особено ако тие го ограничуваат клиентот. На пример, доколку е потребно, со одлука на клиентот, заостанатиот Sprint може да се смени, и покрај очигледната контрадикција со правилата на Scrum.

Проблемот е поголем отколку што изгледа. Бидејќи Scrum припаѓа на семејството Agile; Scrum, на пример, не создава план за комуникација и одговор на ризик. Така, со што е тешко или невозможно формално (правно или административно) борба против прекршувањата на правилата на Scrum.

Друга слаба карактеристика на Scrum е неговиот акцент на самоорганизиран, вкрстено функционален тим. И покрај очигледното намалување на трошоците за координација на тимот, ова води до зголемени трошоци за избор на персонал, мотивација и обука. Под одредени услови на пазарот на трудот, формирањето на полноправно, ефективен Scrum тим може да биде невозможно.

Список на користени извори

Водич за Scrum. Дефинитивниот водич за Scrum: Правилата на играта. (Кен Швабер, Џеф Сатерленд)
Психологија на менаџмент, учебник. (А. А. Трус)
Како традиционален проектен менаџер се трансформира во Scrum: PMBOK vs. Scrum. (Џеф Сатерленд, Нафис Ахмад)

Однапред ви благодариме за овие грешки и неточности!