Flux de lucru Scrum

Sprint (sau iterații) este unitatea de bază a dezvoltării în scrum. Un sprint este o anumită casetă de timp, adică o limitare a unei anumite durate. Durata este fixată în avans pentru fiecare sprint și este de obicei între o săptămână și o lună, cel mai frecvent sprintul de două săptămâni este.

Cu managementul timpului, un timebox alocă o perioadă fixă ​​de timp, numită fereastră de timp, pentru fiecare acțiune programată. Unele abordări ale managementului de proiect folosesc o casetă de timp. De asemenea, este folosit pentru utilizare individuală pentru sarcini personale într-un interval de timp mai scurt. Acest lucru este adesea asociat cu livrabile și termene, iar acest lucru îmbunătățește productivitatea utilizatorilor.

Fiecare sprint începe prin planificarea activităților care stabilesc direcția pentru sprint, definirea sarcinilor din sprint și evaluarea dacă obiectivele sprintului sunt îndeplinite. Fiecare sprint se încheie cu o revizuire retrospectivă a sprintului care analizează progresul pentru a oferi informații părților interesate și pentru a identifica îmbunătățiri pentru următorul sprint.

Scrum se concentrează pe munca depusă la sfârșitul sprintului. În cazul software-ului, acest lucru înseamnă cel mai probabil că software-ul a fost complet testat, documentat și potențial gata pentru livrare.

Planificare

La începutul sprintului, echipa Scrum efectuează planificarea sprintului pentru:

  • Comunicare pentru a determina sfera de lucru care trebuie efectuată în timpul acestui sprint;
  • Selectarea articolelor Product Backlog care pot fi finalizate într-un singur sprint;
  • Pregatirea sprintului, identificarea lucrarilor necesare finalizarii unor elemente din Product Backlog;
  • Definirea casetelor de timp - limite de patru ore pentru sprinturile de două săptămâni (durată proporțională pentru sprinturile rămase);
    • În timpul primei reprize, întreaga echipă scrum (care este echipa de dezvoltare, scrum master și proprietarul produsului) selectează sarcinile de lucru din Backlog care pot fi realizate în acest sprint;
    • În a doua jumătate, echipa de dezvoltare descompune activitățile (sarcinile) necesare furnizării acestor elemente ale Product Backlog-ului, rezultând o validare sprint;
      • Unele elemente din Product Backlog pot fi divizate sau reorientate dacă munca identificată nu este realizabilă în acest sprint.

După ce echipa de dezvoltare pregătește sprintul, ei determină durata muncii (de obicei prin vot) pentru a finaliza sarcinile în timpul sprintului.

Scrum zilnicîn începe în aceeași cameră. Această locație centralizată ajută echipa să înceapă la timp. În fiecare zi în timpul sprintului, echipa desfășoară un scrum zilnic (de obicei în picioare), cu linii directoare specifice:

  • Scrum zilnic. Toți membrii echipei de dezvoltare trebuie să se pregătească. Scrum zilnic...
    ... începe chiar la timp, chiar dacă unii membri ai echipei lipsesc;
    … Trebuie să înceapă fiecare zi în același loc și la aceeași oră;
    ... limitat la (în intervalul de timp) cincisprezece minute.
  • Pot fi prezenți persoane din afară, deși, de obicei, doar echipa scrum face schimb de opinii cu privire la situația actuală;
  • O caracteristică a întâlnirii zilnice de scrum este că fiecare membru al grupului răspunde la 3 întrebări locale și simple:
    • Sarcinile mele au fost finalizate ieri? Cum am ajutat echipa de dezvoltare să atingă obiectivul de sprint?
    • Ce sarcini îmi propun astăzi pentru ca noi să atingem împreună obiectivul de sprint?
    • Văd vreo constrângere care mă împiedică pe mine sau pe echipa de dezvoltare să atingem obiectivul de sprint?

Orice limitare (de exemplu, piatră de poticnire, risc, problemă, dependențe întârziate, ipoteze nefondate) identificată în ședința zilnică de scrum ar trebui înregistrată de scrum master și transferată la bordul scrum. Nu există o discuție detaliată în timpul întâlnirii zilnice de scrum.

Recenzii și retrospective

Echipa găzduiește două evenimente la sfârșitul sprintului: o revizuire a sprintului și o retrospectivă a sprintului.

