Partea a doua a articolului : TFS ca platformă de colaborare
Aș dori să subliniez în continuare următoarele aspecte legate de TFS, de care atât programatorii cât și non-dezvoltatorii pot beneficia: web portal și Kanban board, management de proiect și version control. Unele dintre aceste caracteristici necesită o licență de tip Stakeholder, în timp ce altele necesită o licență plătită.
Portalul web este o zonă de lucru versatilă, care se adaptează la fiecare utilizator în funcție de hub-ul\tab-ul selectat de acesta (home, code, work, build, test), nivelul de acces de care dispune (stakeholder, basic, advanced) și de opțiunile configurate pentru proiect.
Fig2. VisualStudioOnline Kanban board
Ca dezvoltator s-ar folosi mai mult Visual Studio în activitatea de dezvoltare, dar acesta se poate baza și pe hub-ul Code din portalul web pentru a vizualiza, descărca și compara fișierele din source code, cât și pentru a vizualiza changeset-urile și shelvesets-urile și pentru a lucra cu repozitoriile GIT.
Non-dezvoltatorii ar lucra în principal cu hub-ul Work și funcționalitățile aferente acestuia: crearea de noi elemente de lucru, folosirea de TFS queries pentru a găsi mai usor work item-urile căutate, crearea de backlog-uri, urmărirea progresului echipei folosind kanban board-ul, crearea de elemente favorite ce pot fi postate pe hub-ul Home și ce vor fi disponibile pentru toată echipa (queries, burndown reports, charts, diagrams etc).
Cele mai multe dintre lucrările efectuate în cadrul unui proiect trebuie să fie organizate într-un mod coerent.
Din experiența mea, planificarea implică de obicei, cel puțin câteva sticky notes și whiteboard de dimensiuni decente pe care note-urile sunt de obicei structurate într-o manieră asemănatoare Kanbanboard-ului electronic:
Fig3. "Simple-kanban-board-"von Jeff.lasovski - Eigenes Werk. Lizenziert unter CC BY-SA 3.0 über Wikimedia Commons
Prin utilizarea Kanban puteți vizualiza și gestiona fluxul de lucru în cadrul echipei, stabili limite clare pentru work in progress (WIP) în scopul de a menține concentrarea pe sarcinile curente și de a îmbunătăți colaborarea echipei prin crearea de oportunități de feedback, făcând astfel blocajele și problemele mai ușor de identificat. Plăci Kanban sunt disponibile pe scară largă, fie că vorbim de variantele open source, cum ar fi Trello și Taiga sau Kanban Tool, Jira și TFS.
Kanban este pe cale de a deveni un proces utilizat de către tot mai multe echipe de dezvoltare, ca de altfel și kanban board-ul. Microsoft a adăugat suport pentru Kanban începând cu TFS 2013 și continuă să îmbunătățească și consolideze suportul și în TFS 2015, precum și pentru platforma în cloud, Visual Studio online.
Voi expune cele mai importante aspecte ale board-ului de Kanban din TFS:
I. Crearea ușoară de board-uri în doar 3 pași
Deschideți portalul în modul administrativ
Fig4. Interface to create a new Kanban team
II. Structura de permisiuni flexibilă - permisiunile trebuie definite de două ori:
Prin adăugarea unui utilizator ca membru al echipei tale acesta poate să vadă doar hub-ul Home al board-ului tău. (Acesta conține de obicei workflow charts, team queries și diagrame.)
Fig5. Access permissions structure for area path nodes
Persoanele externe echipei sau proiectului vor primi acces de stakeholder, (aceștia netrebuind să acceseze codul sursă și funcțiile administrative. Permisiunile lor vor permite doar vizualizarea de diagrame și eventual crearea de noi work item-uri. Membrii echipei vor avea drepturi depline, dar și acestea poti fi modificate în funcție de necesități și de drepturile pe care le are colegul în echipă. (De exemplu un team admin va putea să creeze noi area path-uri și iterații pentru backlog).
III. Abilitatea de a defini fiecare coloană din board și stadiul în care trebuie să se afle un work item pentru a putea ajunge în acea coloană - este o reprezentare grafică a stadiului în care a ajuns un work item și deci un task ce trebuie prelucrat în cadrul acelui backlog.
Folosind work item tracking și pachetul Microsoft Office, alături de serviciile de colectare și raportare de date, managerul de proiect și membrii echipei au tool-urile necesare monitorizării evoluției proiectului .
TFS are capacitatea de a acoperi cererile, partea Request Tracking cât și partea de Problem Report, necesare unui mediu de dezvoltare. TFS premite utilizatorului să acceseze și să manipuleze obiectele (numite Work Items) cu ușurință folosind produse din familia Ofice: pot fi redirecționate via Outlook, pregătite pentru publicare prin MS Publisher sau pot fi modificate în masă prin utilizarea MS Excell. În adiție, utilizarea mecanismului de process template din TFS ne dă capacitatea de a adapta procesele specific proiectului în funcție de mediul de programare sau de necesitatea proiectului în sine. Un proces template constă dintr-un set de instrucțiuni necesare pentru a pune bazele noului proiect. Aceste instrucțiuni conțin obiecte cum ar fi: work item, roluri în cadrul proiectului, permisiuni, etc. .
Proces templates-urile standard vin o dată cu instalarea TFS-ului, dar acestea pot fi modificate și extinse sau se poate crea un nou template, cu scopul de a permite proiectelor să definească procesul de dezvoltare necesar lor.
TFS oferă un mecanism standard de version control pentru branching, merging, version management check-in și check-out. TFS include de altfel opțiuni adiționale cum ar fi: shelving (abilitatea de a stoca schimbări parțiale fără a le valida în totalitate) și check-in policies dinamice care se adresează problemelor specifice development-ului la o scară mare. Dar cum îi ajută toate acestea pe non-developer-i?
Ești un trainer și trebuie să pregătești pe noii colegi să lucreze cu TFS. De obicei, un astfel de training se face în cadrul unui workshop sau prin organizarea unui curs care are și o parte de hands-on. Odată cu apariția versiunilor noi de Visual Studio sau TFS se adaugă, se schimbă sau sunt scoase functionalități. Dar va trebui să se schimbe și documentația necesară training-ului. Dacă ai menține copii ale acestei documentații în TFS, ai putea să vezi "istoria" documentației și toate schimbările pe care acesta le-a suferit de-a lungul anilor.
Poate nu pare important acum, dar asemenea tuturor firmelor de development, Siemens trebuie să își arhiveze sowftware-urile cu statusul released pentru a se asigura ca în 5-10 ani sursa software -ului poate fi restaurată și developer-ul poate lucra la un patch sau la un fix care este cerut de către client.
Să ne imaginăm următoarea situație : o echipă de suport trebuie să își reînnoiască constant FAQ-urile. Dacă un FAQ entry este șters, echipa de suport este forțată să cerceteze din nou problema și să creeze un FAQ entry nou. Printr-un simplu check-in în TFS, ai avea toata istoria bazei de date FAQ. Dacă consideri că un anumit fișier nu mai este necesar, poți să-l ștergi în orice moment. De notat este faptul că TFS nu șterge cu adevărat nici un obiect din version control , doar îl ascunde; dacă se dorește ștergerea completă a unui obiect, este necesară folosirea opțiunii destroy.
În concluzie, adoptarea TFS-ului în organizația dumneavoastră poate aduce beneficii unui număr mare de angajați. Licența de tip Stakeholder cu ajutorul căreia oricine din echipă poate să urmărească prioritățile proiectului și să ofere îndrumări, să împărtășească idei, dar și capacitatea nativă de a suporta diferite exstensii sau de a dezvolta extensii suplimentare in-house se numără printre importantele beneficii . La acestea adăugăm și faptul că se pot modifica diferite aspecte ale TFS pentru a optimiza funcționalitățile existente în cazul în care există cereri speciale în cadrul proiectului.
de Ovidiu Mățan
de Cristina Juc
de Ioana Luțaș
de Ovidiu Mățan