1 / 42

Managementul Proiectelor Software

Managementul Proiectelor Software. Curs 6. Managementul Estimarilor. Estimari. “Predictions are hard, especially about the future”, Yogi Berra Planificare , Estimare , Programare Planificare : Identificarea activitatilor ; nu exista o data exacta de inceput si / sau de sfarsit

halia
Télécharger la présentation

Managementul Proiectelor Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ManagementulProiectelor Software Curs 6. ManagementulEstimarilor

  2. Estimari • “Predictions are hard, especially about the future”, Yogi Berra • Planificare, Estimare, Programare • Planificare: Identificareaactivitatilor; nu exista o data exacta de inceputsi/sau de sfarsit • Estimare: Determinareadimensiuniisi a durateiactivitatilor • Programare: Stabilirea de date de inceput/sfarsit, relationarisiresursepentrufiecareactivitate in parte

  3. Estimari • Foartedificil de realizat, daradeseanecesare • Realizate, utilizatesimodificate in timpuletapelor de: • Planificarestrategica • Studiu de fezabilitatesi/sau SOW (Statement of Work) • Propuneri • Evaluareadezvoltatoruluisau a sub-contractantilor • Planificareaproiectului (iterativa) • Procesul de estimare: • Estimareadimensiuniiprodusului • Estimareaefortuluinecesar (oameni-luni) • Estimareaprogramuluiproiectului • NOTA: Nu totiacestipasisuntrealizati explicit in cazuttuturorproiectelor

  4. Estimari • O “estimare exacta” este un oximoron • Majoritateaestimarilorprivindproiectele software au de obiceierori de 25-100% • Proiectemici (10-99 FPs), variatie de aproximativ 7% fata de estimarilefacutedupaanalizacerintelor • Proiectemedii (100-999 FPs), 22% • Proiectemari (1000-9999 FPs) 38% • Proiectefoartemari (> 10K FPs) 51%

  5. Estimari • Conul de incertitudine

  6. Metodologii de estimare • De sus in jos (Top-down) • De jos in sus (Bottom-up) • Analogie • Judecataexpertului • Pretul castigator • Metodeparametricesaualgoritmice • Formulesiecuatiimatematice

  7. Estimari “Top-down” • Se bazeazapecaracteristicileprincipaleale proiectului • Uneledintrecelelaltemetodologii pot fi de asemenea de tipul “Top-down” (Analogia, JudecataExpertuluisiMetodelealgoritmice) • Avantaje • Usor de calculat • Foarteeficiente la inceput (ex. Estimareainitiala a costurilor) • Dezavantaje • Unelemodelesuntdiscutabilesi s-arputeasa nu se potriveascaproiectuluirespectiv • Mai putin precise deoarece nu iau in calculdetaliileproiectului

  8. Estimari “bottom-up” • Genereaza WBSs (Work-Breakdown Structures) • Avantaje • Foarteeficiente in cazulactivitatilor care suntfoartebineintelese • Dezavantaje • Anumiteactivitati nu suntcunoscuteintotdeauna • Consumatoare de timp

  9. Judecataexpertului • Se folosesteparereauneipersoane care are o experientarecenta cu un proiect similar • Acesta face o estimaresubiectiva • Acurateteaestimariidepinde de expertizareala a persoanei in cauza • Este esential ca expertulsafilucrat la un proiect similar • Se poatefolosisi o medieponderata a maimultorpareri

  10. Analogii • Se folosescinformatiilereferitoare la un proiect anterior: • Proiectulreferittrebuiesa fie suficient de similar din punct de vedere al tehnologiei, tipuluisiorganizarii • Se cautaatributece pot ficomparate (ex. numar de intrari/iesiri) • Pot fi generate functiimatematice de comparatie • Avantaje • Se bazeazape date istorice • Dezavantaje • Este de celemaimulteoridificilsa se gaseascaproiectesimilare • Dateleprivindproiecteleanterioare pot fieronate (masurategresit) • Este complicatsa se masoarediferenteledintredouaproiecte

  11. Pretul castigator • Se urmarescpursisimplualteestimari • Metodamultmairapidadecat o estimarecompleta • Necesitainformatiireferitoare la alteestimari (preturi) • Cumparatorultrebuiesaanalizeze cu atentietrade-off-urile

  12. Masuratorialgoritmice • Linii de cod (LinesOfCode) • Puncte de functie(Function Points) • Puncte de caracteristici(Feature Points) • Altele • Numarul de baloanedintr-un DFD • Numarul de entitati ERD • Numarul de procese de pe o diagrama de structura • LOC sifunction points suntcelemaipopularemetode • (dintretoatetehnicilealgoritmice) • Majoritateaproiectelor nu folosescinsaniciunadintremetodele de maisus

  13. Estimaribazatepe cod • Linii de Cod - Avantaje • O metricacomunasifoarteusor de inteles • Permitecomparatiispecifice • Usor de masurat • Linii de cod - Dezavantaje • Greu de estimat la inceputulproiectului • Dimensiuneapoatevaria in functie de limbajul de programarefolosit • Nu ia in consideraremultecosturi (ex: analizacerintelor) • Programatoriiporfirecompensati in functie de aceasta (ex. nr. defecte/nr. linii de cod) • Programele de generare automata de cod producmult cod in exces

  14. Function Points • Dimensiuneaunuiprodus software estemasurata in functie de complexitateasinumarul de functiipe care le realizeaza • TehnicamultmaimetodicadecatLinii de Cod • Analogia cu o casa: • Aria Casei~= Linii de cod • Numarul de dormitoaresibai~= Function points • Prima ia in consideraredimensiunea, in timpcecea de-a douaia in considerareatatdimensiunea, cat sifunctia • Sasepasielementari (vezi slide-ulurmator!)

  15. ProcesulFunction Point 1. Se numaratoatefunctiile business din fiecarecategorie • Categorii: intrari, iesiri, cereri in baza de date, fisieresaustructuri de date, interfete 2.Se stabileste un factor de complexitatepentrufiecare • Simplu, Mediu, Complex • Se stabileste o ponderepentrufiecare in intervalul 0-15 • Rezultatuleste un “total neajustat al punctelor de functie” 3. Se calculeazasi se aplica un “multiplicator de influeta” • Are o valoareintre 0.65 si1.35; se calculeaza in functie de 14 factoridiferiti 4. Rezultatuleste un “total de puncte de functie” • Acestrezultatpoatefifolositpentruestimari comparative

  16. Metoda “Wideband Delphi” • Abordarece se bazeazapeconsensul de grup • Se prezintaproblemaunuigrup de experti, impreuna cu un formular de raspuns • Suntrealizatediscutii in grup, suntcolectateopiniianonimesiapoi se ofera un feedback • Discutiilesuntcontinuatepana in momentul in care se ajunge la un consens • Avantaje • Usor, ieftin, se folosesteexpertizamaimultorpersoane • Nu necesita date sauinformatiiistorice • Dezavantaje • Greu de repetat • Uneori nu se poateajunge la un consens, sau se ajunge la un rezultatcompleteronat

  17. Estimarilesireutilizareacodului • Tipuri de cod: • Nou • Modificat • Reutilizat • Daca o bucata de cod estemodificata in proportiemai mare de 50%, atunciesteconsiderat un cod nou • Factorii care duc la reutilizareacoduluisuntfoartevariati: • Reutilizareacoduluidureazadoar 30% din timpulnecesarscrieriiunui cod nou • Modificareaunui cod deja existent dureazadoar 60% din timpulnecesarscrieriiunui cod nou • Efortulnecesarintegrariiunui cod refolositsuntaproapela fel de mari ca celenecesareintegrariiunui cod nou

  18. Estimareaefortului • Modele: • Empirice • Matematice • Subiective • Se exprima in unitati de durata • Oameni-luna (sau “personal-luna”)

  19. Estimareaefortului • McConnell propunefolosireaunortabele de orarpentru a convertiestimarile de dimensiune in estimari de efort • Ca si in cazulestimarilorparametrice de dimensiune, acestetehnici au un grad mai mare de confidentadacasuntiau in considerare date istorice • De multeori, estimarile de dimensiunesi de efortsuntcombinate (nu esterecomandat, dareste o realitatefoarte des intalnita in majoritateaproiectelor) • Programareabazatapeangajament – un dezvoltatorisiia un angajamentpebazauneiestimariproprii

  20. COCOMO • În literatura de specialitate privind dezvoltarea entităţilor software, sunt prezentate un număr foarte mare de modele de evaluare a costurilor • Cel mai bine documentat şi transparent model disponibil este COCOMO – COnstructive COst MOdel • Scopul modelului COCOMO este de estima influenţa a 15 factori de cost în determinarea efortului de dezvoltare a entităţilor software

  21. COCOMO – Factoriconsiderati • Fiabilitatea reprezintă caracteristica de siguranţă a funcţionării entităţii software în condiţiile tehnice existente şi într-un interval de timp; • dimensiunea bazei de date constă în mărimea bazei de date exprimată ca număr de tabele, număr de utilizatori, volum de date stocat, numărul de legături dintre tabele • Complexitatea software evidenţiază structura entităţii exprimată ca număr de componente şi legăturile dintre acestea, având funcţii diferite; elementele componente se influenţează unul pe celălalt atunci când intervin schimbări privind starea lor • Restricţii de timp de execuţiese referă la entităţile software care trebuie să fie construite conform restricţiilor de resurse şi timp; creşterea timpului de execuţie conduce la nerespectarea termenului de dare în exploatare a entităţii, pe de o parte, şi la creşterea costurilor prin sporirea consumului de resurse, pe de altă parte • Cerinţe de memorie se referă la posibilitatea de a stoca un volum foarte mare de date; un nivel redus la capacităţii de stocare determină creşterea costului şi un timp mai mare de dezvoltare

  22. COCOMO – Factoriconsiderati • Hardware vizează atingerea nivelului de calitate proiectat pentru entitatea software care necesită un volum mare de hardware cu cerinţe de calitate specificate; insuficienţa hardware determină o scădere a calităţii şi creşterea costului entităţii software • Cerinţe de timp de răspuns are un rol important în asigurarea unui nivel ridicat de încărcare a resurselor; aceasta se asigură prin scăderea timpului de răspuns; • Experienţa de lucru cu platforma hardware presupune cunoaşterea caracteristicilor, a tehnicilor şi metodelor care trebuie implementate în lucrul cu platforma hardware aleasă pentru dezvoltarea entităţii software • Analiza calităţii reprezintă un control al nivelului de satisfacere a cerinţelor formulare; orice deviere de la cursul planificat conduce la creşterea costului şi a orizontului de timp în care entitatea trebuie să fie elaborată

  23. COCOMO – Factoriconsiderati • Experienţa cu aplicaţia este un factor de reducere a costurilor de dezvoltare; lipsa sa atrage costuri suplimentare legate de atragerea personalului sau pregătirea profesională a celui existent • Calitatea programatorilorconstituie factor de reducere a costurilor pentru programatori cu un nivel ridicat al competenţelor profesionale • Experienţa cu limbajul de programare conduce la reducerea timpului de implementare în limbaj a entităţii software şi la o reducere a costurilor datorită unui volum mai mic al resurselor antrenate

  24. COCOMO – Factoriconsiderati • Folosirea tehnicilor moderne de programareau rolul de a creşte eficienţa de implementare a entităţii software şi creşterea nivelului de calitate a acesteia • Folosirea instrumentelor software asigură asistarea procesului de dezvoltare care determină o reducere a timpului în care entitatea este realizată şi a reducere a costurilor prin substituirea de resurse clasice • Cerinţe de durată a proiectului este factorul cu rol deosebit în stabilirea costului proiectului de dezvoltare a unei entităţi software; creşterea sau reducerea duratei de dezvoltare conduce la o creştere a costului datorită accentuării utilizării intensive, respectiv extensive a resurselor

  25. COCOMO • Costul datelor conţine elemente subiective de apreciere. • Acesta este un alt element care diferenţiază bunurile de date. • Alături de elemente cantitative incluse de producător, în costul de obţinere a datelor sunt introduse şi elemente de apreciere privind importanţa atribuită de consumator pentru datele achiziţionate • Astfel, costul datelor include şi o componentă subiectivă, alături de cea obiectivă, cuantificabilă numeric

  26. Estimari – concluziiintermediare • Estimarilecalitativesuntnecesarefoartedevreme, dar la acel moment informatiilesuntfoartelimitate • Estimarilefoarte precise pot firealizateaproape de sfarsitulproiectuluidar in acel moment nu maisuntnecesare • Pot fifolositeinsa in proiecteleviitoare • Celemaibuneestimarisuntcele care se bazeazapeexperienteleanterioare • Politicaestimarilor: • Se poateanticipa o taiere a fondurilor din parteamanagementului superior • Problemeprincipale • Schimbareatehnologiilor • Lipsa de date anterioare • Variatiafoarte mare a tipurilor de proiecte • Naturasubiectiva a estimarilor software

  27. Supra si sub-estimari • Supra-estimari • Proiectul nu vafifinantat • Estimari conservative caragaranteaza in proportie de 100% succesulunuiproiect pot insemnaprobabilitati de finantareegale cu zero. • Legealui Parkinson: “Work expands to take the time allowed” • Poatefirezultatulunuiroldublu: manager + membru al echipei • Sub-estimari • Pot duce la problemecalitative (se elimina/limiteaza faze cheie ale proiectuluiprecumfaza de testare) • Nu se pot atingetermenelelimita • Probleme morale si de motivatie a echipei

  28. Estimareaiterativa • Este un proces in care estimarilesuntrafinate gradual • La fiecareetapa de planificare se faceaceamaibunaestimareposibila • Estimarilesuntrevizuiteiterativ in timpceplanurilesunt re-ajustate • Planurilesideciziilesuntsielerevizuite in functie de noileestimari • Se incearcapastrareaunuiechilibru: prea mule revizuiri vs. preaputine

  29. Termenelelimita • Termenelimitareale • Legate de un eveniment extern • Trebuiescrespectatepentru ca proiectulsa se desfasoare cu succes • Ex: sfarsitulanului fiscal, termenlimita contractual, etc. • Termenelimita “artificiale” • Suntstabilite de catre o autoritatearbitrara • Pot avea un grad de flexibilitate

  30. Prezentareaestimarilor • Modul in care o estimareesteprezentatapoateavea un impact foartediferit • Tehnici • Calificative plus-minus • 6 luni+/-1 luna • Intervale • 6-8 lui • Calificative de risc • +/- cu informatieadaugata • Ex. -2 saptamanidacadezvoltatoriisuntagajatimairepede • Cazuri • Celmai bun / Planificat/ Curent/ Celmai prost • Factori de confidenta • 1 Aprilie– probabilitate de 10% , 1 Iulie– 50%, etc.

  31. Altifactorireferitori la estimari • Experientaangajatilor • Un agajatnousau junior vanecesitamaimulttimpdecat un angajat cu experientapentru a indeplini un anumit task • Task-uricomune • Intalniri, telefoane, cautaripe Internet, zile de inbolnavire • Pot fifolositeprodusecomerciale de estimare automata • Necesitaconfiguraribazatepedateleanterioare

  32. Analizafinanciara a proiectelor • Consideratiile de naturafinanciarasunt de multeorifoarteimportante in alegereaproiectelor • Existatreimetodeprincipale de determinare a valoriifinanciare a unuiproiect: • Analiza NPV (Net Present Value) - ValoareaActualizata a Investitiei • Randamentulinvestitiei (Return Of Investment) • Perioada de amortizare

  33. Valoareaactualizata a investitiei (NPV) • NPV reprezinta valoarea neta actualizata- acea valoare prezenta a beneficiilor obtinute printr-o investitie, dupa ce s-a tinut cont de orizontul de timp specific proiectului pentru care se calculeaza si luand in considerare valoarea in timp a investitiei. • Daca valoarea NPV este negativa, ea indica cu certitudine faptul ca proiectul nu ar mai trebui realizat • Daca insa este pozitiva, atunci nu mai ofera indicii referitoare la ceea ce ar trebui facut • O valoare pozitiva nu poate fi comparata cu alt proiect decat daca orizontul de timp si dimensiunile investitiei sunt aceleasi.

  34. NPV - Exemplu

  35. Return on Investment (ROI) • ROI - "return on investment" este o unealta indispensabila pentru a intelege valoarea unei investitii in tehnologie si presupune luarea in calcul a mai multor componente ale afacerii • Anvergura proiectului: cati oameni vor fi ajutati de aplicatie? Cu cat numarul acestora este mai mare cu atat se poate realiza un ROI mai mare • Repetabilitate utilizarii: cat de des vor fi sprijiniti oamenii de aplicatie? Cu cat mai des, cu atat mai mare va fi ROI.

  36. ROI • Printre factorii secundari trebuie luati in considerare urmatorii: • Costurile- cu cat costa mai mult o anumita rutina de activitate, cu atat mai mare va fi beneficiul dedus din automatizare sau din suportul tehnologic specific • Cunoasterea- cu cat este mai mare potentialul de reutilizare a informatiei in sistem, cu atat este mai mare si ROI • Colaborarea- comunicarea intre angajati este costisitoare, astfel ca, cu cat va fi mai extinsa componenta de colaborare, cu atat va fi mai mare ROI potential

  37. Intelegereaunui ROI nefavorabil • Daca ROI este in mod drastic negativ, exista probabil probleme de anvergura. repetabilitate sau costuri prea mari • Daca ROI este mai mic decateste nevoie pentru a initia proiectul, este foarte posibil sa poataficorectatastfel: • Modificarea calendarului costurilor: schimbarea costurile din anul initial prin distribuirea investitiilor de instruire si consultant ape parcursul celorlalti ani • Negocierea preturilor: o mica scadere procentuala a preturilor poate determina o crestere dramatica a ROI, in functie de dimensiunile proiectului • Cresterea graduala a costurilor cu angajatii pentru instruire si alte scopuri, pe masura ce utilizarea tehnologiei devine mai eficienta si determina cresterea ROI

  38. Intelegereaunui ROI nefavorabil (continuare) • Schimbarea strategia de dezvoltare. Utilizand tehnologia pentru a obtine beneficii mai mici la inceput sau evaluareaposibilitatii de a apela la servicii externe, toate acestea pot determina un ROI initial pozitiv, iar tehnologia poate fi implementata la o scara mai mare in viitor • Re-examinarea factorilor de corectie. Daca exista o abordareconservatoare in ceea ce priveste factorii de corectie si beneficiile de productivitate, este posibil sa fieevitatachiar acea tehnologie care esteceamaipotrivita

  39. Perioada de amortizare • Perioada de amortizare este intervalul de timp necesar obtinerii beneficiilor pentru a stinge costul initial al proiectului • Acesta este un indicator cheie al riscului - intr-un mediu tehnologic in schimbare • Majoritateacompaniilordorescproiecte IT care saaiba o perioada de amortizarerelativscurta

  40. NPV, ROI, Payback Period: Ex 1

  41. NPV, ROI, Payback Period: Ex 2

  42. Altiindicatori de analizafinanciara • TCO sau costurile totale de detinere asigura o buna masuratoare pentru scopurile bugetare dar nu poate fi utilizat ca indicator pentru aprecierea beneficiilor profunde ale unui proiect din moment ce calculeaza mai degraba cele mai mici costuri, in loc de cele mai mari beneficii. Deoarece costul este numai unul dintre factorii analizei de tip ROI, utilizati ROI • IRR sau rata interna de rentabilitate indica rata de profit a unui proiect, dar prezinta la randul ei inconveniente: include o rata de re-investitie egala cu ea insasi. In cele mai multe cazuri, calculul realizat cu ajutorul acestui indicator induce in eroare si nu ar trebui niciodata utilizat pentru evaluarea tehnologiilor • cROIinseamna ROI cumulativ pentru o perioada de trei ani si nu este un indicator foarte fidel pentru ca depaseste in mod dramatic ROI prin utilizarea sumei beneficiilor de-a lungul a trei ani. Nu ar trebui sa ilutilizati ca instrument de masurare

More Related