Lecture 7 – Gazing into the Crystal Ball and Reading Tea

Download Report

Transcript Lecture 7 – Gazing into the Crystal Ball and Reading Tea

Samodzielny Zakład Sieci Komputerowych

Lecture 7 – Gazing into the Crystal Ball and Reading Tea Leaves

dr inż. Marcin Kwapisz

Lecture 7.1 – Szacowanie nakładu pracy i harmonogramu

Najczęściej używane techniki szacowania

 Modele algorytmiczne  COCOMO II  Punkty funkcyjne  Punkt przypadków-użycia  Punkty obiektowe  QIF-based estimates (Quantitative Influencing Factors) SUMMIT Ascendant IBM Rational  Szacowanie przez ekspertów  Wideband Delphi  Szacowanie na podstawie analogicznych projektów

Lecture 7.2 – Dystrybucja wartości szacowanej

Dystrybucja w WBS

 Z góry na dół, czyli od ogółu do szczegółu (Top-down)  Oszacowanie całego projektu (COCOMO II, Punkty funkcyjne)  Dystrybucja wartości szacowanej na wszystkie elementy WBS Faza opracowania Zadanie 1 Zadanie 2 Podzadanie 1.1

Podzadanie 1.2

Podzadanie 2.1

Lecture 7.3

– Dystrybucja wartości szacowanych

Dystrybucja w WBS

 Z dołu do góry, czyli od szczegółu do ogółu  Szacowanie niskopoziomowych elementów WBS (QIF, Szacowanie ekspertów)  Suma w rezultacie da końcowy szacunek dla całego projektu Faza opracowania Zadanie 1 Zadanie 2 Podzadanie 1.1

Podzadanie 1.2

Podzadanie 2.1

Lecture 7.3 – Iteracyjne szacowania

Oceń Zaktualizuj plan Porównaj Wykonaj Przegląd oszacowania

Lecture 7.4 – Dokładność szacunku

4X Iteration I1 Iteration E1 Iteration E2 Iteration C1 Iteration C2 Iteration C3 Iteration T1 0 Inception Elaboration Over-estimated Construction Under-estimated Transition X/4 Na koniec każdej fazy powinno się zweryfikować i udoskonalić miary projektowe, kiedy wiedza o aktualnych nakładach pracy jest już dostępna

Lecture 7.5 – COCOMO II

COnstructive COst MOdel II

 http://sunset.usc.edu/research/COCOMOII/cocomo_main.html

  Etap koncepcji Etap wczesnego projektowania (Early Design)  Badanie różnych rozwiązań architektonicznych oprogramowania/systemów i pomysłów na ich wykonanie,  Zgrubna ocena kosztów  Zbiór 7 multiplikatywnych czynników kosztowych  Etap po-projektowy (Post-Architecture)  Rozwój i utrzymanie oprogramowania  Dokładna ocena kosztów  Zbiór 17 multiplikatywnych czynników kosztowych

Lecture 7.6 – COCOMO II – Ocena nakładu pracy

Osobo miesiące

PM

i

17   1

EM

i

A

   1 Czynniki kosztowe

BRAK

100 Kod porzucony 

Size

    1 , 01  0 , 01 

j

5   1

SF j

  B     

ASLOC

AT

100

ATPROD

Re-engineering and Conversion Czynniki skalujące    

PM nom

BRAK ASLOC AT ATPROD

Procent kodu porzuconego, z uwagi na zmienność wymagań Rozmiar zaadoptowanego kodu komponentów wyrażony w tysiącach linii kodu Liczba komponentów automatycznie przekonwertowanych Poziom zautomatyzowania konwersji wyrażony w SLOC/osobomiesiąc

Lecture 7.7 – COCOMO II – Ocena nakładu pracy

Size

KNSLOC

  

KASLOC

 100 

AT

100 

AA

SU

 0 , 4 

DM

 0 , 3 

CM

100  0 , 3 

IM

  Nowe KSLOC Zaadaptowane KSLOC

KNSLOC KASLOC AT AA SU DM/CM IM

Rozmiar wyrażony w tysiącach linii nowego kodu Rozmiar wyrażony w tysiącach linii zaadaptowanego kodu Procent komponentów automatycznie przystosowanych Procent nakładu pracy koniecznego do oceny i przyswojenia istniejącego komponentu Procent nakładu pracy koniecznego do zrozumienia jego działania Procent nakładu pracy na projektowanie i modyfikacje kodu Procent nakładu pracy na integrację i testowanie

Lecture 7.8 – Rozmiar w liniach kodu (LOC)

Code

Modified Design Modified

Automatically translated AT AA SU

Integration/Test Modified Assessment & Assimilation Software Understanding

KNSLOC KASLOC Size

Lecture 7.9 – Czynniki skalujące

