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