Salutare Devforum,
Trebuie sa recunosc ca sunt putin frustrat pe tema “datoriei tehnice” si cred ca asta este unul din motivele pentru care Agile(sub orice forma) pe termen lung nu functioneaza. Mi-ar placea sa citesc si opiniile voastre despre asta.
Peste tot pe unde am lucrat am dat de aceeasi problema a datoriei tehnice care din punctul meu de vedere e tratata superficial din cauza ca facem Agile si mai intai trebuie implementat X, facut release in productie si vedem dup-aia la code-review(daca se mai face) cum imbunatatim. Si nu, testingul NU REZOLVA situatia. De parca e prima daca cand vezi totul verde in command line, mai primesti OK de la QA si peste 2 zile ai pe email 24 de exceptii de la ultimul feature implementat.
De ce cred ca Agile, in orice forma ar veni, va da fail pe termen lung din cauza datoriei tehnice? Pai toate proiectele Agile la care am luat parte erau ceva de genul:
Nu am idee ce o sa iasa la final, nici eu nici clientul nici product ownerul. Gradul de incertitudine este mare la inceput…si ma rog, OK, lucram toti in echipa la niste features, vedem ce iese, probam, raspundem la change cum zice unul din principii, A/B testing, stergem niste functionalitati ca sa introducem altele si tot asa. Dupa 1-2 luni daca ai noroc sa faci o retrospectiva o sa ai un moment din ala gen: “Daca stiam ce se doreste si unde se vrea sa se ajunga, cu siguranta o faceam altfel”.
Nu va “miroase” cunoscut?
Apoi intervin constrains de tipul: “Ain’t nobody got time for that design and test shit” daca ai un business mai sensibil la problemele stakeholderilor sau “We must ship now and deal with consequences”, daca ai un business mai sensibil problemelor tale.
Dar oricum ai intoarce problema, in opinia mea atunci este momentul cand intram intr-o spirala negativa din care nu mai ai cum sa iesi pana cand ajungi cu proiectul ca in Broken windows theory si ori moare de tot ori te apuci sa il refaci.
Ma rog, eu accept ideea de datorie tehnica si cred ca face parte din proiect(oarecum) insa problema principala este ca ea trebuie gestionata oficial de companie sau echipa iar acest lucru nu se intampla sau se intampla doar pe hartie.
Ca un mic disclaimer, frustrarea me este generata de experienta mea in diferite proiecte cu echipe mai mici sau mai mari si de traiectoria mea laborala. Insa de aia scriu aici ca sunt curios si de experientele altora.
Eu am lucrat ca dezvoltator si in companii de produs si in companii de servicii. Cand am lucrat singur, intr-adevar, nu am avut problema datoriei tehnice insa in rest, peste tot, fara nici un fel de discriminare, a fost la fel.