K1369.qxd
8.11.2006
10:39
StrÆnka 3
Stručný obsah Část 1: Rozhodující koncepce odhadů Kapitola 1 Co je „Odhad“? Kapitola 2 Jak dobré odhady děláte? Kapitola 3 Hodnota přesných odhadů Kapitola 4 Odkud se berou chyby v odhadech? Kapitola 5 Vlivy na odhady
23 25 37 43 53 73
Část 2: Základní metody odhadů Kapitola 6 Úvod k metodám odhadů Kapitola 7 Počítání, kalkulace, úsudky Kapitola 8 Kalibrace a historická data Kapitola 9 Individuální úsudky expertů Kapitola 10 Dekompozice a zpětné skládání Kapitola 11 Odhad pomocí analogie Kapitola 12 Odhady pomocí zástupce Kapitola 13 Skupinové úsudky expertů Kapitola 14 Softwarové nástroje na odhady Kapitola 15 Použití více přístupů Kapitola 16 Vývoj odhadů software u dobře odhadnutých projektů Kapitola 17 Standardizované procedury odhadování
93 95 101 109 121 129 145 153 167 175 183 189 199
Část 3: Typické problémy při odhadování Kapitola 18 Problémy v odhadech velikosti Kapitola 19 Problémy v odhadech práce Kapitola 20 Problémy v odhadech rozvrhu Kapitola 21 Odhadování parametrů plánování Kapitola 22 Způsoby prezentace odhadu Kapitola 23 Politika, vyjednávání a řešení problémů Příloha A Prvotní kontrola odhadu Příloha B Odpovědi na kvíz v kapitole 2, „Jak dobré odhady děláte?“ Příloha C Tipy pro odhadování software
213 215 227 241 253 269 279 291 293 295
K1369.qxd
8.11.2006
10:39
StrÆnka 4
K1369.qxd
8.11.2006
10:39
StrÆnka 5
Obsah Předmluva Poděkování
15 21 ČÁST 1
Rozhodující koncepce odhadů KAPITOLA 1
Co je „Odhad“? Odhady, cíle a závazky Vztah mezi odhady a plány Komunikace ohledně odhadů, cílů a závazků Odhady jako vyjádření pravděpodobnosti Běžná definice „dobrého“ odhadu Odhady a řízení projektu Skutečný cíl odhadů Pracovní definice „dobrého odhadu“ Další prameny
25 25 26 27 28 32 34 35 36 36
KAPITOLA 2
Jak dobré odhady děláte? Jednoduchý kvíz na odhadování Diskuze nad výsledky kvízu Jak jistá je „90% jistota“? Jak široké hranice byste měli zvolit? Odkud se bere tlak na zužování hranic? Kolik tento test vypovídá o skutečném odhadování softwaru?
37 37 38 38 40 40 41
KAPITOLA 3
Hodnota přesných odhadů
43
Je lepší odhad nadsadit nebo podhodnotit?
43
Argumenty proti nadhodnocování Argumenty proti podhodnocení Srovnání argumentů
44 44 45
K1369.qxd
8.11.2006
6
10:39
StrÆnka 6
Obsah
Detaily zaznamenaných odhadů v softwarovém průmyslu O kolik se projekty opožují? Zkušenost z jedné společnosti Systémový problém softwarového průmyslu
Výhody přesných odhadů Cena předvídatelnosti ve srovnání s dalšími žádanými atributy projektu Problémy běžných technik odhadování Další prameny
46 48 48 49
49 51 52 52
KAPITOLA 4
Odkud se berou chyby v odhadech? Zdroje nejistot v odhadech Kužel nejistoty Lze nad kuželem zvítězit? Kužel se sám nezúží Zahrnutí kužele nejistoty do odhadů Vztah mezi kuželem nejistoty a závazkem Kužel nejistoty a opakující se vývoj
Chaotické vývojové procesy Měnící se požadavky Odhadování růstu požadavků
Opomíjené aktivity Nepodložený optimismus Subjektivita a předsudky Uspěchané odhady Nezaručená přesnost Další zdroje chyb Další prameny
53 54 55 57 57 58 59 60
61 61 62
63 65 66 68 70 71 72
KAPITOLA 5
Vlivy na odhady Velikost projektu Proč tato kniha rozebírá velikost v řádcích kódu? Nevýhoda velikosti Kdy můžete nevýhodu velikosti bezpečně ignorovat? Závažnost nevýhody velikosti v odhadech softwaru
Druh vyvíjeného softwaru Lidský faktor Programovací jazyk
73 73 75 75 79 80
80 81 82
K1369.qxd
8.11.2006
10:39
StrÆnka 7
Obsah
Další vlivy na projekt A opět nevýhoda velikosti Další prameny
7
83 89 91 ČÁST 2
Základní metody odhadů KAPITOLA 6
Úvod k metodám odhadů Úvahy nad výběrem metody pro odhady Co vlastně odhadujete? Velikost projektu Styl vývoje software Vliv stylu vývoje na výběr metod odhadování Fáze vývoje Dosažitelná přesnost
Tabulky použitelnosti metod Použitelnost metod v této kapitole – PŘÍKLAD
95 95 95 96 96 97 97 98
98 98
KAPITOLA 7
Počítání, kalkulace, úsudky Nejprve počítejte Co počítat? Převod počtů na odhady pomocí kalkulací Úsudek je až poslední možnost Další prameny
101 102 103 104 106 107
KAPITOLA 8
Kalibrace a historická data Zlepšení přesnosti a další výhody historických dat Započtení vlivů ve firmě Předcházení subjektivitě a nepodloženému optimismu Omezení politikaření v odhadech
Data, která lze shromažďovat Problémy Problémy Problémy Problémy
s s s s
měřením měřením měřením měřením
velikosti práce kalendářního času chyb
109 110 110 111 111
113 113 114 114 115
K1369.qxd
8.11.2006
8
10:39
StrÆnka 8
Obsah
Další problémy při shromažování dat
Jak kalibrovat? Použití dat z projektu ke zdokonalení vašich odhadů Kalibrace pomocí průměrných dat z celého odvětví Shrnutí Další prameny
115
116 117 117 119 120
KAPITOLA 9
Individuální úsudky expertů Strukturovaný úsudek experta Kdo odhad tvoří? Rozpad na menší celky Použití intervalů Vzorce Soubory otázek
Srovnání odhadů a skutečnosti Další prameny
121 122 122 122 123 125 126
127 128
KAPITOLA 10
Dekompozice a zpětné skládání
129
Kalkulace přesného celkového očekávaného případu
130
Zákon velkých čísel Jak malé by měly odhadované části být?
Dekompozice pomocí struktury práce v aktivitách Rizika sčítání odhadů nejlepších a nejhorších případů Varování: Nejprve matematika! Co bylo špatně?
Vytváření smysluplných celkových odhadů nejlepšího a nejhoršího případu Výpočet nejlepších a nejhorších souhrnných případů pro malá množství úkolů (jednoduchý vzorec pro standardní odchylku) Výpočet nejlepších a nejhorších souhrnných případů pro velká množství úkolů (komplexní vzorec pro standardní odchylku) Vytváření souhrnných odhadů nejlepších a nejhorších případů Nástrahy u odhadů s procentuální jistotou
Další zdroje
131 132
133 134 135 135
137 137 138 141 142
143
K1369.qxd
8.11.2006
10:39
StrÆnka 9
Obsah
9
KAPITOLA 11
Odhad pomocí analogie Základní přístup k odhadování pomocí analogie
145 146
Krok 1: Získejte detailní konečné údaje o velikosti, práci a ceně u podobného projektu v minulosti 147 Krok 2: Srovnejte velikost nového a podobného starého projektu 148 Krok 3: Postavte odhad pro velikost nového projektu jako procentuální poměr vůči velikosti starého projektu 148 Krok 4: Vytvořte odhad práce postavený na srovnání velikosti nového a předchozího projektu 149 Krok 5: Kontrolujte soulad předpokladů ve starém a novém projektu 150
Poznámky k nejistotě v odhadu Triadu
150
Nejistota odhadů, plány a závazky
151
KAPITOLA 12
Odhady pomocí zástupce Fuzzy logika Jak získat hodnoty průměrné velikosti Jak klasifikovat novou funkcionalitu Jak fuzzy logiku nepoužívat Rozšíření fuzzy logiky
Standardní komponenty Použití standardních komponent s percentily Omezení standardních komponent
Větší celky a jejich hodnocení (Story points) Nástrahy škál hodnocení
Konfekční velikost (T-Shirt Sizing) Další použití metod se zástupci Další prameny
153 154 155 155 156 156
157 158 159
160 162
163 165 166
KAPITOLA 13
Skupinové úsudky expertů Skupinová hodnocení Wideband Delphi Účinnost Wideband Delphi „Pravda je venku“ Kdy použít Wideband Delphi
Další prameny
167 167 169 170 172 172
173
K1369.qxd
8.11.2006
10
10:39
StrÆnka 10
Obsah
KAPITOLA 14
Softwarové nástroje na odhady Co lze udělat s nástroji a nikoli ručně Data potřebná pro nastavení nástrojů Jedna věc, kterou byste neměli dělat s nástrojem ani jindy Shrnutí dostupných nástrojů Další prameny
175 175 180 180 181 182
KAPITOLA 15
Použití více přístupů Další prameny
183 187
KAPITOLA 16
Vývoj odhadů software u dobře odhadnutých projektů Vývoj individuálního odhadu na špatně odhadovaném projektu Vývoj individuálního odhadu na dobře odhadovaném projektu Chronologický průběh vývoje odhadu pro celý projekt Vývoj odhadu u velkých projektů Vývoj odhadu u malých projektů
Zpřesňování odhadů Jak předložit opravený odhad investorům Kdy předkládat upravené odhady Co když vám management nepovolí odhad přehodnotit?
Pohled na dobře odhadnutý projekt
189 190 190 192 193 193
193 194 195 196
197
KAPITOLA 17
Standardizované procedury odhadování Obvyklé části standardizované procedury Úprava odhadování na proces stádium-brána Příklad standardizované procedury odhadování pro postupné projekty Příklad standardizované procedury odhadování pro opakující se projekty Příklad standardizované procedury odhadovaní z vyspělé organizace Vylepšování vaší standardizované procedury Další prameny
199 200 200 203 206 208 210 211
K1369.qxd
8.11.2006
10:39
StrÆnka 11
Obsah
11
ČÁST 3
Typické problémy při odhadování KAPITOLA 18
Problémy v odhadech velikosti Problémy s odhadováním velikosti Úloha řádků kódu v odhadech velikosti
Odhadování pomocí funkčních celků Převod funkčních celků na řádky kódu
Zjednodušené metody funkčních celků Nizozemská Metoda GUI elementy
Shrnutí metod odhadování velikosti Další prameny
215 216 216
218 220
221 221 222
223 224
KAPITOLA 19
Problémy v odhadech práce Vlivy na práci Výpočet práce z velikosti
227 227 229
Výpočet odhadu práce pomocí neformálního srovnání s předchozími projekty Jaké druhy software jsou v tomto odhadu zahrnuty?
229 230
Výpočet odhadů práce pomocí vědeckého odhadování Grafy práce z průměru v odvětví Metoda ISBSG
230 231 236
Druh Druh Druh Druh Druh Druh Druh Druh
projektu: projektu: projektu: projektu: projektu: projektu: projektu: projektu:
Obecný Mainframe Střední Desktop Jazyk třetí generace Jazyk čtvté generace Rozšíření Nový vývoj
Srovnání odhadů práce Další prameny
237 237 237 237 237 238 238 238
239 240
KAPITOLA 20
Problémy v odhadech rozvrhu Základní rovnice pro rozvrh
241 242
K1369.qxd
8.11.2006
12
10:39
StrÆnka 12
Obsah
Výpočet rozvrhu pomocí neformálních srovnání s minulými projekty Jonesova metoda odhadování prvního řádu Výpočet odhadu rozvrhu pomocí vědeckého odhadování Zkracování rozvrhu a nejkratší možný rozvrh Kompromisy mezi rozvrhem a prací Zkracování rozvrhu a velikost týmu
Odhady rozvrhu a omezení personálu Srovnání výsledků různých metod Další prameny
243 244 245 246 248 249
250 251 252
KAPITOLA 21
Odhadování parametrů plánování Odhad rozložení aktivit na projektu Odhadování přiřazení práce na různé technické aktivity Odhad práce na specifikaci požadavků Odhad práce managementu Odhad celkové aktivity Nastavení podle typu projektu Příklad přiřazení práce na aktivity Poměry vývojáři-testeři
Odhad rozvrhu pro různé aktivity Převod odhadované práce (ideální situace) na plán práce Odhady ceny Přesčasy Je cena projektu založená na přímé ceně, plné ceně nebo nějaké jiné variaci? Další přímé náklady
Odhadování produkce chyb a jejich odstraňování Odhad odstraňování chyb Příklad odhadování efektivity při odstraňování chyb
Odhadování rezervy pro rizika a výjimečné situace Další hrubá čísla Další prameny
253 253 254 254 255 256 256 257 258
258 259 261 261 261 261
261 262 263
265 267 267
KAPITOLA 22
Způsoby prezentace odhadu Komunikace o předpokladech v odhadu Vyjádření nejistoty Znaménka plus a mínus
269 269 271 271
K1369.qxd
8.11.2006
10:39
StrÆnka 13
Obsah
Rozpis rizik Koeficienty pravděpodobnosti Odhady pomocí případů Rozlišení časových údajů a úseků
Použití intervalů (libovolných) Užitečnost odhadů pomocí intervalů Intervaly a závazky
Další prameny
13
271 272 274 275
276 276 277
277
KAPITOLA 23
Politika, vyjednávání a řešení problémů Vlastnosti manažerů Politické vlivy na odhady Externí omezení Rozpočty a termíny Vyjednávání o odhadech versus vyjednávání o závazcích Co dělat, když nebude váš odhad akceptován Odpovědnost technických pracovníků za vzdělávání laických investorů
Řešení problémů a principiální vyjednávání Přístup k vyjednávání jako k řešení problému Oddělení lidí a problémů Zaměření na zájmy, ne na pozice Hledání oboustranně výhodných možností Trvání na používání objektivních kritérií
Další prameny
279 279 280 281 281 281 282 282
283 284 284 285 286 288
289
PŘÍLOHA A
Prvotní kontrola odhadu
291
PŘÍLOHA B
Odpovědi na kvíz v kapitole 2, „Jak dobré odhady děláte?“
293
PŘÍLOHA C
Tipy pro odhadování softwaru
295
Rejstřík
313