Metodologia SAFE sau Scaled Agile Framework a apărut în anul 2011. Deși am lucrat în mai multe companii IT, abia acum am ajuns să lucrez cu SAFE, motiv pentru care aș vrea să vă prezint conceptele SAFE. Adică să expun prin ce e diferit de agile software development, în ce fel de proiecte este eficientă abordarea SAFE și în ce proiecte nu se potrivește.
Conceptul SAFE este în principiu un "scrum of scrums" adică un scrum mai mare iar toată metodologia presupune dezvoltarea produsului în PI-uri sau Program Increments. Un PI durează de regulă patru sau cinci sprinturi / iterații a câte două săptămâni din care ultimul sprint denumit Innovation and Planning este specializat (așa cum îi zice și numele) doar pentru inovare. În ultimul sprint nu se planifică niciodată dezvoltarea de feature-uri, ci se urmărește cum poate fi îmbunătățit produsul, dacă ar fi binevenite niște taskuri de refactoring sau de stabilizare și îmbunătățire a performanței produsului.
Abordarea SAFE se învârte în jurul așa numitului PI (Program Increment) Planning.
Orice ciclu SAFE începe mereu cu acest PI Planning, adică un workshop/ședință care durează în medie 2.5/3 zile. În cadrul PI Planningului toate echipele implicate în proiect se aliniază și planifică feature-urile care trebuie livrate la final de PI. Obiectivul acestui workshop - foarte complex de altfel - este identificarea dependențelor pentru implementarea feature-urilor. Odată ce dependențele au fost identificate și vizibile pentru toată lumea, planificarea poate fi mai eficientă deoarece toate echipele pot vedea a cui muncă depinde de cine. În acest fel se poate propune o implementare succesivă a taskurilor.
Plus valoarea pe care o aduce o astfel de abordare este că toate echipele sunt conștiente de impactul pe care o are munca lor asupra altora, aceasta ajutând ca toate echipele să aibă aceeași direcție și viteză de implementare.
După încheierea PI Planningului - metodologia SAFE propune efectuarea tuturor ceremoniilor din SCRUM (Daily Stand Up, Sprint/Iteration Planning, Sprint/Iteration Review, Sprint/Iteration Retrospective). Evenimentul extra propus de SAFE este System Demo - un demo al întregului PI, în care fiecare echipă prezintă tot ce au reușit să implementeze în PI-ul care se încheie.
Înainte de a intra în detaliile unui PI Planning aș vrea să fac un scurt sumar al rolurilor cheie în SAFE:
Release Train Engineer (RTE): Este cel care coordonează toate echipele, reprezentând practic Scrum Master-ul Scrum Master-ilor.
Product Management: sunt responsabili cu definirea și prioritizarea feature-urilor ce vor fi implementate.
Scrum Master: coordonează căte o echipă de development și elimină orice impediment.
Product Owner: definește și acceptă user story-urile, colaborează cu Product Management pentru a defini Product Backlog-ul .
Pentru organizarea unui PI Planning este nevoie de o pregătire riguroasă în avans, iar rezultatele pregătirii vor fi vizibile pe câteva boarduri sau table, indiferent dacă PI Planningul se organizează live sau online. Aceste boarduri sunt:
Program Backlog: pe acest board se vor pregăti toate feature-urile care se propun spre implementare pentru PI-ul ce va începe - responsabil pentru lista finală cu feature-uri pe board precum și pentru întreg PI Planning este RTE-ul.
Program Board: este un board cu toate echipele și toate sprinturile. La început de PI acest board este gol, iar la final va fi populat cu toate feature-urile planificate de fiecare echipă pe sprinturi precum și dependențele identificate între feature-uri.
PI Objectives: este boardul unde sunt formulate obiective de business legate de ce urmează să fie implementat în PI. Aceste obiective sunt formulate într-un limbaj ușor de înțeles de către cei din business, un limbaj deloc tehnic. Obiectivele sunt împărțite în: asumate (commited) și neasumate (uncommited).
Risks (ROAM) : Boardul classic legat de riscuri identificare care se împart în patru categorii (Resolved, Owned, Accepted, Mitigated).
După fiecare PI Planning au loc trei mari acțiuni :
RTE transferă în JIRA toate taskurile din PI board.
Moderatorul evenimentului trimite un e-mail tuturor participanților cu rezultatul workshop-ului.
Tipurile de proiecte unde se potrivește metodologia SAFE se caracterizează prin: proiecte de lungă durată (minim 6/9 luni), echipe (minim 2/3 membri) multiple implicate (ex. : BE, FE, UX, QA, Devops, etc.). Pentru proiectele de scurtă durată și cu echipe mici nu se recomandă metodologia SAFE - e suficientă abordarea SCRUM.
Avantaje /dezavantaje asupra metodologiei SAFE:
Avantaje | Dezavantaje |
---|---|
Imagine clară de ansamblu asupra | PI Planning 2.5 / 3 zile - oboseală |
scopului pentru următoarele trei luni. | destul de ridicată la final. |
IP (Innovation and Planning) sprint - | PI Planning 2.5 / 3 zile - în funcție de |
două săptămâni în care nu se planifică | nr.-ul de developeri dintr-o echipă, |
implementarea de feature-uri, echipa | se adună mult timp neproductiv (de |
se axează pe îmbunătățirea produsului, | nescris cod). |
stabilizare și îmbunătățirea | |
performanței. | |
Identificare dependențe între echipe. | |
Planificarea cronologică a | |
feature-urilor și taskurilor care | |
depind unul de celălalt. |
Oricine își dorește să aprofundeze mai multe despre SAFE, poate accesa site-ul oficial https://www.scaledagileframework.com. Mai mult decât atât, organizația SAFE oferă cursuri pentru diferite roluri.
Certificarea nu este una simplă - cursul durează aproximativ patru zile și este foarte complex, se oferă multă informație, dar este foarte profesionist organizat. Materialele de la curs sunt foarte bine pregătite și se prezintă multe video-uri bine realizate și ușor de înțeles.
Examenul de certificare este de 90 de minute, dar multe din întrebări nu se regăsesc în materialele prezentate ci se bazează pe deducție logică.
Pentru ca metodologia SAFE să dea cu adevărat rezultate, e nevoie de un timp de acomodare, rodaj și obișnuință. Aș anticipa că e nevoie cam de 3-4 PI-uri pentru ca toate echipele implicate să reușească să facă o schimbare de mindset și să se sudeze într-una singură.
La început și pentru mine a fost ușor dificil să mă adaptez și să văd imaginea de ansamblu. Total copleșitor a fost și numărul mare de persoane care participă în acest PI Planning - aprox 80. Mi se părea aproape imposibil să se sincronizeze 80 de persoane fără să fie haos. Bineînțeles că la început este puțin haotic pană se obișnuiesc cu toții și fiecare să știe ce are de făcut. Toată lumea trebuie să învețe să aibă interacțiuni planificate cu alte echipe și să își aștepte rândul până problema lor este rezolvată. Cu răbdare și perseverență, SAFE este o metodologie care poate să facă diferența în software development.
Eu vă recomand să studiați această metodologie: în mod cert, ar putea ajuta multe echipe să se sincronizeze și să se coordoneze mai bine.
de Kiss Tibor
de Ovidiu Mățan