Bogdan Mocanu

De ce Agile-ul nu funcţionează

In Sergiu Ignat on 15 decembrie 2008 at 23:54

Agile methodology - e trendy, cool, e atât de simplu prezentata încât puţini consideră necesar sa o studieze atent şi profund. De ce oare drăcia asta de SCRUM cu nişte sprint-uri şi un backlog nu funcţionează? Există mai multe motive, şi toate ţin, desigur, de management.

În primul rând sunt aşteptările eronate. Managerii din vârf, persoane prin definiţie foarte ocupate, fără să înţeleagă prea bine ce promite noua metodologie, se aşteapta ca programatorii să implementeze aceiaşi funcţionalitate într-un timp redus faţa de waterfall. Ori SCRUM nu promite aşa ceva. Promite însă că atunci când va sosi termenul limită si proiectul va fi doar parţial finalizat, cele aproximativ 80% din funcţionalitatea implementată vor aduce clientului maximul de beneficii, celelalte 20% din funcţionalitate a caror implementare a fost ratată vor fi insignifiante pentru nevoile curente ale clientului. Orice client familiar cu dezvoltarea produselor software va fi mai mult decât fericit sa aibă la momentul propus un produs funcţional, chiar dacă este incomplet. Poate dacă ar intelege mai bine scopul noii metodologii, unii manageri nu ar mai face greseala să o experimenteze. Daca singurul lucru care te preocupă este atingerea “target”-ului cu orice preţ, nu are sens să încerci ceva ce nu iţi promite acest lucru.

O altă problemă este aplicarea partială a metodologiei. Ea incepe de obicei cu texte de genul “Vom lua din ea ce este mai bun şi vom aplica procesului nostru existent”. Metodologia descrisă în cărţi şi articole este verificată în forma în care este expusă. Orice abatere de la forma canonică este un experiment propriu care nu poate garanta nimic. Este ca şi cum ai lua doar o parte din reţeta prescrisă de doctor pentru un tratament. In majoritatea cazurilor s-ar putea să-ţi facă mai mult rău decât bine.

Daca apar problemele descrise mai sus, cu siguranţă se va putea observa şi lipsa de instruire a celor din tranşee. Dupa un “short briefing” în care un mare manager va arăta cu degetul noua direcţie Agile adoptată de corporaţie, programatorul va primi sarcina: “Scrie un backlog.” . “Desigur, imediat, ce- ăla? Un Excel? Câte sheet-uri vrei?”. În unele firme se ia doar partea buna “sprint”-urile, probabil Backlog-ul este considerat partea proastă.

Trebuie să recunoaştem ca nu orice firmă poate fi Agile la fel cum doar persoanele suple pot fi agile. O organizaţie obeză, cu multiple nivele de management pe orizontală şi pe verticală, unde numărul managerilor îl depăşeşte pe cel al programatorilor şi unde fiecare manager, pentru a-şi justifica funcţia, trebuie să mai bage un băţ în roate, nu îşi poate schimba metodologia indifferent care ar fi ea. Rolurile de client şi echipă de dezvoltare sunt imposibil de definit. Cine este clientul? Firmele care cumpără produsul? Departamentul de marketing? Cel de Sales? Post-sales? Customer Support? Cel de Product Development sau de Product Planning? Echipa de dezvoltare este formată din toţi managerii sau sunt acceptaţi şi programatori?

Eu am conştientizat utilitatea SCRUM-ului de abia când nu l-am putut utiliza la noul loc de muncă. Îmi e dor de el si mă doare când unii îi utilizează numele şi conceptele într-o manieră care îi dezgustă pe majoritatea celor implicaţi.

  1. Recunosc: In viata mea nu am citit o carte despre Agile.
    Chiar sunt curios sa aflu de la sursa care sunt metodele. Pentru ca pentru mine informatia legata de agile a venit pe cale folclorica. Si imaginea agile-ului (in capul meu) este identica cu cea a unui haiduc, adica controversata.

  2. Pentru Alex. Imi cer scuze si chiar imi pare rau ca nu ti-am explicat in detaliu ce este Agile/SCRUM. A fost datoria mea sa o fac. Si eu m-am atarnat cam neserios fata de metodologie, nu i-am acordat importanta necesara. Un simplu articol http://de.wikipedia.org/wiki/Scrum fie el si in germana nu este suficient. Cel putin la inceput, pana se creaza automatismele, orice aspect al metodologiei trebuie atent discutat si implementat ca la carte. Cartea fiind una dintre referintele din articol.