Backlog — a projektben megvalósítandó összes feladat, követelmény és fejlesztés rendezett listája. Ez az agilis módszertanok központi műterméke: a Scrum-ban a backlog-ot a Product Owner kezeli, a Kanban-ban — az egész csapat. A Scrum Guide, 2020 szerint a backlog sosem teljes: folyamatosan fejlődik a termékkel és a piaci igényekkel együtt.
Főbb pontok
Backlog (angol backlog) — a termékben végrehajtandó összes változtatás egységes követelményforrása. A Product Owner felelős a tartalomért, elérhetőségéért és átláthatóságáért: a csapat minden tagjának meg kell értenie, hogy milyen feladatok vannak a backlog-ban és milyen sorrendben valósulnak meg.
Product Backlog tartalmazza a projekt összes feladatát perspektívában — a következő negyedév funkcióitól az egy éves ötletekig. Sprint Backlog — a Product Backlog azon feladatainak részhalmaza, amelyeket a csapat a jelenlegi sprintbe vesz. A Sprint Backlog a sprint idejére befagy, míg a Product Backlog folyamatosan változik.
A Scrum-ban a backlog szigorúan strukturált: létezik Product Backlog és Sprint Backlog, a feladatokat story pointokban becsülik, a sprintek fix hosszúságúak. A Kanban-ban a backlog rugalmasabb: a feladatokat a fejlesztők felszabadulásának ütemében húzzák, a prioritások naponta változhatnak, és a WIP (work in progress) korlátok szabályozzák a feladatok áramlását.
A minőségi backlog különböző típusú feladatokat tartalmaz, nem csak új funkciókat. A kiegyensúlyozott backlog figyelembe veszi a termékfejlesztés minden aspektusát.
| Elem típusa | Leírás | Példa |
|---|---|---|
| User Story | Új funkció a felhasználó szemszögéből | „Felhasználóként szeretném visszaállítani a jelszavamat” |
| Bug | Hiányosság vagy hiba a meglévő funkcióban | „A regisztrációs gomb nem működik iOS 16-on” |
| Tech Debt | A kódbázis fejlesztése a felhasználó számára láthatatlan hatással | „Függőségek frissítése a legújabb verziókra” |
| Spike / Research | Kutatás vagy prototípus a bizonytalanság csökkentésére | „A Jetpack Compose-ra való áttérés lehetőségének vizsgálata” |
| Improvement | Folyamatok vagy infrastruktúra fejlesztése | „CI/CD beállítása automatikus buildhez” |
A backlog fő építőköve a User Story (felhasználói történet). Egy minőségi User Story leírja, hogy a felhasználó milyen értéket kap, nem azt, hogy milyen technikai műveleteket kell végezni. Az INVEST formátum: Independent, Negotiable, Valuable, Estimable, Small, Testable. A történetnek egy sprintbe kell férnie, különben dekomponálni kell.
Elfogadási kritériumok (acceptance criteria) határozzák meg, hogy egy feladat mikor tekinthető elvégzettnek. Given-When-Then formátumban vagy egyszerű feltételek listájaként írják őket. Például: „A felhasználó e-mailben visszaállíthatja a jelszavát, az üzenet 30 másodpercen belül érkezik, a link 24 óráig aktív”. A világos elfogadási kritériumok kiküszöbölik a vitákat a bemutató fázisban.
Priorizálás — a backlog kezelésének legfontosabb és legnehezebb folyamata. A Product Owner-nak figyelembe kell vennie az üzleti értéket, erőfeszítést, kockázatokat és a feladatok közötti függőségeket.
MoSCoW — a klasszikus priorizálási módszer. Must have — a feladat nélkül a termék nem működik. Should have — fontos feladat, de elhalasztható. Could have — fejlesztés, amelyet szeretnénk elvégezni. Won’t have — a jövőre halasztott feladatok. Megoszlás: 60% Must, 20% Should, 20% Could. A módszer segít a kritikus funkciókra összpontosítani.
Az érték / erőfeszítés mátrix négy negyedre osztja a feladatokat: Quick Wins (magas érték, alacsony erőfeszítés) — először végezzük, Big Bets (magas érték, magas erőfeszítés) — előre tervezzük, Fill-ins (alacsony érték, alacsony erőfeszítés) — közben végezzük, és Avoid (alacsony érték, magas erőfeszítés) — ne végezzük. Ez a megközelítés lehetővé teszi az érték maximalizálását korlátozott erőforrások mellett.
WSJF — a SAFe-ból származó priorizálási módszer, a képleten alapul: érték / feladat méret. Minél nagyobb az érték és a méret aránya, annál magasabb a prioritás. A WSJF figyelembe veszi az üzleti értéket, időbeli kritikusságot és kockázatokat. A módszer érett termékcsapatok számára alkalmas, nagy backlog mennyiséggel.
A hatékony backlog kezelés rendszeres tevékenységeket, megfelelő eszközöket és az egész csapat fegyelmét igényli.
Refinement — rendszeres találkozó (általában hetente egyszer), ahol a csapat pontosítja, becsüli és újarangosítja a backlog elemeket. A Scrum Guide azt javasolja, hogy a refinement-re ne fordítsunk a csapat idejének 10%-nál többet. Eredmény: a backlog felső 20-30%-a kész a sprint tervezésre — becsléssel, elfogadási kritériumokkal és elfogadással.
A legnépszerűbb eszközök a backlog kezeléséhez: Jira (ipari szabvány rugalmas workflow beállításokkal), Linear (gyors és modern nyomonkövető), Trello (kis csapatok és Kanban számára), Notion (rugalmas tér adatbázisokkal) és Youtrack. Az eszköz kiválasztása a csapat méretétől, a metodológiától és a költségvetéstől függ.
Még tapasztalt Product Owner-ek is követnek el hibákat a backlog kezelésében, amelyek csökkentik a csapat hatékonyságát és a termék minőségét.
A leggyakoribb hiba — minden ötletet szűrés és priorizálás nélkül a backlog-ba dobni. A backlog túléri a száz feladatot, áttekinthetetlenné válva. Megoldás: a backlog rendszeres tisztítása — elavult feladatok eltávolítása, hasonlók összevonása, nem sürgősek elhalasztása. Egy egészséges backlog 50-100 elemet tartalmaz, nem ezreket.
Amikor a backlog csak User Story-kból áll, a technikai adósság nő, és az infrastrukturális fejlesztések elhalasztódnak. Előbb-utóbb a csapat termelékenységi plafonba ütközik az elavult függőségek, a tesztelés hiánya vagy architektúrális problémák miatt. Szabály: a sprint feladatainak 20%-a technikai legyen — refaktorálás, tesztelés, frissítések.
3-6 hónapra előre feladatok részletes leírása időpocsékolás. A követelmények változnak, a piac fejlődik, a részletesen megírt feladatokat újra kell írni. Csak azokat a feladatokat részletezze, amelyek a következő 1-2 sprintbe kerülnek. A távoli feladatokhoz elegendő a cím és egy rövid leírás.
Kis hibák nem kerülnek be a backlog-ba, mert „nincs idő” vagy „majd később kijavítjuk”. Idővel a hibák szaporodnak, a minőség csökken, és a termék elveszti a felhasználók bizalmát. Szabály: minden hibát rögzíteni kell a backlog-ban, még alacsony prioritással is. Ha sok hiba gyűlt össze — szánjon egy sprintet a javításukra.
Gyakran ismételt kérdések
A Product Backlog a projekt összes feladatának teljes listája hosszú távon, amelyet a Product Owner kezel. A Sprint Backlog a Product Backlog azon feladatainak részhalmaza, amelyeket a csapat a jelenlegi sprintbe vesz. A Sprint Backlog a sprint idejére befagy, a Product Backlog folyamatosan változik.
A backlog-ért a Product Owner felelős. Meghatározza a prioritásokat, megfogalmazza a feladatokat és dönt az elemek sprintre való felkészültségéről. A fejlesztők javasolhatnak változtatásokat, technikai feladatokat adhatnak hozzá és becsülhetik a bonyolultságot, de a prioritásokról szóló végső döntés a Product Owner-nél marad.
A grooming végzése hetente egyszer vagy legalább sprintenként egyszer ajánlott. A Scrum Guide azt javasolja, hogy a refinement-re ne fordítsuk a fejlesztők idejének 10%-nál többet. Egy kéthetes sprint esetén ez hetente körülbelül 1-2 óra. A rendszeres grooming megakadályozza a „szemét” felhalmozódását a backlog-ban.
Egy egészséges Product Backlog 50-100 elemet tartalmaz. Kevesebb — azt jelenti, hogy a csapat nem gondol a jövőre, több — a backlog lerakattá válik. Nem a feladatok száma a fontos, hanem a minőségük: a felső 20-30%-nak készen kell állnia a sprintre, a többinek különböző mértékben kidolgozottnak kell lennie.
A Product Backlog bármikor megváltoztatható — ez a normális állapota. De a Sprint Backlog a sprint idejére befagy, hogy a csapat a célra összpontosíthasson. Az egyetlen kivétel: amikor a Product Owner eltávolít egy feladatot a sprintből, mert az elvesztette aktualitását.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is