PharmEc Software

Studiu de caz: Implementare Team Foundation Server

Datorită implementării Microsoft Visual Studio 2005 Team System, proiectele sunt mai transparente pentru management, ceea ce duce implicit la o mai bună organizare și coordonare a acestora, printr-un proces uniform, existând totodată posibilitatea raportării în fiecare fază. Compania a devenit mai eficientă dând dovadă de competitivitate, iar calitatea serviciilor a crescut semnificativ - Eugen Diaconeasa, Director Dezvoltare, PharmEc Software.


Despre organizație

Pharmec Software este una dintre cele mai cunoscute companii românești de software ce activează în domeniul farmaceutic și medical. Compania dispune de o gamă largă de produse și servicii software, fiind capabilă să satisfacă în întregime cerințele cabinetelor medicale, farmaciilor și lanțurilor de farmacii, depozitelor și lanțurilor de distribuție.

La sfârșitul anului 2005, Pharmec Software a achiziționat compania Brilliant Business, extinzând astfel dezvoltarea de software la cerere pentru România, Franța, Anglia și Australia.

În prezent, compania are 80 de angajați, dintre care 30 se ocupă exclusiv de dezvoltare software.

Portofoliul Pharmec Software include produse și servicii cum ar fi: managementul complet al companiei cu ERP Pharmec3, managementul lanțurilor de depozite cu WMS Warehouse Management System și Business Intelligence cu Microsoft Business Analyzer.

Situația inițială

Dezvoltarea software în cadrul PharmEc Software era caracterizată prin:

  • derularea mai multor proiecte în paralel;
  • alocarea membrilor echipelor în mai multe proiecte;
  • utilizarea de aplicații interne de project management și de înregistrare a activităților;
  • controlul surselor în Microsoft Visual Source Safe

Fluxul de lucru includea preluarea cerințelor de la client, analiza, estimarea, propunerea, contractarea, dezvoltarea, înregistrarea zilnică a activităților în aplicațiile intranet de project management, controlul surselor în Microsoft Visual Source Safe și al documentelor ținute intr-o structura de foldere.

Existau mai multe categorii de probleme pentru care se căuta o soluție de un alt nivel decât în abordările anterioare:

  • Probleme de Project Management
    • Alocarea resurselor pe mai multe proiecte
    • Planificarea termenelor de livrare
    • Urmărirea cerințelor funcționale și de calitate care trebuiau să fie implementate și clasificarea acestora ca fiind incluse sau suplimentare față de contracte
    • Consolidarea cerințelor, mai ales a celor venite după startul implementării de cod, a documentației și a surselor
    • Gestionarea proiectului ca un tot unitar, văzut prin intermediul unei singure platforme, incluzând tot ce ține de un proiect în spațiu și timp
    • Reveniri asupra cerințelor clienților cu implicații asupra organizării proiectului
    • Utilizarea unui singur set de rapoarte generate automat, atât intern cât și pentru clienți sau parteneri
  • Probleme de Asigurare a Calității
    • Legătura dintre cerințele funcționale și de calitate, testare și demonstrarea calității
    • Legătura dintre activitățile înregistrate și codul scris în cadrul activităților respective
    • Utilizarea și demonstrarea metodologiei de lucru
  • Probleme de Resurse Umane
    • Integrarea de noi membri în echipă pe parcursul proiectelor
    • Metrica pentru rezultatele resurselor umane
  • Probleme de Control Costuri
    • Fluctuații puternice în piața forței de muncă
    • Cerințe venite pe parcursul proiectelor, necuprinse în contract
    • Module livrabile necuprinse inițial în contract
    • Eșalonarea cvasi-lunară a modulelor livrabile și facturabile
Schema 1

Soluția

După mai multe studii, care au inclus instalarea și explorarea versiunilor Beta de Microsoft Visual Studio Team Foundation Server, s-a adoptat o arhitectură extinsă a soluțiilor Microsoft pentru dezvoltare software în echipă:

A fost un timp de migrare relativ scurt pentru asimilarea completă a unei noi platforme de lucru de această dimensiune
Eugen Diaconeasa
Director Dezvoltare
PharmEc Software
  • 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 stațiile echipei de dezvoltare s-au instalat Microsoft Visual Studio Team Explorer și Microsoft Project
  • Pentru asigurarea calității s-a instalat Microsoft Visual Studio Team Tester
  • Pentru arhitecți s-a instalat Microsoft Visual Studio Team Arhitect
  • S-a instalat Team Plain expus în Internet pentru accesul clienților și al partenerilor de lucru
  • S-a realizat o interfață către layer-ul de Business Intelligence al Team Foundation Server, pentru preluarea de date în Business Analyzer, care facilitează analize interactive financiare și de project management

Durata implementării

Implementarea a fost precedată de instalarea și studiul versiunii Beta 3 Refresh, astfel încât la apariția versiunii 1.0 existau deja răspunsuri legate de regăsirea în Team Foundation Server și Project Server a fluxurilor principale dorite pentru dezvoltarea software în cadrul PharmEc.

Procesul de implementare a început imediat ce au fost primite kit-ul cu versiunea 1.0 și răspunsurile legate de licențiere. Din acel moment, a durat o lună până în momentul în care toate echipele de dezvoltare au trecut tot ce ținea de activitatea lor pe noul sistem.

Au existat însă și riscuri care puteau fi tratate înainte de începerea implementării, caz în care acest timp ar fi fost și mai scurt, cum ar fi:

  • Interconectarea Team Foundation Server și Enterprise Project Management cu sistemul de securitate, într-o rețea complexă
  • Nivelul de cunoștințe Enterprise Project Management în rândul project managerilor

Costurile implementării

Costurile hardware au fost cca 2.000 EUR, și au constat într-o mașină dual procesor, 4G RAM, RAID, pentru Team Foundation Server și una pentru Project Server Enterprise Edition. Referitor la costurile legate de implementare, acestea au fost cca 3.000 de euro și au constat în activitățile de instalare și configurare:

Servere:

  • Software de bază - sistem de operare
  • Motorul SQL Server pentru baze de date
  • Visual Studio Team Foundation Server
  • Microsoft Project Server Enterprise Edition
  • Team Plain

Clienți:

  • Visual Studio Team Explorer pe 30 de stații
  • Visual Source Safe 2005 Plug-Ins pentru diferitele medii de dezvoltare
  • Acordare drepturi în Team Foundation Server și Project Server pentru utilizatorii definiți în Active Directory
  • Modelarea reprezentării proiectelor existente în Team Foundation Server
  • Training intern și suport pentru project manageri

Costurile legate de migrarea proiectelor au fost cca 2.000 EUR și au constat în planificarea proiectelor în noul sistem și aducerea surselor și documentelor în Team Foundation Server.

Costurile legate de licențe au fost acoperite de parteneriatul Microsoft Gold Certified Partner, în care sunt incluse gratis o licență de Team Foundation Server și licențe CAL pentru 30 de utilizatori.

Odată cu creșterea firmei la peste 30 de programatori, Pharmec Software va putea achiziționa licențe CAL pentru noii membri ai echipei.

Beneficiile

Schema 2

Noua platformă de lucru a fost remarcată pentru eficiența în preluarea, implementarea și managementul cerințelor, precum și pentru calitatea serviciilor oferite de companie. Acum există și o serie de "best practices" referitoare la urmărirea indicatorilor de performanță pentru dezvoltare software:

Indicatori financiari
  • Valoarea Livrată și Acceptată
    Livrarea către client se poate face pentru întregul proiect, pentru o parte din proiect sau pentru o iterație din cadrul proiectului. Ceea ce se livrează este din punct de vedere financiar un Livrabil, iar din punct de vedere Team Foundation Server este o Iterație. În urma acceptării de către client a unui Livrabil, se emite o factură pentru acesta. Valoarea Facturată și Valoarea Încasată sunt indicatori care ies însă din domeniul extins Team Foundation Server și intră în domeniile CRM și ERP ale companiei.
  • Profit
    Realizarea Livrabilului implică lucrul la un număr de Sarcini pe care se înregistrează activități în Team Foundation Server. Din raportul de activități care arată numărul de ore "Completed", detaliat pe membrii echipei, rezultă un Cost al Livrabilului de care depinde Profitul obținut pentru o Valoare Livrată și Acceptată.
  • Valoare Aceptată versus Valoare Bugetată
    Livrabilul are o Valoare Bugetată care se calculează pornind de la numărul de ore bugetate ca "Baseline" în Microsoft Project și în Team Foundation Server. Valoarea Livrată către client și Acceptată de acesta ar trebui să fie teoretic egală cu Valoarea Bugetată, însă pot să apară diferențe datorate fie interpretării diferite a anexelor tehnice ale contractului, fie datorate perfectării de noi anexe în cursul derulării proiectului.

Indicatori de management de proiect

  • Număr de ore Consumate
    La un Task pot lucra unul sau mai mulți membri ai echipei, iar consumul de ore "Completed" este înregistrat cel puțin zilnic. De asemenea, se înregistrează numărul de ore "Remaining" estimate că mai trebuie consumate până la finalizarea Task-ului.
  • Consumat și Rămas versus Bugetat
    Numărul de ore consumate și numărul de ore rămase pot fi agregate pe grupuri de Task-uri, pe Livrabile și pe Total Proiect. La fiecare nivel, începând de la Task până la Total Proiect, se poate face comparația cu numărul de ore bugetate ca "Baseline" în Microsoft Project și Team Foundation Server.
  • Dată Start și Dată Finalizare
    Fiecare Task este programat în Microsoft Project pentru a începe la "Start Date" și a fi finalizat la "Finish Date". Datele prevăzute pentru Start și Finalizare pot fi agregate la nivel de grup de Task-uri, Livrabil sau pe Total Proiect. Deși procedura de lucru nu permite acest lucru, pot exista activități care să fie înregistrate deși Data de Finalizare nu a fost actualizată de către Project Manager cu valoarea reală care a suferit modificări. În acest caz, este luată în considerare pentru agregare și Data Activității înregistrate.
  • Gradul de Încărcare
    Data de Start pentru un Task, un Livrabil sau un Proiect, este în general un indicator critic legat de obligațiile contractuale. Respectarea lui depinde de calcularea Gradului de Încărcare a resurselor alocate la mai multe proiecte care se derulează cvasi-parelel. Supra-alocarea și rezolvarea ei peste mai multe proiecte se realizează din Microsoft Project Server.
  • Viteză Proiect

Indicatori de calitate

  • Bug-uri detectate de testarea internă. Testarea se efectuează la finalul unei subiterații de dezvoltare. Testarea internă utilizează Team Tester ca platformă de test.
  • Cerințe de calitate, conforme cu contractul, neimplementate încă, explicitate de către Quality Assurance în urma testării
  • Bug-uri detectate de client
  • Cerințe de calitate, conforme cu contractul, neimplementate încă, explicitate de către client în urma livrării

Indicatori de resurse umane

  • Înregistrare activități zilnic și lunar
  • Consumat versus Bugetat
  • Dată finalizare
  • Scenarii rezolvate
  • Cerințe de calitate, conforme cu specificația, legate de sarcinile la care a lucrat membrul respectiv al echipei, explicitate de client în urma livrării
  • 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

Urmărirea indicatorilor de performanță pentru dezvoltare software se poate realiza utilizând suportul de Business Intelligence pus la dispoziție de platforma de dezvoltare software în echipă.

Informația poate fi extrasă și reprezentată în mai multe componente din sistem în funcție de tipul de utilizatori și de scopul propus.

Schema 3