PM

i

17   1

EM

i

A

   1 Czynniki kosztowe

BRAK

100 Kod porzucony 

Size

    1 , 01  0 , 01 

j

5   1

SF j

      

ASLOC

AT

100

ATPROD

Re-engineering and Conversion    

PREC FLEX RESL TEAM PMAT

PM nom Precedens (Precedentedness) Elastyczność budowy oprogramowania (Development Flexibility) Architektura i przeciwdziałanie ryzyku (Architecture and Risk Resolution) Spójność zespołu (Team Cohesion) Dojrzałość procesu (Process Maturity)

Lecture 7.10 – Czynniki skalujące – SF

1

PREC – Precedentedness (Very Low, Low = 5 \ Nominal, High \ Very High, Extra High = 0)  Organizacyjne zrozumienie celów produktu  Ogólne \ Znaczne \ Całkowite  Doświadczenie w pracy nad podobnymi systemami  Umiarkowane \ Znaczne \ Extensive  Równoległy rozwój budowy platformy sprzętowej i procedur operacyjnych  Rozległe \ Umiarkowane \ Nieznaczne  Need for innovative data processing architectures, algorithms  Znaczne \ Nieznaczne \ Minimalne

Lecture 7.11

– Czynniki skalujące – SF

2

FLEX – Development Flexibility (Very Low = 5 \ Low \ Nominal \ High \ Very High \ Extra High = 0)  Konieczność zgodności oprogramowania z wcześniej ustalonymi wymaganiami  Pełna \ Znaczna \ Podstawowa  Konieczność zgodności zewnętrznych interfejsów  Pełna \ Znaczna \ Podstawowa oprogramowania ze specyfikacją  Premia za wcześniejsze ukończenie projektu  Wysoka \ Średnia \ Niska

Lecture 7.12 – Czynniki skalujące – SF

3

RESL – Architecture and Risk Resolution (Very Low = 5 \ Low \ Nominal \ High \ Very High \ Extra High = 0)        Risk Management Plan kamienie milowe dla ich – identyfikuje wszystkie krytyczne elementy ryzyka, ustala rozwiązania poprzez PDR (Product Design Review).

 Wcale \ Mało \ Trochę \ Ogólnie \ W większości \ W pełni Harmonogram, budżet i wewnętrzne kamienie milowe z PDR zgodne z Risk Management Plan  Wcale \ Mało \ Trochę \ Ogólnie \ W większości \ W pełni Procent czasu poświęconego na ustalenie architektury na podstawie głównych celów produktu  5 \ 10 \ 17 \ 25 \ 33 \ 40 Procent najlepszych architektów dostępnych dla projektu  20 \ 40 \ 60 \ 80 \ 100 \ 120 Wsparcie narzędzi do rozwiązywania elementów ryzyka, tworzenia i weryfikacji specyfikacji architektonicznych  Żadne \ Niewielkie \ Ograniczone \ Dobre \ Silne \ Pełne Poziom niepewności kluczowych czynników architektonicznych: cel, interfejs użytkownika, sprzęt, technologia, wydajność, COTS (commercial-off-the-shelf)  Ogromny \ Liczba i Znaczący \ Duży \ Niewielki \ Mały \ Bardzo mały wielkość elementów ryzyka  > 10 krytycznych \ 5-10 krytycznych \ 2-4 krytycznych \ 1 krytycznych \ > 5 niekrytycznych \ < 5 niekrytycznych

Lecture 7.13 – Czynniki skalujące – SF

4

TEAM – Team Cohesion (Very Low = 5 \ Low \ Nominal \ High \ Very High \ Extra High = 0)  Spójność celów udziałowców i kultury  Mała \ Niewielka \ Podstawowa \ Znaczna \ Silna \ Pełna  Możliwości i udziałowców chęci dostosowywania się do celów innych  Małe \ Niewielke \ Podstawowe \ Znaczne \ Silne \ Pełne  Doświadczenie udziałowców w pracy zespołowej  Żadne \ Małe \ Małe \ Podstawowe \ Znaczne \ Rozległe  Budowa zespołu udziałowców celem osiągnięcia wspólnej wizji i zaangażowania  Żadna \ Mała \ Mała \ Podstawowe \ Znaczna \ Rozległa

Lecture 7.14 – Scale Factors – SF

5

PMAT – Process Maturity (Very Low = 5 \ Low \ Nominal \ High \ Very High \ Extra High = 0)

CMMI

– Capability Maturity Model (Integration)  Capability Maturity Model ® Integration (CMMI) is a process improvement approach that provides organizations with the essential elements of effective processes. It can be used to guide process improvement across a project, a division, or an entire organization. CMMI helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes.

 http://www.sei.cmu.edu/cmmi/

