Despre Daniel Nicolescu

Daniel Nicolescu este Chief Product Officer al GECAD ePayment si Avangate, functie care implica dezvoltarea produselor, coordonarea echipelor de dezvoltare si elaborarea strategiilor go-to-market.

Daniel are peste 12 ani de experienta in industria IT & C, dintre care 7 in cadrul echipei GECAD. A facut parte din echipa RAV AntiVirus (tehnologie achizitionata de Microsoft in 2003), continuand apoi timp de 5 ani ca Chief Technology Officer pentru ePayment si Avangate. In 2008, in calitate de Business Development Manager, a fost responsabil cu organizarea operatiunilor biroului Avangate din Statele Unite ale Americii.

Daniel este specializat in management de produs, management de proiect, e-commerce, distributie de software.

Cititi ultimele articole scrise de Daniel

Cum sa dezvolti Agile, pas cu pas

Adaugat pe data: May 26th, 2010 / Scrie un comentariu
Daniel Nicolescu - Metodologia Agile

Daniel Nicolescu - Metodologia Agile

In perioada 14-15 mai a avut loc conferinta Open Agile Romania, unde am sustinut o prezentare despre Agile pentru echipe cross-departamentale.

Pentru ca am primit foarte multe intrebari despre metodologia Agile (cum am implementat-o, daca functioneaza sau daca este mai eficienta) am decis sa scriu acest articol pentru a explica procesul si pentru a raspunde intrebarilor.

Ce este Agile?

Va propun sa incepem cu definitia acestei metodologii: “Agile face referire la un grup de metodologii de dezvoltare, bazate pe iteratii de dezvoltare, unde cerintele si solutiile evolueaza prin colaborarea intre echipe auto-organizate, inter-functionale.”

Ce am subliniat in definitie este faptul ca orice dezvoltare (tehnica sau comerciala) are nevoie de mai multe iteratii de strangere si implementare a feedback-ului pentru a ajunge in stadiul in care ofera valoare de business.

Metodologia Agile nu este aplicabila doar dezvoltarilor tehnice, ci oricarei dezvoltari in afaceri: schema de preturi pentru un produs, strategia de marketing sau chiar strategia unei companii.

Pentru a intelege mai bine aceste lucruri, haideti sa vedem impreuna cum functioneaza Agile: vom presupune ca avem de dezvoltat un modul nou la o aplicatie existenta – “Raportarea profiturilor saptamanale”.

Pentru a realiza acest proiect, vom alcatui o echipa mixta formata din specialisti de la departamentele de produs, dezvoltare, vanzari, marketing, financiar si project management.

Cum implementam metodologia Agile?

Lucrul intr-o echipa inter-functionala este cu siguranta mult mai solicitant decat in cazul unei echipe cu profil unitar. Haideti sa vedem mai departe cum va contribui echipa astfel formata la dezvoltarea noului modul:

  • Specialistii in produs: definirea specificatiilor, pentru a raspunde cerintelor clientilor care au cerut aceasta dezvoltare
  • Specialistii in dezvoltare: arhitectura tehnica si codarea propriu-zisa
  • Specialistii in user experience (UX): realizeaza “schitele de produs” ale modulului (in forma de prototip sau macheta), pe baza specificatiilor trecute prin filtrul utilizatorilor finali, jucand continuu rolul de “avocat” al utilizatorilor
  • Specialistii in vanzari: definirea valorilor care pot fi monetizate (cum se va vinde noul modul, cat va costa)
  • Specialistii in marketing: pozitionarea in cadrul strategiei existente; ei vor coordona integrarea in actiunile de marketing ulterioare (lansare oficiala, newsletter etc.)
  • Specialistii din departamentul financiar: definirea solutiilor financiare pe care le va oferi noul modul (pentru ca scopul noului modul este de a raporta profituri, nu?)
  • Specialistii in Project Management vor ajuta intreaga echipa cu tot ce inseamna coordonare

Cum sa devii Agile pas cu pas

Urmand metodologia Agile, iata care sunt etapele dezvoltarii:

Pasul 1 – Definirea cerintelor de business

Echipa va analiza toate cerintele si feedback-ul clientilor / beneficiarilor finali ai modulului si va alcatui setul de cerinte de business; urmeaza sedinta de analiza in cadrul careia echipa se pune de acord asupra cerintelor (este un pas foarte important, va recomand sa nu il sariti). Avand feedback-ul inter-departamental, vom pleca la drum cu un set initial de valori.

Pasul 2 – Realizarea schitelor de produs (macheta sau prototip)

Acest pas consta fie in prototiparea modulului, ce are ca rezultat o “schita” functionala, cu care se poate interactiona, fie intr-o macheta, care contine imagini ale fiecarui pas din modulul in lucru. Schita de produs ofera o imagine clara a modului de interactiune cu interfata modulului nou, inainte de inceperea dezvoltarii propriu-zise.

Astfel, in cadrul unei noi sedinte, de prezentare a schitelor, membrii echipei vor vizualiza si intelege mult mai bine cum va arata si functiona noul modul. Iar feedback-ul primit, chiar daca presupune o schita cu totul noua, poate fi implementat cu rapiditate, evitand astfel eventuala pierderea timpului mult mai mare de dezvoltare ce ar necesita revizuiri majore.

Pasul 3 – Dezvoltarea

Avand schitele de produs, departamentul de dezvoltare se va concentra pe “cum” si nu pe “ce” (asa cum se intampla in foarte multe cazuri) – inginerii se vor bucura ca stiu exact ce trebuie sa dezvolte si vor inova la capitolul tehnologie, care este specialitatea lor si care va adauga un plus de valoare produsului final.

Pasul 4 – Feedback

Imediat dupa ce se termina prima runda de dezvoltari, organizam o intalnire in cadrul careia prezentam varianta functionala a schitelor de produs. Ghiciti ce – se vor genera idei noi! Aici intervine un numar variabil de iteratii in care echipa analizeaza, defineste si implementeaza ideile bune (metodologia Agile in actiune); din nou, adaugam valoare produsului nostru.

Pasul 5 – Testare si lansare

In final, dupa ce avem setul final de functionalitati, testam noul modul si il lansam in productie.

Pasul 6 – Feedback de la client

Pentru a fi siguri ca am dezvoltat exact ce a asteptat clientul, cerem feedback rapid, il analizam si il implementam la fel de rapid. Daca este posibil, eu recomand implicarea clientului pe tot parcursul dezvoltarii – ne asiguram de tot suportul lui si, mai ales, de decizia de cumparare / utilizare din momentul lansarii in productie.

Procesul agil de dezvoltare este finalizat doar in momentul in care clientul / beneficiarul final utilizeaza cu succes modulul nou creat.

Prin efectuarea exercitiului de mai sus am incercat sa evidentiez modul in care iteratiile aduc valoare unei dezvoltari – pentru ePayment aceasta metodologie este foarte eficienta. Desi exemplul ales este din sectorul tehnic, metodologia si principiile Agile pot fi aplicate cu succes si in alte domenii.

Voi ati implementat Agile in afacerile voastre?

  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Twitthis