|
"Datorita implementarii Microsoft Visual Studio 2005 Team System, proiectele sunt mai transparente pentru management, ceea ce duce implicit la o mai buna organizare si coordonare a acestora, printr-un proces uniform, existand totodata posibilitatea raportarii in fiecare faza. Compania a devenit mai eficienta dand dovada de competitivitate, iar calitatea serviciilor a crescut semnificativ" - Eugen Diaconeasa, Software Development Manager, PharmEc Software.
Acest studiu a fost realizat de Microsoft Romania si analizeaza implementarea Microsoft Visual Studio 2005 Team System in compania noastra. Deoarece documentul oficial Microsoft se refera la vechea denumire a companiei, PharmEc Software, am pastrat forma originala a acestuia, asa cum apare si pe site-ul Microsoft, la adresa http://www.microsoft.com/romania/solutii/studii_de_caz/pharmec.mspx. Procesul de rebranding in urma caruia PharmEc Software a devenit Pluriva SRL a fost finalizat in decembrie 2008.
Situatia initiala Dezvoltarea software in cadrul PharmEc Software era caracterizata prin: • derularea mai multor proiecte in paralel; • alocarea membrilor echipelor in mai multe proiecte; • utilizarea de aplicatii interne de project management si de inregistrare a activitatilor; • controlul surselor in Microsoft Visual Source Safe Fluxul de lucru includea preluarea cerintelor de la client, analiza, estimarea, propunerea, contractarea, dezvoltarea, inregistrarea zilnica a activitatilor in aplicatiile intranet de project management, controlul surselor in Microsoft Visual Source Safe si al documentelor tinute intr-o structura de foldere. Existau mai multe categorii de probleme pentru care se cauta o solutie de un alt nivel decat in abordarile anterioare:
Probleme de Project Management • Alocarea resurselor pe mai multe proiecte • Planificarea termenelor de livrare • Urmarirea cerintelor functionale si de calitate care trebuiau sa fie implementate si clasificarea acestora ca fiind incluse sau suplimentare fata de contracte • Consolidarea cerintelor, mai ales a celor venite dupa startul implementarii de cod, a documentatiei si a surselor • Gestionarea proiectului ca un tot unitar, vazut prin intermediul unei singure platforme, incluzand tot ce tine de un proiect in spatiu si timp • Reveniri asupra cerintelor clientilor cu implicatii asupra organizarii proiectului Utilizarea unui singur set de rapoarte generate automat, atat intern cat si pentru clienti sau parteneri
Probleme de Asigurare a Calitatii • Legatura dintre cerintele functionale si de calitate, testare si demonstrarea calitatii • Legatura dintre activitatile inregistrate si codul scris in cadrul activitatilor respective • Utilizarea si demonstrarea metodologiei de lucru
Probleme de Resurse Umane • Integrarea de noi membri in echipa pe parcursul proiectelor • Metrica pentru rezultatele resurselor umane
Probleme de Control Costuri • Fluctuatii puternice in piata fortei de munca • Cerinte venite pe parcursul proiectelor, necuprinse in contract • Module livrabile necuprinse initial in contract • Esalonarea cvasi-lunara a modulelor livrabile si facturabile
Solutia Dupa mai multe studii, care au inclus instalarea si explorarea versiunilor Beta de Microsoft Visual Studio Team Foundation Server, s-a adoptat o arhitectura extinsa a solutiilor Microsoft pentru dezvoltare software in echipa:
• S-a instalat un server cu Microsoft Visual Studio Team Foundation Server • S-a instalat un al doilea server cu Microsoft Project Server Enterprise Edition • Pe statiile echipei de dezvoltare s-au instalat Microsoft Visual Studio Team Explorer si Microsoft Project • Pentru asigurarea calitatii s-a instalat Microsoft Visual Studio Team Tester • Pentru arhitecti s-a instalat Microsoft Visual Studio Team Arhitect • S-a instalat Team Plain expus in Internet pentru accesul clientilor si al partenerilor de lucru • S-a realizat o interfata catre layer-ul de Business Intelligence al Team Foundation Server, pentru preluarea de date in Business Analyzer, care faciliteaza analize interactive financiare si de project management
Durata implementarii Implementarea a fost precedata de instalarea si studiul versiunii Beta 3 Refresh, astfel incat la aparitia versiunii 1.0 existau deja raspunsuri legate de regasirea in Team Foundation Server si Project Server a fluxurilor principale dorite pentru dezvoltarea software in cadrul PharmEc. Procesul de implementare a inceput imediat ce au fost primite kit-ul cu versiunea 1.0 si raspunsurile legate de licentiere. Din acel moment, a durat o luna pana in momentul in care toate echipele de dezvoltare au trecut tot ce tinea de activitatea lor pe noul sistem. Au existat insa si riscuri care puteau fi tratate inainte de inceperea implementarii, caz in care acest timp ar fi fost si mai scurt, cum ar fi: • Interconectarea Team Foundation Server si Enterprise Project Management cu sistemul de securitate, intr-o retea complexa • Nivelul de cunostinte Enterprise Project Management in randul project managerilor
Costurile implementarii Costurile hardware au fost cca 2.000 EUR, si au constat intr-o masina dual procesor, 4G RAM, RAID, pentru Team Foundation Server si una pentru Project Server Enterprise Edition. Referitor la costurile legate de implementare, acestea au fost cca 3.000 de euro si au constat in activitatile de instalare si configurare: Servere: • Software de baza - sistem de operare • Motorul SQL Server pentru baze de date • Visual Studio Team Foundation Server • Microsoft Project Server Enterprise Edition • Team Plain Clienti: • Visual Studio Team Explorer pe 30 de statii • Visual Source Safe 2005 Plug-Ins pentru diferitele medii de dezvoltare • Acordare drepturi in Team Foundation Server si Project Server pentru utilizatorii definiti in Active Directory • Modelarea reprezentarii proiectelor existente in Team Foundation Server • Training intern si suport pentru project manageri Costurile legate de migrarea proiectelor au fost cca 2.000 EUR si au constat in planificarea proiectelor in noul sistem si aducerea surselor si documentelor in Team Foundation Server. Costurile legate de licente au fost acoperite de parteneriatul Microsoft Gold Certified Partner, in care sunt incluse gratis o licenta de Team Foundation Server si license CAL pentru 30 de utilizatori. Odata cu cresterea firmei la peste 30 de programatori, Pharmec Software va putea achizitiona licente CAL pentru noii membri ai echipei.
Beneficii Noua platforma de lucru a fost remarcata pentru eficienta in preluarea, implementarea si managementul cerintelor, precum si pentru calitatea serviciilor oferite de companie. Acum exista si o serie de "best practices" referitoare la urmarirea indicatorilor de performanta pentru dezvoltare software:
Indicatori financiari Valoarea Livrata si Acceptata Livrarea catre client se poate face pentru intregul proiect, pentru o parte din proiect sau pentru o iteratie din cadrul proiectului. Ceea ce se livreaza este din punct de vedere financiar un Livrabil, iar din punct de vedere Team Foundation Server este o Iteratie. In urma acceptarii de catre client a unui Livrabil, se emite o factura pentru acesta. Valoarea Facturata si Valoarea Incasata sunt indicatori care ies insa din domeniul extins Team Foundation Server si intra in domeniile CRM si ERP ale companiei.
Profit Realizarea Livrabilului implica lucrul la un numar de Sarcini pe care se inregistreaza activitati in Team Foundation Server. Din raportul de activitati care arata numarul de ore "Completed", detaliat pe membrii echipei, rezulta un Cost al Livrabilului de care depinde Profitul obtinut pentru o Valoare Livrata si Acceptata.
Valoare Aceptata versus Valoare Bugetata Livrabilul are o Valoare Bugetata care se calculeaza pornind de la numarul de ore bugetate ca "Baseline" in Microsoft Project si in Team Foundation Server. Valoarea Livrata catre client si Acceptata de acesta ar trebui sa fie teoretic egala cu Valoarea Bugetata, insa pot sa apara diferente datorate fie interpretarii diferite a anexelor tehnice ale contractului, fie datorate perfectarii de noi anexe in cursul derularii proiectului.
Indicatori de management de proiect • Numar de ore Consumate La un Task pot lucra unul sau mai multi membri ai echipei, iar consumul de ore "Completed" este inregistrat cel putin zilnic. De asemenea, se inregistreaza numarul de ore "Remaining" estimate ca mai trebuie consumate pana la finalizarea Task-ului.
• Consumat si Ramas versus Bugetat Numarul de ore consumate si numarul de ore ramase pot fi agregate pe grupuri de Task-uri, pe Livrabile si pe Total Proiect. La fiecare nivel, incepand de la Task pana la Total Proiect, se poate face comparatia cu numarul de ore bugetate ca "Baseline" in Microsoft Project si Team Foundation Server.
• Data Start si Data Finalizare Fiecare Task este programat in Microsoft Project pentru a incepe la "Start Date" si a fi finalizat la "Finish Date". Datele prevazute pentru Start si Finalizare pot fi agregate la nivel de grup de Task-uri, Livrabil sau pe Total Proiect. Desi procedura de lucru nu permite acest lucru, pot exista activitati care sa fie inregistrate desi Data de Finalizare nu a fost actualizata de catre Project Manager cu valoarea reala care a suferit modificari. In acest caz, este luata in considerare pentru agregare si Data Activitatii inregistrate.
• Gradul de Incarcare Data de Start pentru un Task, un Livrabil sau un Proiect, este in general un indicator critic legat de obligatiile contractuale. Respectarea lui depinde de calcularea Gradului de Incarcare a resurselor alocate la mai multe proiecte care se deruleaza cvasi-parelel. Supra-alocarea si rezolvarea ei peste mai multe proiecte se realizeaza din Microsoft Project Server.
• Viteza Proiect
Indicatori de calitate • Bug-uri detectate de testarea interna. Testarea se efectueaza la finalul unei subiteratii de dezvoltare. Testarea interna utilizeaza Team Tester ca platforma de test. • Cerinte de calitate, conforme cu contractul, neimplementate inca, explicitate de catre Quality Assurance in urma testarii • Bug-uri detectate de client • Cerinte de calitate, conforme cu contractul, neimplementate inca, explicitate de catre client in urma livrarii
Indicatori de resurse umane • Inregistrare activitati zilnic si lunar • Consumat versus Bugetat • Data finalizare • Scenarii rezolvate • Cerinte de calitate, conforme cu specificatia, legate de sarcinile la care a lucrat membrul respectiv al echipei, explicitate de client in urma livrarii • Bug-uri legate de task-urile la care a lucrat membrul respectiv al echipei • Respectare metodologie de scriere a codului • Utilizarea suportului pentru Business Intelligence • Urmarirea indicatorilor de performanta pentru dezvoltare software se poate realiza utilizand suportul de Business Intelligence pus la dispozitie de platforma de dezvoltare software in echipa. • Informatia poate fi extrasa si reprezentata in mai multe componente din sistem in functie de tipul de utilizatori si de scopul propus.
 Componente in suportul de Business Intelligence |