Lecture 7.15 – Nakład pracy a czynniki skalujące Osobomiesiące

350 300 250 200 150 100 50 0 1,01 1,06 1,11 1,16 1,21 1,26

Lecture 7.16 – Czynniki kosztowe

PM

i

17   1

EM

i

A

   1

Czynniki kosztowe

BRAK

100 Kod porzucony 

Size

    1 , 01  0 , 01 

j

5   1

SF j

  B     

ASLOC

AT

100

ATPROD

Re-engineering and Conversion Czynniki skalujące     PM nom

RCPX RUSE PDIF PERS PREX FCIL SCED

Niezawodność i złożoność produktu (Product Reliability and Complexity) Wymagania ponownego wykorzystania komponentów (Required Reuse) Ograniczenia platformy (Platform Difficulty) Możliwości kadrowe (Personnel Capability) Doświadczenie kadry (Personnel Experience) Infrastruktura (Facilities) Harmonogram (Schedule)

Lecture 7.17 – Czynniki kosztowe (1)

Early Design and Post-Architecture Effort Multipliers

RCPX

Model wczesnego projektowania (7)

RUSE PDIF PERS PREX FCIL SCED

Model po-projektowy (17)

RELY, DATA, CPLX, DOCU RUSE TIME, STOR, PVOL ACAP, PCAP, PCON AEXP, PEXP, LTEX TOOL, SITE SCED

Lecture 7.18 – Czynniki kosztowe (2)

Model wczesnego projektowania

PM

adjusted

   7

i

  1

EM

i

  

PM

nom

 Stopniowanie:  Liczba stopni – 7  XLO \ VLO \ LO \ NO \ HI \ VHI \ XHI  NO = 1 (poziom nominalny)       

EM 1 EM 2 EM 3 EM 4 EM 5 EM 6 EM 7

– RCPX – Product Reliability and Complexity – RUSE – Required Reuse – PDIF – Platform Difficulty – PERS – Personnel Capability – PREX – Personnel Experience – FCIL – Facilities – SCED – Schedule

Lecture 7.19 – Effort Multipliers (3)

Model po-projektowy

PM

adjusted

   7

i

  1

EM

i

  

PM

nom

 Stopniowanie:  Liczba stopni – 6  VLO \ LO \ NO \ HI \ VHI \ XHI  NO = 1 (poziom nominalny)

Lecture 7.20 – Effort Multipliers (4)

Model po-projektowy (Post –Architecture Model)

 Product Reliability and Complexity (RCPX) – Product Factors 

EM 1

– 

EM 2

RELY DATA

– Required Software Reliability (VLO – VHI) – Database Size (LO – VHI) 

EM 3

• –

CPLX

– Product Complexity (VLO – XHI) Control Op., Computational Op., Device-Dependant Op., Data Management Op., User Interface Management Op. 

EM 4

DOCU

– Documentation match to life-cycle needs (VLO – VHI) 

EM 5

RUSE

– Required Reuse (LO – XHI) – Product Factor  Platform Difficulty (PDIF) – Platform Factors 

EM 6

– 

EM 7

TIME

– Execution Time Constraint (NO – XHI)

STOR

– Storage Constraint (NO – XHI) 

EM 8

PVOL

– Platform Volatility (LO – VHI)

Lecture 7.21 – Effort Multipliers (5)

Model po-projektowy (Post –Architecture Model)

 Personnel Capability (PERS) – Personnel Factors 

EM 9

ACAP

– Analyst Capability (VLO – VHI) 

EM 10

PCAP

– Programmer Capability (VLO – VHI) 

EM 11

PCON

– Personnel Continuity (VLO – VHI)  Personnel Experience (PREX) – Personnel Factors 

EM 12

AEXP

– Application Experience (VLO – VHI) 

EM 13

PEXP

– Platform Experience (VLO – VHI) 

EM 14

LTEX

– Language and Tool Experience (VLO – VHI)  Facilities (FCIL) – Project Factors 

EM 15

TOOL

– Use of Software Tools (VLO – XHI) 

EM 16

SITE

– Multi-site Development (VLO – XHI)

Lecture 7.22 – Effort Multipliers (6)

Model po-projektowy (Post –Architecture Model)

EM 17

SCED

– Required Development Schedule – Project Factor SCED

VLO

75%

LO

85%

NO

100%

HI

130%

VHI

160%

Lecture 7.23 – COCOMO II – Schedule Estimation

Czas budowy oprogramowania

TDEV

  3 , 67     0 , 28  0 , 2  

B

 1 , 01    

SCED

% 100

TDEV PM SCED%

calendar time in months from the determination of a product’s requirements baseline to the completion of an acceptance activity certifying that the product satisfies its requirements estimated person-months

excluding

the SCED effort multiplier the compression / expansion percentage in the SCED effort multiplier