Arta de a te opri

Fac parte dintr-o echipă care a trebuit să ducă la bun sfârșit o operațiune în zece zile. Am fi putut spune că am reușit dacă, după modificările noastre, pe ecran ar apărea o floarea-soarelui (frumoasă, galbenă). Nu e așa simplu cum pare; anul trecut am făcut ceva asemănător și, la prima încercare, am avut niște petale albastre...

După șapte zile am ajuns să avem o primă variantă funcțională a aplicației; dar, acolo unde ar fi trebuit să fie floarea-soarelui, a apărut o pată neagră. Ne-am chinuit câteva ore să ne dăm seama care e problema, dar nu am reușit.

Ideea "revoluționară" care ne-a venit a fost să renunțăm la tot ce am făcut și să o luăm de la capăt. Am progresat mult mai repede și la finalul celei de-a noua zile am fost aproape gata, dar am avut o nouă surpriză; nu am mai putut avansa. Am chemat un expert (nu chiar pe acesta) și el a început să facă "magia" care rezolvă problema. Nu i-a ieșit...

În ultima zi, am început renunțând la modificările expertului, am abordat problema puțin altfel și seara am văzut pe ecran floarea-soarelui în toată splendoarea ei...

De două ori am decis să nu continuăm pe o direcție care nu ar fi dus nicăieri; prima dată am renunțat la ce am muncit timp de șapte zile, dar nu și la ceea ce am învățat în perioada respectivă; a doua oară am renunțat la munca expertului (nu am învățat nimic nou fiindcă oricum nu înțelegeam ce face).

Faptul că am renunțat la abordările greșite deși ni s-a părut că suntem aproape de soluție, ne-a salvat. Acum știm că orice continuare a eforturilor în direcțiile respective ar fi fost inutilă.

Astfel de întâmplări au loc în fiecare zi. Nevoia de consecvență este mare; există o presiune a societății pentru consecvență și acest lucru nu este întotdeauna bun. De cele mai multe ori ne este foarte greu să recunoaștem că am greșit (mai ales dacă trebuie să o facem în fața altora) și insistăm să continuăm deși șansele obținerii unui rezultat satisfăcător sunt foarte mici. Dacă recunoaștem că am greșit și vrem o nouă abordare, atunci "binevoitorii" din jur nu ezită să ne spună: "dar ai zis că..."

Renunțarea este mai ușor de digerat dacă munca este individuală sau în echipe mici. În echipe mai mari, puțini au curajul să își asume responsabilitatea unei decizii prin care munca a zeci sau sute de oameni este, aparent, "aruncată la gunoi". Experiența acumulată pare să conteze doar la nivel declarativ...

În concursurile de programare nu renunțăm la o idee deși nu reușim să rezolvăm în mod satisfăcător o problemă. Ne e greu să renunțăm și să încercăm o alta fiindcă simțim să "suntem aproape". Ajungem să pierdem timpul cu problema respectivă și să nu avem timp pentru altele. Ar trebui să avem curajul să trecem la alta; de asemenea, ar trebui să avem curajul să o luăm de la zero (la urma urmei, programul care rezolvă o problemă de algoritmică are, de obicei, câteva zeci de linii de cod - sau poate câteva sute).

Când dezvoltăm software, de multe ori avem la dispoziție mai multe abordări. Prin anumite mecanisme este aleasă una; în cazul ideal, întreaga echipă și-o asumă; în practică, abordarea este aleasă de o persoană cu autoritate (lider oficial sau de facto) care, eventual, a mai convins doi, trei prieteni. În primul caz, eșecul este al echipei și o echipă experimentată se va opri mai ușor. În al doilea caz, se poate ajunge în situația în care liderul (sau grupul care a luat decizia) va ține cu dinții de ea și munca va continua fără perspectiva de a se ajunge la un rezultat. Mai rar, un astfel de lider își recunoaște greșeala dar atunci, cei care nu au fost de acord cu alegerea inițială sau nu au fost consultați au replici de genul: "tu ai zis că așa facem". Metodologiile moderne de dezvoltare a produselor software spun că este foarte bine să eșuăm des, dar cât mai repede pentru a nu irosi resurse în direcții greșite. Din nou, se întâmplă la nivel declarativ...

În viața de zi cu zi trebuie să fim la fel de consecvenți. Dacă promitem ceva, trebuie să ne ținem de cuvânt... Celor cărora ne-am dat cuvântul nu le pasă că între timp au apărut informații noi care ar putea duce la rezultate mai bune. Din nou ne confruntăm cu "ai zis că..."

Te-ar putea interesa și:

  • AncaEmanuel

    Din ce ați spus mai sus, se pare că se aseamănă cu rezolvarea unei probleme de matematică.
    Aveți ingredientele de bază, le stăpâniți cât de cât, nu 100%, și încercați diverse idei de rezolvare.
    Sunt mai multe căi de a rezolva o problemă, asta, de obicei.
    Dar sunt cu mult mai multe căi de o a lua pe arătură.
    De cele mai multe ori soluția elegantă și eficientă e greu de găsit, și vine după multe iterații, muncă și ingredientul secret: pasiune.