Разработката на софтуерен продукт преминава през много етапи, в които са замесени различни специалисти. Всеки член на екип има свой собствен подход за работа, което може да доведе до хаос в по-напреднала фаза на проекта. С времето Scrum става най-популярният Agile процес за доставяне на стойност за бизнеса в най-кратък срок.
Традиционните методи за създаване на софтуер крият проблеми като забавяне със срока за доставяне на проект, надхвърляне на бюджета по проекта или доставяне на продукт, който вече не е актуален за пазара. Scrum описва набор от ценности, ритуали (срещи) и роли, които работят с цел екипите да структурират и управляват работата си възможно най-ефективно.
Със Scrum продуктите са изградени чрез итерации, наречени спринтове (sprints). Продължителността на един спринт може да бъде между една и четири седмици. Чрез спринтовете е възможно големи и комплексни проекти да бъдат разделени на малки, лесно управляеми части и в рамките на спринта да бъде разработена и доставена работеща част на продукта. В случай, че се наложи промяна по софтуерния продукт, тя може да бъде отразена много по-бързо, когато продуктът е в етап на разработка, отколкото, ако продуктът е във финалната си фаза.
Организацията на работния процес чрез Scrum дава прозрачност над процеса по разработката, а регулярните доставки към клиента и неговата навременна обратна връзка, обнадеждават членовете на екипа, че проектът има прогрес в правилната посока. Удовлетворението от добре свършената работа помага на специалистите да останат фокусирани и мотивирани, което се отплаща с повече ангажираност за благосъстоянието на проекта и съответно увеличение на качествето на изграждания продукт.
Срещите, които се състоят по време на спринта, са среща за планиране на спинта (Sprint planning), ежедневна среща за споделяне на статуса по разработката на проекта (Daily stand-up), преглед на спринта под формата на демонстрация на свършената работа (sprint review/demo) и среща за ретроспекция на изминалия спринт (retrospective).
При планирането на спринта се изяснява каква работа може да бъде свършена за определеното време и как точно ще бъдат постигнати целите за спринта.
Чрез daily stand-ups екипът е информиран за работата на всеки един член на екипа. Специалистите отговарят на въпросите: „Какви задачи завърших вчера?“, „По какви задачи ще работя днес?“, „Има ли блокиращи проблеми за извършване на задачите?“.
В края на спринта намира място полезната среща за ретроспекция на извършената работа, какви са възникналите проблеми, как те да не се повтарят и какво по време на спринта е преминало достатъчно добре, че да бъде запазано като практика през следващите седмици – обикновено това са постижения като добре разпределени и автономни задачи, навременно зададени въпроси, касаещи прогреса на разработката, споделена информация между членове на екипа на различни позиции и други.
Често пъти в практиката по време на подготовката за демострация (още наричана: спринт демо, спринт ревю) или по време на самото демо, въпреки че разработката е тествана, се появяват дефекти или въпроси как ще работи занапред продуктът. От тази дискусия могат да бъдат съставени бъдещи задачи за разработчиците.
Във всяка една от срещите участват специалисти, чиито роли са: development team (екип по разработката – софтуерни разработчици и софтуерни тестери), scrum master, product owner.
Всяка от Scrum ролите е важна и допринася за успеха на работата на екипа. Scrum master-ът има задача да наставлява екипа и да следи за следването на принците и ценностите на скръм, но в същото време да остане достатъчно приспособим и в случай, че нуждите на екипа се променят, да спомогне за подобряване на организацията на работния процес спрямо конкретните специалисти и фаза на проекта.
Целта на product owner-а е да спомогне доставеният продукт да е възможно най-близо до очакванията на клиентите. Той разбира какви са изискванията на клиентите и успява да ги предаде на екипа по разработка по най-точния и ясен начин. Тази роля спестява време на разработчиците, тъй като в най-добрия случай те работят по вече дефинирани изисквания.
За да заработи успешно Scrum в една компания, всеки един от специалистите в нея, трябва да бъде уверен, че този процес ще доведе проекта до успех и да работи с разбиране и ангажираност към установените процеси.
Прочетете повече за курса ни по “Софтуерно тестване”.