Este bine stiut faptul ca organizatiile opereaza intr-un mediu din ce in ce mai competitiv, caracterizat prin volatilitate, incertitudine, complexitate si ambiguitate. Accesul la informatie este extrem de facil, consumatorii sunt din ce in ce mai educati, iar provocarea firmelor este sa vina cu solutii cat mai relevante pentru client. Aceasta se intampla pentru ca nu este important produsul pe care il facem, ci nevoia sau problema pe care o rezolva.

Companiile care reusesc sa incorporeze dorintele consumatorilor si se adapteaza usor schimbarilor venite din mediul extern sunt acele companii care au agilitate in business si pe care le vom mai intalni si peste 5 sau 10 ani.

Dar oare a avea agilitate in business este acelasi lucru cu a lucra Agile?

A lucra Agile este doar unul din raspunsurile pe care organizatiile le gasesc pentru a dobandi agilitate. Asta pentru ca Agile este o abordare de management care favorizeaza schimbarea vs. o planificare metodica pe un interval mai indelungat si care este ulterior greu de modificat.

Beneficiile implementarii Agile

Conform unui raport intocmit de State of Agile in 2018, principalele beneficii ale adoptarii Agile raportate de companii au fost in primul rand adaptabilitatea la schimbare (69%), alinierea intre liniile de business (65%), cresterea motivatiei intrinseci (64%), livrarea mai rapida (63%). Desi un potential motiv secundar de implementare ar putea fi reducerea de costuri, doar 28% din companii au raportat o reducere efectiva. Motivul este acela ca un focus strict pe costuri poate fi limitativ pentru activitatea de inovare si nu ia in considerare costurile de oportunitate aparute datorita ratarii unor ocazii aparute in piata.

Raportul detaliat este prezentat mai jos:

Sursa: State of Agile report 2018 www.stateofagile.com

Agile Manifesto

Valorile si Principiile Agile

Modul de lucru Agile a aparut mai intai in industria de dezvoltare software, dorindu-se a fi un cod de bune practici la care sa adere practicienii din aceasta industrie. Valorile si principiile enuntate sunt insa universabil valabile, de aici si transcenderea catre alte industrii care s-au identificat cu filosofia si au vazut beneficiile in modul de lucru Agile.

In centrul filosofiei Agile sunt cele 4 valori enuntate mai sus:

  1. Oamenii si interactiunile dintre ei au intaietate asupra proceselor si instrumentelor de lucru

Unul din cele mai populare modele de estimare de cost al proiectelor software, COCOMO model (COnstructive COst MOdel) propune un studiu efectuat pe mii de proiecte, pentru a intelege care sunt determinantii succesului unui proiect. Rezultatul a fost extrem de clar: factorul uman coreleaza cel mai puternic, de 10 ori mai mult decat procesele folosite! Ceea ce intuitiv era cunoscut, acum este insotit de date greu de contestat.

  1. Software functional vs. documentatia detaliata

Focusul este pe a livra ceva (software, sistem, produs, etc) care sa functioneze, spre deosebire de a crea o documentatie care sa fie extrem de detaliata pentru orice situatie posibila si care pana la implementare poate suferi multe modificari sau chiar poate sa nu mai fie relevanta. De aceea documentatia in modul de lucru Agile este “just-in-time”, “just enough” si “just because” – adica este construita pe masura ce proiectul evolueaza, astfel incat sa fie gata la final, nu mai devreme si sa contina strict scopul final al proiectului, nu nenumarate variante intermediare.

  1. Colaborare cu clientul vs. negociere de contract

Asa cum o companie opereaza intr-un mediu de incertitudine si clientii ei au aceleasi provocari. De aceea in centrul filosofiei Agile este colaborarea si intelegerea nevoii clientului, care primeaza negocierii de contract. La urma urmei, daca un client are succes cu solutia livrata, atunci si compania-furnizor va avea la randul ei succes. Urmare a acestei abordari, contractele folosite in lumea Agile sunt adaptate astfel incat sa acomodeze eventuale schimbari ulterioare si sa indeparteze cat mai mult din birocratia semnarii actelor aditionale.

  1. Raspundem la schimbare vs. sa urmarim un plan

Agile este despre schimbare si prin modul sau de organizare propus, “invita” schimbarea cu fiecare livrabila catre client, solicitand feedback si find deschis catre modificari. Acest lucru este posibil pentru ca spre deosebire de modul de lucru traditional, in Agile planificarea nu este extrem de precisa si detaliata la inceputul proiectului, vederea este de ansamblu si proiectul evolueaza cu fiecare livrabil in functie de feedback-ul primit de client. Acest raspuns de la client poate fi in linia planului de ansamblu initial sau poate sa initieze o directie noua, pentru ca intre timp clientul a dobandit noi informatii sau are noi provocari.

