Беклог — представлява подреден списък на всички задачи, изисквания и подобрения, които трябва да бъдат реализирани в проекта. Той е централният артефакт на гъвкавите методологии: в Scrum беклогът се управлява от Product Owner, в Kanban — от целия екип. Според Scrum Guide, 2020, беклогът никога не е завършен: той постоянно еволюира заедно с продукта и изискванията на пазара.
Основни моменти
Беклог (от англ. backlog) — единен източник на изисквания за всички промени в продукта. Product Owner отговаря за неговото съдържание, достъпност и прозрачност: всеки член на екипа трябва да разбира какви задачи са в беклога и в какъв ред ще бъдат реализирани.
Product Backlog съдържа всички задачи на проекта в перспектива — от функции за следващото тримесечие до идеи за една година. Sprint Backlog — подмножество от задачи от Product Backlog, които екипът взема в текущия спринт. Sprint Backlog се замразява за времето на спринта, докато Product Backlog постоянно се променя.
В Scrum беклогът е строго структуриран: съществуват Product Backlog и Sprint Backlog, задачите се оценяват в story point-ове, спринтовете имат фиксирана дължина. В Kanban беклогът е по-гъвкав: задачите се изтеглят, когато програмистите се освобождават, приоритетите могат да се променят ежедневно, а WIP (work in progress) лимитите регулират потока от задачи.
Качественият беклог съдържа различни типове задачи, а не само нова функционалност. Балансираният беклог взема предвид всички аспекти на разработката на продукта.
| Тип елемент | Описание | Пример |
|---|---|---|
| User Story | Нова функционалност от гледна точка на потребителя | „Като потребител искам да нулирам паролата си“ |
| Bug | Дефект или грешка в съществуваща функционалност | „Бутонът за регистрация не работи на iOS 16“ |
| Tech Debt | Подобряване на кодовата база без видим ефект за потребителя | „Актуализиране на зависимостите до най-новите версии“ |
| Spike / Research | Проучване или прототип за намаляване на несигурността | „Проучване на възможността за миграция към Jetpack Compose“ |
| Improvement | Подобряване на процесите или инфраструктурата | „Настройване на CI/CD за автоматично изграждане“ |
Основният градивен блок на беклога е User Story (потребителска история). Качествената User Story описва каква стойност ще получи потребителят, а не какви технически действия трябва да се извършат. Форматът INVEST: Independent, Negotiable, Valuable, Estimable, Small, Testable. Историята трябва да се побира в един спринт, в противен случай трябва да бъде декомпозирана.
Критериите за приемане (acceptance criteria) определят кога една задача се счита за изпълнена. Те се записват във формат Given-When-Then или като прост списък от условия. Например: „Потребителят може да нулира паролата по имейл, съобщението пристига в рамките на 30 секунди, връзката е активна 24 часа“. Ясните критерии за приемане елиминират споровете на етапа на демонстрация.
Приоритизирането — най-важният и труден процес на управление на беклога. Product Owner трябва да вземе предвид бизнес стойността, усилията, рисковете и зависимостите между задачите.
MoSCoW — класически метод за приоритизиране. Must have — без задачата продуктът не работи. Should have — важна задача, но може да се отложи. Could have — подобрение, което бихме искали да направим. Won’t have — задачи, отложени за бъдещето. Разпределение: 60% Must, 20% Should, 20% Could. Методът помага да се фокусираме върху критичната функционалност.
Матрицата „стойност / усилия“ разделя задачите на четири квадранта: Quick Wins (висока стойност, ниски усилия) — правим първо, Big Bets (висока стойност, високи усилия) — планираме предварително, Fill-ins (ниска стойност, ниски усилия) — правим в промеждутъците, и Avoid (ниска стойност, високи усилия) — не правим. Този подход позволява максимална стойност при ограничени ресурси.
WSJF — метод за приоритизиране от SAFe, основан на формулата: стойност / размер на задачата. Колкото по-голямо е съотношението на стойността към размера, толкова по-висок е приоритетът. WSJF взема предвид бизнес стойността, времевата критичност и рисковете. Методът е подходящ за зрели продуктови екипи с голям обем на беклога.
Ефективното управление на беклога изисква редовни дейности, правилни инструменти и дисциплина на целия екип.
Refinement — редовна среща (обикновено веднъж седмично), на която екипът уточнява, оценява и преприоритизира елементите на беклога. Scrum Guide препоръчва да не се отделя повече от 10% от времето на екипа за refinement. Резултат: горните 20-30% от беклога са готови за планиране на спринта — имат оценка, критерии за приемане и акцепт.
Най-популярните инструменти за управление на беклог: Jira (индустриален стандарт с гъвкава конфигурация на workflow), Linear (бърз и модерен тракер), Trello (за малки екипи и Kanban), Notion (гъвкаво пространство с бази данни) и Youtrack. Изборът на инструмент зависи от размера на екипа, методологията и бюджета.
Дори опитни Product Owner-и правят грешки в управлението на беклога, които намаляват ефективността на екипа и качеството на продукта.
Най-честата грешка — хвърляне на всички идеи в беклога без филтриране и приоритизиране. Беклогът нараства до стотици задачи, в които е невъзможно да се ориентираме. Решение: редовно почистване на беклога — премахване на остарели задачи, обединяване на подобни, отлагане на неспешни. Здравият беклог съдържа 50-100 елемента, не хиляди.
Когато беклогът се състои само от User Story, техническият дълг расте, а инфраструктурните подобрения се отлагат. Рано или късно екипът удря тавана на производителността поради остарели зависимости, липса на тестове или архитектурни проблеми. Правило: 20% от задачите в един спринт трябва да бъдат технически — рефакторинг, тестове, актуализации.
Детайлизирането на задачи за 3-6 месеца напред е загуба на време. Изискванията се променят, пазарът еволюира, а детайлно написаните задачи трябва да се пренаписват. Детайлизирайте само задачите, които ще попаднат в следващите 1-2 спринта. За отдалечени задачи са достатъчни заглавие и кратко описание.
Малките грешки не попадат в беклога, защото „няма време” или „ще ги оправим по-късно”. С времето грешките се увеличават, качеството спада, а продуктът губи доверието на потребителите. Правило: всяка грешка се записва в беклога, дори и с нисък приоритет. Ако са се натрупали много грешки — отделете спринт за тяхното поправяне.
Често задавани въпроси
Product Backlog — пълният списък на всички задачи на проекта в дългосрочна перспектива, управляван от Product Owner. Sprint Backlog — подмножество от задачи от Product Backlog, които екипът взема в текущия спринт. Sprint Backlog се замразява за времето на спринта, Product Backlog постоянно се променя.
За беклога отговаря Product Owner. Той определя приоритетите, формулира задачите и взема решение за готовността на елементите за спринта. Разработчиците могат да предлагат промени, да добавят технически задачи и да оценяват сложността, но окончателното решение за приоритетите остава на Product Owner-а.
Grooming се препоръчва да се прави веднъж седмично или поне веднъж на спринт. Scrum Guide препоръчва да не се отделя повече от 10% от времето на разработчиците за refinement. За двуседмичен спринт това е приблизително 1-2 часа седмично. Редовният grooming предотвратява натрупването на „боклук” в беклога.
Здравият Product Backlog съдържа 50-100 елемента. По-малко — означава, че екипът не мисли за бъдещето, повече — беклогът се превръща в сметище. Важен е не броят на задачите, а тяхното качество: горните 20-30% трябва да са готови за спринт, останалите — в различна степен на разработка.
Product Backlog може да се променя по всяко време — това е неговото нормално състояние. Но Sprint Backlog се замразява за времето на спринта, за да може екипът да се съсредоточи върху целта. Единственото изключение: когато Product Owner премахне задача от спринта, защото е загубила актуалността си.
Резюме
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също