Octombrie 2011
Cuprins
Scopul Ghidului Scrum............................................................................................................................3 Prezentare Scrum ...................................................................................................................................3 Cadrul Scrum ......................................................................................................................................3 Teoria Scrum...........................................................................................................................................4 Scrum ......................................................................................................................................................5 Echipa Scrum ..........................................................................................................................................5 Product Owner ...................................................................................................................................5 Echipa de Dezvoltare ..........................................................................................................................6 Scrum Master .....................................................................................................................................6 Evenimentele Scrum (Scrum Events)......................................................................................................7 Sprint-ul (The Sprint) ..........................................................................................................................8 edina de Planificare a Sprint-ului (Sprint Planning Meeting) ..........................................................9 edina Scrum Zilnic (Daily Scrum) ................................................................................................ 10 edina de Revizuire a Sprint-ului (Sprint Review) .......................................................................... 11 Retrospectiva Sprint-ului (Sprint Retrospective)............................................................................. 12 Artefacte Scrum ................................................................................................................................... 12 Product Backlog ............................................................................................................................... 12 Sprint Backlog .................................................................................................................................. 14 Incrementul ..................................................................................................................................... 15 Definiia strii Finalizat..................................................................................................................... 15 Concluzie ............................................................................................................................................. 15 Mulumiri............................................................................................................................................. 16 Oamenii ........................................................................................................................................... 16 Istoria............................................................................................................................................... 16 Traducerea....................................................................................................................................... 16
Page | 2
Prezentare Scrum
Scrum (subst.): un cadru n care oamenii i pot adresa probleme complexe de adaptare, livrnd n acelai timp, n mod productiv i creativ produse de cea mai mare valoare posibil. Scrum este: Uor Simplu de neles Extrem de dificil de stapnit
Scrum este un proces cadru utilizat pentru a gestiona dezvoltarea de produse complexe nc de la nceputul anilor 1990. Scrum nu este un proces sau o tehnic de construire a produselor; mai degrab este un cadru n care poi folosi diferite procese i tehnici. Scrum clarific eficacitatea relativ a managementului produsului i practicile de dezvoltare astfel nct se pot face mbuntiri.
Cadrul Scrum
Cadrul Scrum const n Echipele Scrum i n rolurile, evenimentele, artefactele i regulile asociate acestora. Fiecare component din cadru servete un anumit scop i este esenial n succesul i utilizarea Scrum-ului. Strategiile specifice de utilizare a cadrului Scrum variaz i vor fi descrise n alt parte. Regulile Scrum leag mpreun evenimentele, rolurile i artefactele, guvernnd relaiile i interaciunea dintre ele. Regulile Scrum sunt descrise n interiorul acestui document.
Page | 3
Teoria Scrum
Scrum este bazat pe o teorie empiric de control a proceselor, sau empirism. Empirismul afirm faptul c sursa cunotinelor este experiena i luarea deciziilor se bazeaz pe ceea ce este tiut. Scrum folosete o abordare iterativ, incremental cu scopul de a optimiza predictibilitatea i de a controla riscul. Trei piloni susin orice implementare a controlului procesului empiric: transparena, inspecia i adaptarea.
Transparena
Aspecte semnificative ale procesului trebuie s fie vizibile celor responsabili de rezultate. Transparena necesit ca aceste aspecte s fie definite de un standard comun astfel nct observatorii s mprteasc puncte de vedere comune asupra a ceea ce vd. De exemplu: Un limbaj comun referitor la proces trebuie s fie mprtit de ctre toi participanii; i, O definiie comun a statusului Finalizat1 trebuie mprtit de ctre cei care efectueaz munca i cei care accept munca rezultat.
Inspecia
Utilizatorii Scrum trebuie s inspecteze n mod firesc progresul fcut ctre ndeplinirea obiectivului, astfel nct s detecteze abaterile nedorite. Inspecia lor nu trebuie s fie att de frecvent nct s afecteze modul de lucru. Inspeciile sunt cele mai benefice atunci cnd sunt efectuate n mod srguincios la locul de munc.
Adaptarea
Dac un inspector stabilete c unul sau mai multe aspecte ale procesului deviaz n afara unor limite acceptabile, i c produsul rezultat va fi inacceptabil, procesul sau materialul procesat trebuie s fie ajustat. Scrum recomand patru oportuniti formale pentru inspecie i adaptare, aa cum este descris n seciunea Evenimentele Scrum ale acestui document. edina de Planificare a Sprint-ului edina Scrum Zilnic Revizuirea Sprint-ului Retrospectiva Sprint-ului
Page | 4
Scrum
Scrum este un cadru structurat n aa fel nct s susin dezvoltarea produselor complexe. Scrum const n Echipele Scrum i rolurile, evenimentele, artefactele i regulile asociate acestora. Fiecare component a cadrului servete un anumit scop i este esenial n succesul i utilizarea Scrum.
Echipa Scrum
Echipa Scrum este alctuit din Product Owner, Echipa de Dezvoltare i Scrum Master. Echipa Scrum se auto-organizeaz i este inter-funcional. Echipele auto-organizate mai degrab aleg ct de bine s-i fac munca dect s fie direcionai de alii din afara echipei. Echipele inter-funcionale au toate competenele necesare pentru a-i ndeplini munca far a depinde de alii care nu fac parte din echip. Echipa model n Scrum este proiectat astfel nct s optimizeze flexibilitatea, creativitatea i productivitatea. Echipa Scrum livreaz produsele n mod iterativ i incremental, maximiznd oportunitile de feedback. Livrrile incrementale de produse cu statusul Finalizat asigur c o versiune potenial folositoare a produsului n lucru este mereu disponibil.
Product Owner
Product Owner-ul este responsabil de maximizarea valorii produsului i a muncii Echipei de Dezvoltare. Modul n care acest lucru este fcut poate varia pe scar larg n funcie de organizaie, Echipa Scrum sau indivizi. Product Owner-ul este singura persoan responsabil de Product Backlog . Managementul Product Backlog-ului include: Exprimarea clar a elementelor din Product Backlog; Ordonarea elementelor din Product Backlog pentru a realiza cel mai bine obiectivele i misiunile; Garantarea valorii muncii produse de ctre Echipa de Dezvoltare; Garantarea faptului c Product Backlog-ul este vizibil, transparent i clar pentru toi, i c arat la ce va lucra Echipa Scrum n continuare; i, Garantarea faptului c Echipa de Dezvoltare nelege toate elementele din Product Backlog pn la nivelul necesar.
Product Owner-ul poate s fac activitile de mai sus sau poate delega Echipa de Dezvoltare s fac acest lucru. Totui, Product Owner-ul rmne responsabil. Product Owner-ul este o persoan, nu un comitet. Product Owner-ul poate reprezenta interesele unui comitet n Product Backlog, dar cei care vor s schimbe prioritatea elementelor din backlog trebuie s l conving pe Product Owner. Pentru ca Product Owner-ul s reueasc, ntreaga organizaie trebuie s-i respecte deciziile. Deciziile Product Owner-ului sunt vizibile n coninutul i ordinea elementelor din Product Backlog. Nimnui nu
Page | 5
i este permis s i spun Echipei de Dezvoltare s lucreze pe baza unui alt set de cerine, iar Echipei de Dezvoltare nu i este permis s acioneze la ceea ce spune oricine altcineva.
Echipa de Dezvoltare
Echipa de Dezvoltare const din profesioniti care fac din activitatea de livrare un potenial Increment, lansabil pe pia, al produsului Finalizat, la sfritul fiecrui Sprint. Echipa de Dezvoltare este structurat i mputernicit de ctre organizaie s-i organizeze i s-i gestioneze munca. Sinergia rezultat optimizeaz la nivel global eficiena i eficacitatea Echipei de Dezvoltare. Echipele de Dezvoltare au urmtoarele caracteristici: Ele se auto-organizeaz. Nimeni (nici mcar Scrum Master-ul) nu spune Echipei de Dezvoltare cum s transforme elementele din Product Backlog n poteniale Incrementuri ale funcionalitii ce pot fi lansate pe pia; Echipele de Dezvoltare sunt inter-funcionale i au toate competenele necesare ca echip pentru a crea un Increment al produsului; Scrum nu recunoate nici un titlu pentru membrii Echipei de Dezvoltare altul dect Dezvoltator, indiferent de munca care a fost efectuat de persoana respectiv; nu exist excepii de la aceast regul; Diferii membri ai Echipei de Dezvoltare pot avea competene specializate i zone de focalizare, dar responsabilitatea aparine Echipei de Dezvoltare ca un ntreg; i, Echipa de Dezvoltare nu conine sub-echipe dedicate unui domeniu particular cum ar fi testarea sau analiza afacerii.
Scrum Master
Scrum Master-ul este responsabil ca Scrum s fie neles i adoptat. Scrum Master-ul face acest lucru prin asigurarea c Echipa Scrum ader la teoria, practicile i rolurile Scrum. Scrum Master-ul este un servitor-conductor pentru Echipa Scrum. Scrum Master-ul i ajut pe cei din afara Echipei Scrum s neleag care din interaciunile lor cu Echipa Scrum sunt folositoare i care nu. Scrum Master-ul ajut pe toat lumea s schimbe aceste interaciuni astfel nct s maximizeze valoarea creat de Echipa Scrum.
Page | 6
Page | 7
Fiecare Sprint poate fi considerat un proiect cu un orizont de timp nu mai mare de o lun. La fel ca i proiectele, Sprint-urile sunt folosite pentru a realiza ceva. Fiecare Sprint are o definiie a ceea ce urmeaz s fie construit, un design i un plan flexibil, care l vor ghida n procesul de realizare ct i n produsul rezultat. Sprint-urile se limiteaz la o lun calendaristic. Atunci cnd orizontul de timp al Sprint-ului este prea lung, definirea a ceea ce este n curs de a fi construit se poate modifica i pot crete att complexitatea ct i riscul. Sprint-urile aduc predictibilitate prin asigurarea inspeciei i adaptarea a ceea ce se realizeaz spre un scop cel puin n fiecare lun calendaristic. De asemenea Sprint-urile limiteaz riscurile de cost la cel mult o lun calendaristic.
Page | 8
Anulrile Sprint-urilor consum resurse, deoarece toat lumea trebuie s se regrupeze ntr-o alt edin de Planificare a Sprint-ului (Sprint Planning Meeting) pentru a ncepe un alt Sprint. Anulrile Sprint-urilor sunt adesea traumatizante pentru Echipa Scrum, i sunt foarte rar ntlnite.
Page | 9
n urmtorul Sprint. Activitile planificate pentru primele zile ale Sprint-ului de ctre Echipa de Dezvoltare sunt descompuse n uniti de o zi sau mai puin pn la sfritul acestei reuniuni. Echipa de Dezvoltare se auto-organizeaz pentru ndeplinirea activitilor preluate din Backlog-ul Sprint-ului, aa cum este necesar, att n timpul Planificrii Sprint-ului ct i pe parcursul Sprint-ului. Product Owner-ul poate fi prezent n a doua parte a edinei de Planificare a Sprint-ului (Sprint Planning Meeting) pentru a clarifica activitile selectate din Product Backlog i pentru ajuta s se fac compromisuri. n cazul n care Echipa de Dezvoltare determin c e prea mult sau prea puin de lucru, se pot renegocia elementele din Sprint Backlog cu Product Owner-ul. De asemenea, Echipa de Dezvoltare poate invita alte persoane s participe, cu scopul de a oferi consultan tehnic sau de specialitate. Pn la sfritul Planificrii Sprint-ului, Echipa de Dezvoltare ar trebui s fie capabil s explice Product Owner-ului i Scrum Master-ului cum intenioneaz s lucreze ca o echip auto-organizat pentru a ndeplini obiectivul Sprint-ului i de a crea Incrementul anticipat.
Obiectivul Sprint-ului
Obiectivul Sprint-ului ofer Echipei de Dezvoltare un anumit grad de flexibilitate n ceea ce privete funcionalitatea implementat n cadrul Sprint-ului. Pe msur ce Echipa de Dezvoltare lucreaz, aceasta se va ghida dup acest obiectiv. n scopul de a ndeplini obiectivul Sprint-ului, aceasta implementeaz funcionalitatea i tehnologia. n cazul n care Echipa de Dezvoltare descoper c activitatea de dezvoltare se dovedete a fi altfel dect s-ar fi ateptat, atunci ea colaboreaz cu Product Owner-ul pentru a negocia obiectivul Sprint Backlog-ului, n cadrul Sprint-ului. Obiectivul Sprint-ului poate fi un jalon (milestone) n cadrul scopului mai mare al planului de produs.
Echipa de Dezvoltare utilizeaz ntlnirea zilnic pentru a evalua progresul realizat spre Obiectivul Sprint-ului ct i pentru a evalua tendina progresului spre finalizarea lucrrilor din Sprint Backlog. ntlnirea optimizeaz probabilitatea ca Echipa de Dezvoltare s realizeze Obiectivul Sprintului. Adesea, Echipa de Dezvoltare se ntlnete dup aceast edin Scrum Zilnic pentru a replanifica restul lucrrilor din cadrul Sprint-ului. n fiecare zi, Echipa de Dezvoltare trebuie s fie
Page | 10
capabil s explice Product Owner-ului i Scrum Master-ului modul n care intenioneaz s lucreze mpreun ca o echip auto-organizat pentru a realiza scopul propus i pentru a crea Incrementul anticipat n perioada care a rmas din Sprint. Scrum Master-ul se asigur c Echipa de Dezvoltare se reunete, dar aceasta este responsabil pentru desfaurarea edinei Scrum Zilnice. Scrum Master-ul instruiete Echipa de Dezvoltare s in edina Scrum Zilnic n cadrul duratei de 15 minute. Scrum Master-ul impune regula ca numai membrii Echipei de Dezvoltare s participe la edina Scrum Zilnic. edina Scrum Zilnic nu este o ntlnire de reportare ci este adresat persoanelor care transform elementele din Product Backlog ntr-un Increment. edina Scrum Zilnic mbuntete comunicarea, elimin alte ntlniri, identific i ndeprteaz obstacolele, evideniaz i promoveaz luarea rapid a deciziilor i mbuntete nivelul de cunoatere a proiectului de ctre Echipa de Dezvoltare. Aceast ntlnire cheie este una de inspecie i de adaptare.
Rezultatul edinei de Revizuire a Sprint-ului este un Product Backlog revizuit care definete elementele probabile din cadrul acestuia pentru urmtorul Sprint. De asemenea, Product Backlog-ul poate fi revizuit pe ansamblu pentru a satisface noi oportuniti.
Page | 11
Artefacte Scrum
Artefactele Scrum reprezint munca sau valoarea sub diverse forme care sunt folosite n asigurarea transparenei i a oportunitilor pentru inspecie i adaptare. Artefactele definite de Scrum sunt special concepute pentru a maximiza transparena informaiei, cheie necesar s asigure Echipelor Scrum succesul n livrarea unui Increment considerat "Finalizat".
Product Backlog
Product Backlog-ul este o list ordonat cuprinznd tot ce poate fi necesar n produs i este singura surs de cerine coninnd toate schimbrile care trebuie fcute produsului. Proprietarul Produsului (Product Owner) este responsabil de Product Backlog, incluznd coninutul su, disponibilitatea i ordinea sarcinilor. Product Backlog nu este niciodat complet. Cea mai timpurie dezvoltare a sa prezint cerinele iniiale, cunoscute i cel mai bine nelese. Product Backlog evolueaz odat cu produsul i mediul n care acesta evolueaz. Product Backlog este dinamic, se schimb constant pentru a identifica ceea ce
Page | 12
are nevoie produsul pentru a fi adecvat, competitiv i folositor. Atta timp ct un produs exist, va exista i Product Backlog-ul acestuia. Product Backlog listeaz toate caracteristicile, facilitile, funciile, cerinele, mbuntirile i remediile/reparaiile care constituie schimbrile necesare a fi facute produsului n release-urile viitoare. Elementele din Product Backlog au atribute precum descrierea, ordinea i estimarea. Product Backlog este adesea ordonat dup valoare, risc, prioritate i necesitate. Elementele cu cea mai mare prioritate vor fi dezvoltate imediat transformndu-se n activiti de dezvoltare. Cu ct mai mare este prioritatea, cu att elementul din backlog este mai urgent, cu att mai mult a fost analizat i exist mai mult consens privind valoarea sa. Elementele din Product Backlog cu prioritate mai mare sunt mai clare i mai detaliate dect cele de prioritate mai mic. Estimrile mai bune se fac atunci cnd elementul este definit clar i detaliat. Cu ct prioritatea elementului este mai mic, cu att acesta este mai puin detaliat, pn cnd devine foarte vag. Elementele din Product Backlog care vor ocupa Echipele de Dezvoltare pentru urmtoarele cteva Sprint-uri conin elemente prelucrate n amnunt, descompuse astfel nct orice element s poat fi Finalizat (Done) n cadrul duratei unui Sprint. Elementele din Product Backlog care pot fi Finalizate de Echipa de Dezvoltare n cadrul unui Sprint sunt considerate pregtite (ready) sau gata de aciune (actionable) pentru selectarea fcut la Planificarea Sprint-ului. Pe msur ce un produs este folosit i capt valoare, rspunsul (feedback-ul) oferit de pia crete iar Product Backlog-ul devine o list mai cuprinztoare i mai complet (exhaustiv). Sarcinile se modific n continuu astfel c Product Backlog-ul este un artefact viu. Schimbrile n cerinele de afaceri, condiiile de pia sau cele tehnologice pot cauza schimbri n Product Backlog. Adesea mai multe Echipe Scrum lucreaz mpreun la acelai produs. Un Product Backlog este utilizat pentru a descrie munca ce trebuie fcut pe produs. Un atribut al Product Backlog-ului care grupeaz elementele este n acest caz utilizat. ntreinerea Product Backlog-ului reprezint activitatea de adugare de detalii, estimri i ordonare a elementelor din Product Backlog. Acesta este un proces n continu desfurare n care Product Owner-ul i Echipa de Dezvoltare colaboreaz asupra stabilirii detaliilor din Product Backlog. n timpul ntreinerii Product Backlog-ului, elementele sunt reexaminate i revizuite. Totui, acestea pot fi actualizate la orice moment de timp de ctre Product Owner sau la discreia acestuia. ntreinerea este o activitate mprit n timpul Sprint-ului ntre Product Owner i Echipa de Dezvoltare. Adesea, Echipa de Dezvoltare are cunotinele de domeniu necesare pentru a realiza aceast ntreinere de una singur. Cum i cnd ntreinerea este facut se decide de ctre Echipa Scrum. Aceast ntreinere nu consum de regul mai mult de 10% din capacitatea Echipei de Dezvoltare. Echipa de Dezvoltare este responsabil de toate estimrile. Product Owner-ul poate influena Echipa de Dezvoltare prin a o ajuta s neleag i s selecteze compromisurile, dar membrii echipei care vor lucra efectiv fac estimrile finale.
Page | 13
Sprint Backlog
Sprint Backlog-ul reprezint un set de elemente/activiti ale Product Backlog-ului selectate pentru Sprint, plus un plan de livrare al Incrementului cu scopul de a realiza Obiectivul Sprint-ului. Sprint Backlog-ul reprezint o prognoz dat de Echipa de Dezvoltare cu privire la funcionalitatea cuprins n urmtorul Increment precum i de munca necesar pentru a livra aceast funcionalitate. Sprint Backlog-ul definete activitatea Echipei de Dezvoltare ce se va efectua pentru a transforma elementele din Product Backlog ntr-un Increment Finalizat. Sprint Backlog-ul asigur transparena muncii pe care Echipa de Dezvoltare o identific ca fiind necesar pentru a ndeplini Obiectivul Sprintului. Sprint Backlog-ul este un plan cu detalii suficiente astfel nct modificrile survenite pe parcurs pot fi nelese n Sedinele Zilnice de Scrum. Echipa modific Sprint Backlog-ul de-a lungul Sprint-ului i astfel se contureaz Sprint Backlog-ul. Aceast definire apare pe msur ce Echipa parcurge activitile din Sprint i i d seama de munca necesar pentru a atinge Obiectivul Sprint-ului. Echipa de Dezvoltare adaug la Sprint Backlog activitile noi ce apar de-a lungul unui Sprint. Pe msur ce activitile sunt efectuate sau finalizate i estimarea muncii rmase este actualizat. Elementele planului considerate inutile vor fi eliminate. Numai Echipa de Dezvoltare poate schimba Sprint Backlog-ul n timpul unei iteraii. Sprint Backlog-ul este vizibil, reprezint o imagine n timp real a muncii pe care Echipa de Dezvoltare intenioneaz s o realizeze n timpul Sprint-ului i aparine exclusiv Echipei de Dezvoltare.
Page | 14
Incrementul
Incrementul reprezint suma tuturor elementelor din Product Backlog finalizate de-a lungul unui Sprint alturi de toate Sprint-urile anterioare. La sfritul unui Sprint, noul Increment trebuie s fie n stadiul de Finalizat, ceea ce nseamn c trebuie s fie utilizabil i n concordan cu ceea ce Echipa Scrum identific ca fiind definiia strii Finalizat. Incrementul trebuie s fie utilizabil indiferent de decizia Product Owner-ului de a-l livra sau nu.
Concluzie
Scrum-ul este gratuit i oferit n acest ghid. Rolul Scrum-ului, artefactele, evenimentele i regulile sale sunt imuabile. Dei punerea n aplicare a doar o parte din Scrum este posibil, rezultatul nu este Scrum. Scrum exist numai n toate elementele sale i funcioneaz precum un container pentru alte tehnici, metodologii i practici.
Page | 15
Mulumiri
Oamenii
Din miile de persoane care au contribuit la Scrum, ar trebui s-i evideniem pe cei care au avut un rol n primii zece ani. La nceput a fost Jeff Sutherland, care a lucrat cu Jeff McKenna, i Ken Schwaber, care a lucrat cu Mike Smith i Chris Martin. Muli alii au contribuit n anii care au urmat i fr ajutorul lor Scrum nu ar fi fost att de perfecionat precum este n ziua de astzi. David Starr a furnizat perspective cheie i competene editoriale n formularea acestei versiuni a Ghidului Scrum.
Istoria
Ken Schwaber i Jeff Sutherland au fost primii care au co-prezentat Scrum la conferina OOPSLA n 1995. Aceast prezentare a documentat n mod esenial nvturile pe care Ken i Jeff le-au dobndit n cei civa ani anteriori de aplicare a Scrum-ului. Istoria Scrum este deja considerat lung. Pentru a onora primele locuri unde a fost ncercat i perfecionat, menionm Individual, Inc., Fidelity Investments, i IDX (astzi GE Medical).
Traducerea
Acest ghid a fost tradus din versiunea Englez original, furnizat de Ken Schwaber i Jeff Sutherland. Printre cei care au contribuit la traducerea n limba Romna se numr: Monica Ipate, Petru Furescu, Marius Delc i Alexandra Suciu. La revizuire a participat Raluca Lefticaru.
Page | 16
Revisions
Acest Ghid Scrum din Octombrie 2011 este diferit de predecesorul su, Ghidul Scrum din Februarie 2010. n particular, am ncercat s eliminm tehnicile i practicile cele mai bune din nucleul Scrum. Acestea vor varia n funcie de circumstane. Vom ncepe un compendiu Best Practices ulterior, pentru a mprti o parte din experiena acumulat. Ghidul Scrum documenteaz Scrum aa cum a fost dezvoltat i susinut de mai mult de 20 de ani de ctre Jeff Sutherland i Ken Schwaber. Alte surse furnizeaz modele, procese i perspective despre cum practicile, nlesnirile i uneltele complementeaz cadrul Scrum. Acestea optimizeaz productivitatea, valoarea, creativitatea i onoarea.
Page | 17