Mai departe, acest set de valori este completat cu 12 principii de aplicare, indiferent de metodologia Agile folosita, astfel:

  • Prioritatea noastra este sa satisfacem clientul prin livrare rapida si continua de software valoros.
  • Schimbarea cerintelor este binevenita, chiar si mai tarziu in process. Prin Agile valorificam schimbarea pentru obtinerea avantajului competitiv al clientului.
  • Livram frecvent software functional, de la cateva saptamani la cateva luni, cu preferinta spre intervale de timp cat mai scurte.
  • Oamenii din business si dezvoltatorii lucreaza impreuna zilnic, pe parcursul derularii proiectului.
  • Lucram la proiecte cu oameni motivati. Le asiguram cadrul si suportul de care au nevoie si avem incredere ca o sa livreze.
  • Cea mai eficienta metoda de a disipa informatia intr-o echipa este prin conversatia fata-in-fata.
  • Software-ul functional este principala masura a progresului.
  • Procesele Agile promoveaza dezvoltarea sustenabila. Sponsorii, dezvoltatorii si utilizatorii trebuie sa fie capabili sa mentina un ritm constant de livrare pe termen nelimitat.
  • Atentie continua catre excelenta tehnica si design bun este ceea ce consolideaza agilitatea.
  • Simplitatea — arta de a maximiza cantitatea de munca nefacuta — este esentiala.
  • Cele mai bune arhitecturi, cerinte si design ies la iveala din echipe care se organizeaza singure.
  • La intervale regulate, echipa reflecta la cum ar putea devina si mai eficienta, iar apoi isi ajusteaza livrarea si comportamentul ca atare.

Principiile enuntate mai sus isi gasesc usor aplicabilitatea si in business, nu numai in lumea dezvoltarilor IT, pur si simplu inlocuind cuvantul software cu sistem / produs.

 

Modul de lucru Agile vs. metoda traditionala

Metoda traditionala de organizare si livrare (denumita si “Waterfall”) are mai multe caracteristici, respectand in mare parte modul de organizare intern a companiei, “produsul” circuland in variile stagii de dezvoltare de la un departament la altul, pana cand ajunge la testarea finala si la lansare. Echipele sunt prin urmare echipe functionale, departamente diferite, iar dezvoltarea secventiala.

Spre deosebire de modul de lucru traditional, livrarea in cadrul Agile se centreaza in jurul valorii oferite clientului cu fiecare iteratie. Companiile se organizeaza in echipe mixte, concentrand specializarile de care este nevoie pentru a finaliza produsul. Astfel se asigura ca toata lumea este implicata si la curent cu ultimele cerinte sau schimbari venite de la client. Clientul este implicat in procesul de dezvoltare, putand sa intervina cu modificari oricand in timpul procesului. In acelasi timp, clientul primeste parti functionale devreme in proiect, putand astfel sa inceapa sa foloseasca inainte de a se finaliza contractul.

Ce au in comun organizatiile Agile?

O cultura in care schimbarea este asteptata si este privita ca pe o oportunitate de a fi mai relevant sau de a aduce valoare. Dezvoltarile sunt progresive, fiecare iteratie bazandu-se pe cea precedenta si incorporand feedback-ul clientului. Echipele se organizeaza singure, sunt motivate intrinsec de dorinta de a fi utili si de a produce valoare. Clientul este implicat la tot pasul si poate folosi cat de devreme o varianta simplificata a produsului solicitat, dar care ii satisface cea mai importanta nevoie. Prioritizarea se face in functie de ce este mai valoros pentru client si nu conform organizarii interne de proiect, care tine de firma. Se incurajeaza lucrul in spatii comune, conversatiile fata in fata, transparenta la orice nivel.

Dincolo de modul exact de aplicare sau de metodologia Agile folosita (scrum, kanban, XP, etc.), Agile este despre mentalitate si mai putin despre formalism.

Sa fii Agile inseamna:

  • sa te concentrezi pe echipe – iar aici adoptia filosofiei este foarte important sa se faca de la niveluri ierarhice superioare
  • sa ai comportamente aliniate astfel incat oamenii sa se simta incurajati sa incerce lucruri noi, fara teama de consecintele unui esec
  • sa ai structura si claritate, mandatele de decizie acordate echipelor sa fie clare, criteriile de prioritizare sa fie transparente
  • sa actionezi in directia construirii unui scop comun la care sa adere echipele si in care sa isi regaseasca importanta muncii lor.

Pe de alta parte, o simpla implementare Agile (sa “faci” Agile) este masura cea mai la indemana in care pur si simplu aderi la un mod de organizare specific, la desemnarea unor roluri si urmarea pasilor din metodologie. Insa implementarea efectiva, fara un mindset adecvat si un leadership aferent nu va fi insotita de succes, ci dimpotriva va crea frustrari si potential poate chiar amplifica haosul intern.

In final, singura modalitate de implementare Agile este… sa incepi. Nu exista o reteta sigura si care sa functioneze la toate organizatiile. Dezvoltarea mentalitatii este cea mai importanta, detaliile implementarii fiind alese in functie de context si relevanta.