Inhoudsopgave - Succesvol managen van offshore software projecten
Voorwoord 5
1 Inleiding 15
1.1 Globalisering 16
2 Outsourcing 19
2.1 Achtergrond van outsourcing 19
2.1.1 Wat kan een bedrijf wel en niet outsourcen? 21
2.1.2 Goedkoop is duurkoop 22
2.2 De outsourcer drukt op de knoppen 24
2.2.1 Hemel of hel? 25
2.3 De huidige trend: multisourcing 25
2.3.1 Sluipende outsourcing 26
2.4 De volgende trend: selective sourcing 27
2.4.1 Gouden jaren voorbij 28
3 Offshoring: de nadelen en de voordelen 29
3.1 Nadelen 29
3.1.1 Communicatieknelpunt 29
3.1.2 Cultuurverschillen 30
3.1.3 Juridische problemen 32
3.1.4 Afstand 32
3.1.5 Tijdverschillen 32
3.2 Voordelen van offshore 34
3.2.1 Lagere kosten 34
3.2.2 Meer kwaliteit 34
3.2.3 Afbakening verantwoordelijkheid 36
3.2.4 Geen personeelsrisico 37
3.2.5 Kostenbesparing door specialisatie 38
3.2.6 Minder kans op diefstal van intellectueel eigendom 38
3.2.7 Business opportunities 40
4 Wat doe je tegen offshoring? 43
4.1 Houd jezelf een spiegel voor 43
4.2 Fase 1: Bouw een verdedigingslinie 44
4.3 Fase 2: Gebruik oneliners 47
4.3.1 Een goede oneliner 47
4.3.2 Gebruik geen verkeerde argumenten 49
4.3.3 Vertel je baas eens goed de waarheid 50
4.4 Fase 3: Ga vertragen 50
4.5 Fase 4: Hoe laat ik het in de soep lopen? 51
4.5.1 Op uurbasis werken 52
4.5.2 Opvoeren bureaucratie 53
4.5.3 Extra mensen op het project 53
4.5.4 Eigen mensen inzetten 54
4.5.5 Offshoremedewerkers naar Nederland halen 54
4.5.6 Nieuwe software klinkt als een klok 55
4.5.7 Je loopt geen risico 55
4.5.8 Meer gevaarlijke tactieken 56
5 De offshoreleverancier 57
5.1 Contact met de leverancier 57
5.1.1 Kannibalisme 58
5.2 Strategie van de leverancier 61
5.2.1 Uurtje-factuurtje-cultuur 62
5.2.2 Meerwerk 63
5.2.3 Langetermijnstrategie 64
5.3 Geen verstand van techniek 65
5.3.1 Enthousiast beginnende bedrijven 66
5.3.2 Contracten niet afdwingbaar 68
5.3.3 Expats 69
5.4 Cultuur 70
5.4.1 Het onderzoek van Hofsteder 71
5.4.2 De offshoreprogrammeur 72
5.4.3 Wat ook nog een rol speelt 73
5.4.4 Respect 77
5.5 Matchen van bedrijfsculturen 78
5.5.1 Ethiek van de offshoreleverancier 79
5.5.2 ICT-cultuur van de opdrachtgever 82
5.6 Problemen van de leveranciers 85
5.6.1 Goed personeel 85
5.6.2 Te snelle groei 87
5.6.3 Corruptie 88
5.6.4 Westerse betalingsmoraal 89
5.6.5 Arrogante klanten 90
5.6.6 Infrastructuur 90
5.7 Prijzen en vergoedingen 91
5.7.1 Fixed price 91
5.7.2 Offshore inhuren van medewerkers 91
5.7.3 Waardeloze garantie 92
6 De selectie van de leverancier 93
6.1 De hoofdzaken 93
6.1.1 Ga niet zwemmen met een walvis 95
6.2 Verkooptechnieken 95
6.2.1 Driedimensionaal 95
6.2.2 Name dropping 96
6.2.3 Alle kwaliteitssystemen in huis 97
6.3 Methoden voor selectie 98
6.3.1 Raamcontract 98
6.3.2 Request For Proposal 99
6.3.3 Pilot 100
6.3.4 Monopolie van vaste leveranciers 101
7 Typen projecten voor offshoring 103
7.1 Rangorde van typen projecten voor outsourcing 104
7.1.1 Klein onderhoud 104
7.1.2 Systeembeheer 105
7.1.3 Herschrijven kernsystemen 106
7.1.4 Kleine systemen: lean en mean 107
7.1.5 Vervangen bestaande applicaties (legacy) 108
7.1.6 Uitbreiden bestaande applicaties 109
7.1.7 Nieuwbouwapplicaties 109
7.1.8 Technische systemen 109
7.2 Niet geschikt voor outsourcing 110
7.2.1 Gebruikersdocumentatie en helpfiles 110
7.2.2 Validatie 110
7.2.3 Eenmalig klein project 111
8 Initieel (CMMI Niveau 1) 113
8.1 Wat is CMMI? 114
8.1.1 Het Pentagon 115
8.1.2 CMMI in vogelvlucht 116
8.2 De pioniers van Niveau 1 117
8.3 Terugvallen naar Niveau 1 119
8.3.1 ISO 121
8.3.2 ITIL 121
8.3.3 CMMI en commercie 121
8.3.4 Bureaucratische implementatie CMMI 123
8.3.5 Certificaten in conflict 124
8.4 De niveaus zijn hulpmiddel 124
8.5 Het niveau van de opdrachtgever 125
8.5.1 Fouten bij het realiseren van CMMI-niveaus 126
8.5.2 Geslaagde implementatie CMMI 126
9 Herhaalbare Uitvoering (CMMI Niveau 2) 127
9.1 Specificatie Management 127
9.1.1 Doel van CMMI 127
9.1.2 Teller gaat lopen 128
9.1.3 Specificeren vooraf is moeilijk 128
9.1.4 Globale specificaties 129
9.1.5 Meer nadelen van gedetailleerde specificaties 132
9.1.6 Leveranciers willen graag gedetailleerde specificaties 133
9.1.7 Verdeling specificaties 133
9.2 Project Planning 136
9.2.1 Doel van CMMI 136
9.2.2 Opstellen van het plan 136
9.2.3 Een goede planning 137
9.2.4 Het plan van de opdrachtgever 140
9.3 Project Monitoring en Controle 140
9.3.1 Doel van CMMI 140
9.3.2 De programmeurs zitten ver weg 140
9.3.3 Precieze urenverantwoording 141
9.3.4 De oplossing is heel eenvoudig 143
9.3.5 Communicatiemiddelen 147
9.3.6 Teveel communicatie 150
9.4 Leverancier Overeenkomst Management 151
9.4.1 Doel van CMMI 151
9.4.2 De overeenkomst 151
9.4.3 Uitbesteding door de offshoreleverancier 152
9.4.4 Onderaanneming 152
9.4.5 Componenten 153
9.4.6 Open source 154
9.4.7 Java-libraries 155
9.4.8 Pas op met Fenit-voorwaarden 155
9.4.9 Wie betaalt de licentie? 155
9.5 Meten en Analyse 156
9.5.1 Doel van CMMI 156
9.5.2 Snel invoeren 156
9.5.3 Ieder project is anders 156
9.5.4 Kan er wel zinvol worden gemeten? 157
9.5.5 Het schatten van projecten 158
9.5.6 Welke data moet worden verzameld? 158
9.6 Proces en Product Kwaliteit Waarborging 160
9.6.1 Doel van CMMI 160
9.6.2 Processen 160
9.6.3 Product Kwaliteit 161
9.6.4 Kwaliteitscriteria 162
9.6.5 Aantrekkelijkheid 162
9.6.6 Criteria zijn tegenstrijdig 163
9.6.7 Een aantal criteria 163
9.7 Configuratie Management 167
9.7.1 Doel van CMMI 167
9.7.2 Lakmoesproef 168
9.7.3 Niet alleen sources 168
9.7.4 Configuratie Management van de opdrachtgever 168
9.7.5 Synchronisatie 169
10 Gedefinieerd (CMMI Niveau 3) 171
10.1 Opstellen van Specificaties 171
10.1.1 Doel van CMMI 171
10.1.2 De rol van de informatie-architect 172
10.1.3 De rol van de offshoreleverancier 173
10.1.4 Het begrip informatieruimte 174
10.1.5 Ontwerpen 174
10.1.6 Conceptueel model 176
10.2 Technische Oplossingen 183
10.2.1 Doel van CMMI 183
10.2.2 Afwegen alternatieven 183
10.2.3 De verkeerde technologie 184
10.2.4 Opdrachtgever moet criteria formuleren 188
10.3 Product Integratie 189
10.3.1 Doel van CMMI 189
10.3.2 Integratiestrategie 190
10.3.3 Voorbereiding 191
10.3.4 Technische interface-specificaties 192
10.3.5 Productassemblage 192
10.4 Verificatie 194
10.4.1 Doel van CMMI 194
10.4.2 Uitgaande van specificaties 194
10.4.3 Wat maakt offshore testen zo moeilijk 194
10.4.4 Geen testdata 196
10.4.5 Grote hoeveelheden data 197
10.4.6 Testen van websites 198
10.4.7 Testprotocol 198
10.4.8 Regressietest 199
10.4.9 Acceptatietest 200
10.4.10 Verificatiestappen 200
10.5 Validatie 201
10.5.1 Doel van CMMI 201
10.5.2 Validatie begint vroeg 201
10.5.3 Validatie door de opdrachtgever 201
10.5.4 Validatie vanuit businessdoelstellingen 202
10.5.5 Valideren als rem op specificeren 203
10.5.6 Voedingsadministratie 205
10.5.7 Use cases 206
10.5.8 User interfaces 206
10.5.9 Prototypen 207
10.5.10 Gebruikersomgeving 208
10.6 Organisatorische Proces Focus 209
10.6.1 Doel van CMMI 209
10.6.2 Minimale taak van de opdrachtgever 209
10.6.3 Keuze van het proces 210
10.6.4 De invloed van de leverancier 211
10.6.5 De zwakke punten van een opdrachtgever 211
10.6.6 Vraag het de offshoreleverancier 212
10.7 Organisatorische Proces Definitie 212
10.7.1 Doel van CMMI 212
10.7.2 Bibliotheek van standaardprocessen 213
10.7.3 Formele organisatie 213
10.7.4 Life cycle-model 213
10.7.5 Populariteit van Agile 217
10.7.6 Agility en discipline 218
10.8 Organisatorische Training 220
10.8.1 Doel van CMMI 220
10.8.2 Training eigen medewerkers 220
10.8.3 Wie geeft de training? 221
10.8.4 Het niveau van de training 221
10.8.5 Managementtraining voor opdrachtgevers 221
10.8.6 De basis van de training 222
10.9 Integraal Project Management 222
10.9.1 Doel van CMMI 222
10.9.2 Historie 223
10.9.3 Softwareprojecten 223
10.9.4 Uitgaan van gemeenschappelijke visie 224
10.9.5 Vaststellen van processen en methoden 224
10.9.6 Standaardprocessen gebruiken 225
10.9.7 Snelle start 226
10.10 Risico Management 227
10.10.1 Doel van CMMI 227
10.10.2 Risico’s en faalfactoren 227
10.10.3 De impact van risico’s 230
10.10.4 Het berekenen van risico’s 230
10.10.5 Overnemen van risico’s van de leverancier 231
10.10.6 Functioneel beperkte technologie 234
10.10.7 Documentatie van risico’s 234
10.11 Integrale Teams 234
10.11.1 Doel van CMMI 234
10.11.2 Wat is een Integraal Team 235
10.11.3 Voorbereiden van een team 235
10.11.4 Gemeenschappelijk beeld 235
10.11.5 Team charter 236
10.11.6 De kwaliteit van mensen 236
10.11.7 Het projectteam 237
10.11.8 Afstand 240
10.12 Integraal Leveranciers Management 241
10.12.1 Doel van CMMI 241
10.12.2 Partnership 241
10.13 Beslissingsanalyse en Besluitvorming 241
10.13.1 Doel van CMMI 241
10.13.2 Op zich eenvoudig 242
10.13.3 Toepassen Beslissingsanalyse 242
10.13.4 Uitvoeren van Beslissingsanalyse 243
10.14 Organisatorische Omgeving voor Integratie 243
10.14.1 Doel van CMMI 243
10.14.2 Een geďntegreerde infrastructuur 244
10.14.3 Projectonafhankelijke infrastructuur 244
10.14.4 Talkshow 244
10.14.5 Training 245
10.14.6 Integrale omgeving van de offshoreleverancier 246
11 Gemanaged (CMMI Niveau 4) 247
11.1 Organisatorische Proces Calculatie 247
11.1.1 Doel van CMMI 247
11.1.2 Kwantitatief voorspellen van kwaliteit 247
11.1.3 Kwaliteit van statistische methoden 249
11.1.4 Welke waarden zijn bruikbaar? 249
11.1.5 Zachte data 250
11.1.6 Harde data 250
11.1.7 Meetsysteem 252
11.2 Kwantitatief Project Management 252
11.2.1 Doel van CMMI 252
11.2.2 Gezond verstand 253
11.2.3 Aantal regels code 254
11.2.4 Interpreteren van data 255
11.2.5 Oorzaken 256
11.2.6 Het gevaar van Kwantitatief Project Management 256
12 Geoptimaliseerd (CMMI Niveau 5) 257
12.1 Organisatie Innovatie en Implementatie 257
12.1.1 Doel van CMMI 257
12.1.2 Verzuipen in procedures 257
12.1.3 Innovatie 257
12.1.4 Bedrijfscultuur en certificatie 258
12.1.5 Input voor innovatie 258
12.1.6 Pilots en implementatie 259
12.2 Praktijk Analyse en Oplossingen 260
12.2.1 Doel van CMMI 260
12.2.2 Leukste gedeelte 260
12.2.3 Analyse paralyse 261
12.2.4 Analyseer oorzaken 261
12.2.5 Implementeer de maatregelen 261
12.2.6 Pas de standaardprocessen aan 262
12.3 De vijf CMMI-niveaus globaal vergeleken 262
13 Hoe controleer je de offerte? 263
13.1 Kies de leverancier die je vertrouwt 263
13.2 Referenties altijd opvragen 263
13.3 De uiteindelijke offerte 264
13.4 Criteria 264
13.4.1 Juridische aspecten 265
13.4.2 Specificaties 266
13.4.3 Techniek 266
13.4.4 Planning 266
13.4.5 Meten 267
13.4.6 Proces Kwaliteit 267
13.4.7 Product Kwaliteit 268
13.4.8 Configuratie Management 268
13.4.9 Training 268
13.4.10 Risico Management 269
14 Hoe controleer je CMMI van de leverancier? 271
14.1 Goede kwaliteit zonder CMMI 272
14.2 Toetsen van CMMI 272
14.3 Niveau 2 272
14.3.1 Specificatie Management 273
14.3.2 Project Planning 273
14.3.3 Project Monitoring en Controle 274
14.3.4 Leveranciers Management 274
14.3.5 Meten en Analyse 274
14.3.6 Proces en Product Kwaliteit Waarborging 275
14.3.7 Configuratie Management 275
14.4 Niveau 3 276
14.4.1 Opstellen Specificaties 276
14.4.2 Technische Oplossingen 277
14.4.3 Product Integratie 277
14.4.4 Verificatie 278
14.4.5 Validatie 278
14.4.6 Organisatorische Proces Focus 278
14.4.7 Organisatorische Proces Definitie 279
14.4.8 Organisatorische Training 279
14.4.9 Integraal Project Management 279
14.4.10 Risico Management 279
14.4.11 Integrale Teams 280
14.4.12 Integraal Leveranciers Management 280
14.4.13 Beslissingsanalyse en Besluitvorming 280
14.5 Niveau 4 en 5 280
15 Onderhoud na het project 283
15.1 Denkkracht van de leverancier 283
15.2 Service Level Agreement 283
15.2.1 Wet van Parkinson 284
15.2.2 De inhoud van een SLA 285
15.3 Eén halen, drie betalen 287
16 De toekomst van ICT 289
16.1 Moeilijke tijd voor programmeurs 289
16.1.1 Baan verliezen 290
16.1.2 Projecten aansturen 290
16.2 Toekomst van ICT-bedrijven 291
16.2.1 Fixed price-model 292
16.2.2 Specialisatie 292
16.2.3 Grote aanbieders 293
16.3 Toekomst van offshoring 295
Referenties 297
Index 299