Acțiunile echipei în timpul revizuirii sprintului:

  • Revizuirea lucrărilor care au fost finalizate și planificarea lucrărilor care nu au fost finalizate;
  • Au prezentat lucrări gata făcute pentru părțile interesate (de exemplu, demonstrație)

Recomandări pentru evaluarea Sprintului:

  • Lucrările neterminate nu pot fi demonstrate;
  • Durata recomandată este de două ore pentru un sprint de două săptămâni (proporțional pentru alte durate de sprint)

În retrospectivă la sprint, echipa:

  • Reflectează asupra sprintului trecut;
  • Definește și coordonează procesul de îmbunătățire continuă a acțiunilor.

Ghid pentru retrospectivele Sprint:

  • În retrospectivă la sprint, există doar două întrebări principale: ce a fost bun în timpul sprintului? Ce poate fi îmbunătățit în următorul sprint?
  • Durata recomandată este de 1-1,5 ore pe sprint de 2 săptămâni (proporțional pentru alte durate de sprint)
  • Acest eveniment este atribuit Scrum Master.

În plus

Următoarele activități se desfășoară de obicei în practică, deși nu sunt considerate de toți parte principală a metodologiei scrum:

Rafinarea Backlog-ului

Rafinarea Backlog-ului (unii numesc Backlog grooming) este un proces continuu de revizuire a elementelor Backlog și verificarea faptului că acestea sunt prioritizate și structurate corespunzător într-un mod care sugerează că sarcinile sunt suficient de clare și executabile pentru echipă.

Elemente din backlog:

  • poate fi împărțit în mai multe altele mai mici;
  • criteriile de acceptare pot fi clarificate;
  • dependențele, adepții și lucrările pregătitoare pot fi identificate și convenite cu aprobare tehnică.

Deși această practică nu face parte din Scrum principal, rafinarea Backlog a fost adoptată ca o modalitate de a gestiona calitatea articolelor Backlog, cu un volum recomandat de până la 10% din timpul de sprint.

Scrum scrum

Scrum scrum Este o metodă pentru a permite extinderea scrumului în mai multe echipe care lucrează la acel produs software, oferă o oportunitate de a discuta progresul și interdependențe, concentrându-se pe modul de coordonare a dezvoltării aplicațiilor software, mai ales atunci când acestea se suprapun în zona integrării. Întâlnirea zilnică de scrum pentru fiecare echipă, în funcție de durată, se încheie cu numirea unui membru al echipei ca reprezentant pentru a participa la scrum cu reprezentanții altor echipe. În funcție de context, reprezentanții pot fi fie specialiști tehnici, fie maeștri de scrum de echipă.

Această activitate nu se referă doar la actualizarea și rezumarea progresului de la diferite echipe Scrum, ea vă permite să vă concentrați asupra modului în care echipele lucrează colectiv, să acceptați, să atenuați sau să evitați orice riscuri, să discutați obstacolele, dependențele sau ipotezele (RIDA) care au fost identificate... . Scrum Scrum urmărește aceste RIDA-uri prin prezența propriilor plăci Scrum, ceea ce duce de obicei la o coordonare și o colaborare mai strânsă între echipele Scrum.

Lucrarea este structurată prin analogie cu ședința zilnică scrum, iar fiecare reprezentant își pregătește propriile răspunsuri la următoarele patru întrebări:

  • Ce riscuri, limitări, dependențe și ipoteze a prezentat echipa Scrum de la ultima noastră întâlnire?
  • Ce riscuri, limitări, dependențe și ipoteze va prezenta echipa dumneavoastră înainte de a ne întâlni din nou?
  • Există noi riscuri, obstacole, dependențe și presupuneri care vă încetinesc echipa sau vă stau în cale?
  • Ai de gând să introduci un nou risc, obstacol, dependență și presupunere care va sta în calea celeilalte echipe?

După cum a comentat Jeff Sutherland,

Deoarece inițial am definit Scrum Scrum (Ken Schwaber lucra la IDX la acel moment cu mine), pot spune cu siguranță că Scrum Scrum nu este „Meta Scrum”. Scrum Scrum, așa cum l-am folosit, este responsabil pentru furnizarea de versiuni de lucru ale software-ului de la toate echipele la sfârșitul unui sprint sau pentru lansări în timpul unui sprint. Scrum Master este responsabil pentru asta. Deci Scrum Scrum este un mecanism pentru livrarea mai rapidă a software-ului.

 

Ar putea fi util să citiți: