Din nou despre porci si gaini
Posted by mzaharia on mai 9, 2008
Filed Under Muncă | 4 Comments
De data asta, intr-un context mai serios decat cel al colegului Razvan. Mai exact, in contextul SCRUM, o metodologie agila de dezvoltare software. Pentru cei mai putin familiarizati cu aceasta metodologie, iata pe scurt cateva din principiile ei de baza:
- Dezvoltarea unui produs sau proiect se face in iteratii scurte si consecutive, de circa 6 saptamani (durata poate varia), numite sprinturi.
- Dupa fiecare sprint, echipa trebuie sa livreze software functional. Nu se accepta functionalitati pe jumatate implementate sau netestate.
- Functionalitatile se aleg din “product backlog”, o lista de cerinte venite din partea clientului, care sunt prioritizate si definite in detaliu de catre “Product Owner”.
- Functionalitatile propuse pentru fiecare sprint de catre Product Ownert rebuie estimate de catre echipa. Pe baza estimarilor si a prioritatilor, se decide ce se va implementa intr-un sprint.
- O data decise functionalitatile dintr-un sprint (“sprint backlog”), nimeni nu mai le poate schimba pe parcursul sprint-ului. Daca e nevoie de modificari, ele se vor implementa intr-o iteratie viitoare.
- Echipa care lucreaza la proiect este una multi-functionala, adica trebuie sa contina toate skill-urile necesare terminarii cu succes a proiectului. De asemenea, echipa trebuie sa fie self-organized si self-sustained, la aceasta ajutand un “Scrum Master” – persoana care se asigura ca procesul este respectat si sprint-urile sunt livrate conform planului.
Acum sa revenim insa la porc si gaina.
In filozofia SCRUM, oamenii care au o legatura cu proiectul se impart in doua categorii:
- Porcii – cei care sunt implicati activ in livrarea software-ului la fiecare sprint. Ei sunt practic echipa. (care include Product Owner-ul si Scrum Master-ul)
- Gainile – cei care nu participa concret la proiect, dar de care poate depinde reusita sa. De exemplu, finantatorii proiectului, cei care se ocupa de hosting si hardware sau echipa de suport.
Aparent, divizarea oamenilor in gaini si porci a pornit de la urmatoarea gluma:
A pig and a chicken are walking down a road. The chicken looks at the pig and says, “Hey, why don’t we open a restaurant?” The pig looks back at the chicken and says, “Good idea, what do you want to call it?” The chicken thinks about it and says, “Why don’t we call it ‘Ham and Eggs’?” “I don’t think so,” says the pig, “I’d be committed but you’d only be involved.”
Daca e adevarat sau nu, conteaza mai putin, gluma este buna!
In orice caz, metodologia SCRUM incepe sa fie folosita la Adobe din ce in ce mai mult, in special de proiectele de tip SaaS (Software as a Service). Important este insa sa tinem minte ca nu un anumit proces sau altul asigura succesul unui proiect, ci echipa din spatele lui.
PS: Din curiozitate, va intrebam: ce metodologii de dezvoltare software se folosesc in echipele/companiile voastre?
Comments
4 Responses to “Din nou despre porci si gaini”
Leave a Reply


hehe nu stiam ca-i zice asa … si noi cam tot pe asta mergem doar ca i-am zis Agile.
Cum de cele mai multe ori este imposibil de a scoate toate “requirements” de la client ca poate nici el nu stie exact ce vrea, noi mergem mult pe prototyping care se muleaza perfect pe stilul asta de Agile development. Ce mai e important in metoda asta e ca te descurajeaza sa faci ceva “quick and dirty” si sa pornesti din start cu ideea de extensibiliate,scalabilitate etc.
E foarte tare metodologia. O practic de 4 luni si e foarte utila. In proiectul in care lucrez a fost adaptata si pentru user interface si a dat roade si acolo – desi procesul de verificare a designului dureaza mai mult.
Per total e o metodologie foarte interesanta
Lucrez intr-o firma care practica Agile. Adica mai am o saptamana de lucru aici
Ca si QA insa, stress-ul e foarte mare mai ales pe final de sprint. In teorie, QA-ul ar trebui sa fie cu un sprint in urma la testare. In practica se merge in paralel. De unde si presiunea pe final de sprint ca sa livrezi un produs functional. Iar cel mai distractiv e cand Product Manager-ul se apuca sa adauge noi functionalitati cu o luna inainte de release. Fun, but not healthy
@enciu:
Product Manager-ul nu ar trebui sa adauge noi functionalitati in timpul sprint-ului. Asta contravine principiilor SCRUM.
Iar pentru a livra ceva functional la sfarsitul fiecarui sprint, cred ca functionalitatile trebuie sa treaca prin cel putin o runda de testare. Intr-adevar, stresul e mai mare pe QA la sfarsitul sprint-ului.