Stabilesti cerintele cu clientul, codezi, testezi, livrezi. Treci prin fiecare etapa o singura data. Cand ai ajuns la livrare, ai terminat proiectul.
Stabilesti cerintele cu clientul. Stabilesti ce vei livra in prima etapa. Incepi prima etapa. Codezi, testezi, livrezi. Clientul vine cu noi cerinte. Stabilesti ce vei livra in etapa a doua. Incepi etapa a doua. Codezi, testezi, livrezi. Si apoi incepi etapa a treia. In fiecare etapa, livrezi functionalitate noua. Cand ai terminat toate etapele, produsul este utilizabil.
Stabilesti ceva cerinte cu clientul. Codezi, testezi, livrezi. Dupa prima etapa, ai trecut deja prin intreg produsul. Exista zone care merg mai bine, si zone care merg mai prost. Dar le-ai atins pe toate. Rafinezi cerintele. Incepi etapa a doua. Codezi, testezi, livrezi. Ai un produs care merge mai bine. In fiecare etapa, rafinezi functionalitatile existente. Produsul este mai mult sau mai putin utilizabil in fiecare moment.
Si intrebari :
- Cum faci ca sa convingi clientul ca cea mai buna abordare pentru el, din punct de vedere al raportului beneficiu / pret, este abordarea iterativa ?
- Este intr-adevar abordarea iterativa cea mai eficienta ca beneficiu / pret pentru client?
Experiment :
O echipa creeaza un produs iterativ. Dupa 10 iteratii, lucrurile ajung sa fie OK. In acel moment, scrii specificatiile finale ale produsului.
Dai apoi aceste specificatii unei alte echipe identice pentru implementare in abordarea waterfall. Intuitia spune ca cea de-a doua echipa (waterfall (!)) va face lucrurile mai rapid decat prima echipa (iterativ).
Adica, cat timp clientul stie exact ce vrea, waterfall este mai eficienta decat iterativ ? Pot spune atunci ca abordarea iterativa este utila strict pentru ca ajuta clientul sa-si dea seama ce are nevoie (si atat (!)) ? Clientii chiar nu stiu niciodata ce vor ?
Daca as avea un client despre care stiu cu certitudine ca el cunoaste exact ce are nevoie, ar trebui sa-i propun waterfall sau iterativ, sau incremental ?
Diferenta intre incremental si iterativ, asa cum este vazuta de gojko :

Pe aceeasi tema :
http://alistair.cockburn.us/index.php/Incremental_versus_iterative_development
http://gojko.net/2007/12/04/waterfall-trap/