Apr 29, 2009 4
Clientul are voie sa se razgandeasca
Un aspect fundamental pe care nu l-am inteles mai devreme in cariera a fost acela ca un client se va razgandi in mod constant. Daca nu esti pregatit sa il abordezi cum trebuie tu vei fi cel care are de suferit intr-un fel sau altul – pierzi ore de somn si sanatate sau pierzi bani si reputatie.
Ceea ce urmeaza sa citesti iti poate fi util daca esti un web developer freelancer sau daca detii controlul asupra unei agentii de dimensiuni modeste care se ocupa de web development.
Metodologia SCRUM
O metodologie pe care o urmez unde lucrez acum se numeste SCRUM. Aspectele sale cele mai utile pentru mine sunt fragmentarea muncii in mai multe obiective, descompuse apoi in task-uri individuale. Obiectivele sunt apoi prioritizate dupa importanta in urma discutiilor cu managementul de proiect, in cazul tau ar fi clientul sau reprezentantul sau. Tu esti cel care decide cat timp si cat efort va lua fiecare obiectiv estimand task-urile individuale.
Lanseaza des
Aspectul reprezentativ al metodologiei este lansarea in iteratii, de regula o data la 30 de zile. In cazul unui proiect mai mic iti poti permite iteratii si mai rapide de 10 sau chiar 5 zile. In fiecare iteratie se indeplineste cel putin cate un obiectiv. Vei pleca la drum cu obiectivele fundamentale: baza de date in forma primara, modulele de baza – cele fara de care aplicatia nu are sens.
Lansand versiuni incrementale ale aplicatiei ii dai clientului sansa de a-si controla costurile si tie de a-ti doza efortul. Fiecarui obiectiv ii poate fi alocata o suma din costul total estimat al proiectului. In cazul in care clientul isi doreste modificari poti altera valoarea financiara a efortului pe care trebuie sa il depui pe fiecare obiectiv. In modul acesta tu si clientul veti observa ca proiectul inghite mai multi bani sau mai mult efort decat era prevazut si puteti conveni ce se intampla mai departe.
Lista de prioritati
Aici te ajuta lista de prioritati. Clientul poate alege sa renunte la unele mofturi din lista care au prioritatea mai scazuta dar care il vor costa, sau poate alege sa nu modifice obiectivele iteratiei deci vei depune efort care va fi remunerat suplimentar. De regula, orice client care intelege importanta functionalitatii de baza a aplicatiei sale va alege sa reunte la mofturi decat la calitatea produsului. Este datoria celui care intermediaza discutia cu clientul sa il indrume spre optiunea care va aduce mai multa valoare produsului decat bani usori in buzunarul dezvoltatorului. In final depinde de cum vrei sa iti construiesti cariera.
Avantajele modului de lucru cu SCRUM
- pleci la drum cu o estimare a costurilor, nu cu un pret fix.
- clientul are sansa sa vada produsul din si evolutia sa din timp.
- nu lucrezi degeaba perioade indelungate de timp fara sa ai feedback activ din partea clientului.
E aplicatia lui, are tot dreptul sa o vrea modificata. - ajustezi din mers modul in care aplicatia se comporta si ceea ce face.
- ai ocazia sa iti observi ritmul de lucru pe intervale de timp bine determinate.
In viitor te va ajuta sa iti faci estimarile de timp si efort mult mai apropiate de realitate - psihologic iti vine mult mai usor sa accepti schimbarea la un modul pe care nu ai apucat sa il construiesti.
Accepti mult mai usor schimbarea unui modul pe care l-ai construit deja atunci cand si clientul intelege impactul acestei decizii asupra costului produsului final sau a setului de optiuni pe care acesta il va oferi. - daca aplici modelul de plata peste secventa de iteratii si tu, la randul tau, ai o siguranta financiara.
Scurt despre SCRUM
SCRUM este o metologie care include mai multe practici. Eu ti-am expus doar cateva esentiale pe care le-as folosi daca ar trebui sa lucrez la o aplicatie web pentru un client. SCRUM acopera multe aspecte are muncii de echipa si se bazeaza pe auto-managementul fiecarui individ. Daca esti interesat de mai multe detalii cauta singur. Google e un bun inceput.
