SCRUM-ul și diagramele Gantt

Semestrul ăsta credeam că am noroc că o să trebuiască să lucrez la teme cu plăcere și voi vorbi despre lucruri pe care îmi place să cred că le înțeleg. De exemplu azi am mers la școală cu un referat despre SCRUM și o descriere funcțională a unui Sistem de Gestionare a Defectelor (pe românește: Bug Tracker). Înainte de a vorbi despre cele două teme vreau să mă laud și să zic că săptămâna asta am fost în fiecare zi la școală… și… aș fi vrut să o spun cu bucurie și nu ca și cum aș fi pierdut timpul… Unii profi au darul de a te face să-ți pierzi total interesul pentru niște materii care cel puțin sună foarte interesant. Cum poți să fii laborant la o materie care se cheamă Inteligența Artificială în Robotică și să jignești Inteligența Naturală folosind tehnica de predare cunoscută cu numele de „Monkey see, Monkey do”: „Ok, acum click aici, click aici, click aici și… s-a selectat gaura! Acum și voi… S-a selectat? Bravo…”

Să revenim la ziua de azi. Aseara in loc sa incep sa invat pentru Tehnici de Optimizare m-am gândit că ar fi bine să scap de temele la A4 (Analiza și sinteza sistemelor informatice). M-am apucat să descriu în mare SCRUM-ul. And it was funny! (a se citi: „Cum dracu traduci asta?”). Ah… nu știu dacă v-am zis de experiența traumatizantă de săptămâna trecută în care am fost pus să traduc Framework, serviciu REST și Benchmarking (singurul motiv pentru care nu am fost pus să traduc și „operații CRUD” a fost pentru că proful a crezut că am uitat „e”-ul de la sfârșit). Să revenim… pentru a facilita procesul de înțelegere am tradus termeni precum „SCRUM Master” (da… „Stăpânul SCRUM-ului”), Product Backlog, Sprint Backlog, Product Owner, Burndown chart (recunosc, asta l-am lasat asa) și cele 2 pagini s-au transformat în 5 pentru că nu puteam să nu explic fiecare termen pe care îl foloseam… Mi-a luat mai mult decât mă așteptam dar a fost interesant.

Următoarea chestie era să descriu un sistem obiect din punctul de vedere al clientului. Nu mi-a trebuit prea mult să mă gândesc să arăt ca sistem obiect un program de gestiune al defectelor. Dacă tot fac o temă la care îmi face plăcere să lucrez măcar să o fac să arate bine și după 30 de minute m-am hotărât ce template de document oficial să folosesc. În loc de simple liniuțe m-am gândit eu să folosesc „cazuri de utilizare” în care să descriu funcționalitatea produsului final și aceste „cazuri de utilizare” să fie folosite apoi, cand tema va evolua, in Product Backlog Items și am scris eu frumos cum vrea un tester, dezvoltator, „manager peste testare” și un Program Manager să folosească „scula”. Evident că nu lipseau și cerințele non-funcționale gen Performanță, Compatibilitate și Securitate. Nu are rost să continui… prea mult efort.

Ajung eu la ora 8 mândru de temele mele în biroul profului. El se cam miră ce caut acolo, eu mă miram că se miră. Se uită el pe referatul despre SCRUM, admiră graficul și când credeam că asta a fost tot: „Ar trebui totuși să o încadrezi cumva într-un proces de analiză și sinteză… cum ar arăta implementat.” (?!?!?!?) „Da… când voi vorbi de implementarea sistemului obiect voi folosi SCRUM ca metodologie de dezvoltare…” Era rândul lui să se uite ciudat la mine…

Distracția a început la descrierea funcțională a Bug Tracker-ului. După ce răsfoiește paginile ajunge la sfârșit unde își exclamă în sine „Eureka” și îmi arată ultima pagină pe care nu e trecută nicio Bibliografie. „Nu pot să citesc mai mult. Trebuie să mergi la OSIM cu ea. Dacă nu ai bibliografie înseamnă că descrii ceva care nu e inventat încă!”. A se citi uimirea de pe fața mea. Toate încercările mele de a-l convinge nu au avut niciun efect. Nu contează că e ceva cu care lucrez și că cerințele nu vin neapărat că am folosit unul ci pentru că lucrez în industria software si… Am încercat să-i fac analogia cu o scară rulantă (poți să descrii cerințele funcționale fără să citești nicio documentație și e absurd să cauți cine l-a inventat) dar nimic… trebuie să caut cine a implementat prima oară un sistem de gestiune al defectelor. (Google please help: „bug tracker inventor”, „bug tracker first implementation”,…). Nu puteam să trec la bibliografie „http://unbagtraker.com/documentatie” ?? În momentul în care eu spuneam că e absurd a intervenit și profa de curs care a luat documentul meu de specificații și mi-a zis că trebuie descris mai punctual că nu poate ca sistemul meu să funcționeze pentru orice produs software. Să fiu mai specific. ?!?!? După 2 minute în care am încercat să-i explic că poți să-l folosești pentru orice program mă invită să-i demonstrez că din ceea ce scrie în cerințe sistemul meu poate să găsească defectele din Matlab… ?!?!?!? Ok… poate înțelegem totuși diferit conceptul de „Gestionare a defectelor” și îi explic despre ce e vorba deși s-a uitat timp de 5 minute la specificații (ok, să înțeleg că prin „Ca dezvoltator vreau să existe o pagină ușor accesibilă care să-mi afișeze toate defectele pe care trebuie să le fixez” a fost citit ca „Vreau ca programul să îmi descopere toate defectele”… ok.. înțeleg unde a intervenit neînțelegerea). Știu că e vina mea că nu am scris cu Bold despre ce trebuie sa faca acest „sistem obiect” și mi s-a părut de bun simț când mi-a zis că trebuia să fac și niște diagrame „ca ochiul lor să vadă” dar când mi-au dat exemplu… „uite, puteai să folosești diagrame Gantt”. Probabil că se așteptau să audă ceva ce nu înțeleg și să cad pe spate dar ca orice „agile developer” (:D) am sărit ca ars și am început să apăr SCRUM-ul cu mâinile goale împotriva unor tehnici „so 90’s”.

Deja am scris prea mult. Ideea e că am plecat nervos de la ei și nu am predat nicio temă deși eram destul de mândru de ele. Asta e… Copy Paste pe viitor ca să termin și eu facultatea anul ăsta.

4 responses to “SCRUM-ul și diagramele Gantt”

  1. hey copilu … erau obositi…ii depaseai si au zis ca ce “Esti tu mai destept ca ei?!” … never … asa ca s-au legat de tot ce au putut…dar asta nu e ceva nou 😛

  2. Genial! Romania, o tara mereu surprinzatoare!
    E ca in multinationale, esti liber sa ai initiativa, dar numai in limitele definite.
    Traiasca Copy-Paste-ul si internetul :P.