SAFe. Cel mai popular framework de Agile scaling
Acest articol este despre procesele de Agile software development, insa incepe cu o referinta legata de una dintre cele mai mari provocari stiintifice ale secolului 21. Pentru cei care inca se considera geeks va fi o paralela interesanta. Iar pentru restul sper ca va fi cel putin o comparatie intriganta.
Provocarea la care ma refer este asa numita „Theory of Everyhting”. Daca nu stii ce inseamna, prima intrebare ar fi „Unde ai trait pana acum?”.
Dand gluma la o parte, este vorba despre efortul comun al unora dintre cele mai stralucite minti din stiinta de a aduce impreuna doua versiuni ale universului nostru aparent incompatibile: lumea cuantica si teoria generala a relativitatii. Teoria cuantica abordeaza lucrurile care au loc la o scara foarte mica, pe distante masurate de constanta lui Planck — fotoni, quarci sau bosoni. Aceasta lume este guvernata de forte si legi foarte ciudate. Cea de-a doua teorie explica ce se intampla la scara noastra: oameni, planete, galaxii si univers. Aceasta lume este guvernata de gravitatie.
Nume precum Einstein, Hawkins, Bohr, Schrodinger sau Feynman ar trebui sa iti fie familiare si ar mai trebui sa stii ca in acest moment nu exista o teorie definitiva care sa explice si sa modeleze ambele versiuni ale acestei realitati. Am putea spune ca Quantum Field Theory sau String Theory au cele mai mari sanse de reusita dar inca mai avem un drum lung de parcurs.
De ce aceasta paralela intre fizica si product development?
Nu pentru ca vrem sa facem o comparatie intre cele mai mari genii din lume si cei care lucreaza in IT. Nici pentru ca vrem sa spunem ca programatorii sunt similari bosonilor sau electronilor prin faptul ca sunt foarte evazivi atunci cand starea lor actuala este observata. Sau ca au un comportament greu de inteles uneori. Si nici pentru ca am vrea sa spunem ca organizatiile sunt similare planetelor, avand o inertie si rezistenta la schimbare comparabile.
Motivul acestei comparatii este ca vreau sa revenim cu picioarele pe pamant si sa ne uitam la organizatiile noastre si sistemele pe care le dezvoltam dintr-un punct de vedere mai pragmatic si realist. Este important sa intelegem ca desi exista un grad ridicat de complexitate si ca problemele cu care ne confruntam sunt reale, nu sunt nicidecum comparabile cu cele cu adevarat provocatoare din alte domenii. Ele pot sa fie abordate si rezolvate intr-o perioada de timp rezonabila avand o mentalitate potrivita si vointa.
Vestea buna este ca avem de-a face cu sisteme ale caror comportamente pot sa fie intelese, modelate si imbunatatite chiar si de ingineri ca mine. Cele doua sisteme despre care vorbim in product development fiind produsul in sine si organizatia care lucreaza la implementarea lui.
In domeniul product development cele doua zone care trebuie reconciliate sunt cele ale oamenilor de business versus angajatii care lucreaza la implementare. Oameni precum programatori, analisti, software testeri etc. Ca sa punem lucrurile un pic diferit, exista doua puncte de vedere diferite: initiativele de anvergura si planurile pe termen lung bazate pe o gandire pe mai multi ani versus acitvitatile de zi cu zi ale fiecarui angajat. Aceste doua puncte de vedere nu ar trebui sa fie sub nici o forma in opozitie sau contradictorii. Rezolvarea diferentelor intre cele doua ar trebui sa fie posibila.
Desi Agile development, in diferite forme, este prezent de peste 20 de ani si pe langa el am mai avut inainte si sisteme precum Toyota Production Systems, Lean, „Just in time” si asa mai departe, pare ca inca intampinam dificultati atunci cand incercam sa aliniem si sa construim sisteme sau solutii la scara larga in cadrul unor organizatii foarte mari cu sute sau mii de angajati.
Reconcilierea celor doua perspective si rezolvarea provocarilor ar trebui sa fie principalele obiective ale oricarei framework care incearca sa scaleze principiile, valorile si procesele Agile de la nivelul echipei la nivelul intregii organizatiii. Iar acest lucru este unul dintre elementele cheie ale Scaled Agile Framework (SAFe).
O scurta introducere in SAFe.
SAFe reuseste sa ofere un compromis bun deoarece in aproape toate lucrurile pe care le defineste, permite fiecarei persoane sa participe cu idei la luarea deciziilor, creeand astfel un design emergent, o arhitectura mai buna si permitand identificarea de imbunatatiri. Daca au sens acestea pot sa fie promovate si industrializate la nivelul intregii organizatii. Cu alte cuvinte, o abordare de jos in sus in ceea ce priveste incurajarea inovatiei in general.
Frameworkul mai ofera si mijloacele necesare pentru a defini framework-ul procesului de luare a deciziilor, instructiuni care sa fie folosite si respectate in toate ariile, procesele si instrumentele pentru coordonarea necesara ca acest loop sa fie inchis si a masura beneficiile. Toate aceste lucruri scot in evidenta o abordare de sus in jos in ceea ce priveste coordonarea generala si strategia.
SAFe exista din 2011 si este una dintre cele mai adoptate modele, avand undeva in jur de 30% din implementari. Are o comunitate puternica si activa de practicanti si utilizatori si pare sa fie si cea mai populara printre manageri si executivi.
Ofera 4 configuratii care pot sa fie folosite pentru a aborda nevoile diferitelor organizatii incepand de la implementarea de produse la scara mai mica unde lucreaza in jur de 50–100 de oameni pana la nevoile unor companii care au un portofoliu vast de solutii sau servicii precum si sute de mii de angajati.
Toate informatiile legate de framework pot sa fie gasite pe site-ul oficial. Asa ca in restul seriei de articole pe acest subiect vom discuta despre diferite exemple de situatii sau provocari care pot sa fie abordate luand in considerare principiile si practicile SAFe. Vom scoate in evidenta beneficiile iar la final vei avea ocazia sa parcurgi si lista noastra de cursuri pe acest subiect.
Vrei sa adopti SAFe in organizatia ta? Descopera cursurile noastre.
Iulian Velea
Certified SAFe® Program Consultant (SPC4)
Originally published at https://www.luxoft-training.ro.