vrijdag 29 maart 2013

Hundred developers can't be wrong


"Hundred developers can be wrong."
                                                              — Sam Rain
Het is hartje zomer. Iedereen is op vakantie, behalve een collega en ik. Een nieuwe versie van het vlaggenschip is uit en er wordt geen storm verwacht. Sterker nog, het is de versie waar vele problemen mee zouden zijn verholpen. Het is rustig, want elders in de wereld geniet men van de zomer. Behalve een collega en ik. We zitten wacht te houden alsof we aan de Korea-lijn zitten. Het vlaggenschip wordt vaak in een simulatie omgeving getest, dus productie problemen hoeven we niet te verwachten.
De telefoon gaat. Een vriendelijke verwelkoming die onmiddellijk teniet wordt gedaan door de nerveuze man aan de andere kant. Er zijn problemen met het vlaggenschip. En dat nog eens op productieniveau. Ik vraag vriendelijk naar de standaard vragenlijst, terwijl de nervositeit toeneemt aan de andere kant. De klant zou vandaag gaan werken met de nieuwe versie, maar het blijkt dat in de testomgeving het gebeuren vlekkeloos gaat, maar in productie alle transacties op hun gat liggen. De nerveuze man maakt duidelijk dat de database steeds voller raakt. En ik besef me dat het probleem groter is dan een installatieprobleem.
Wanneer een systeem zonder beschikbare ruimte komt te staan, volgt een crash. Oftewel, een uitval van diensten. Nu is een computer crash de gewoonste zaak van de wereld, behalve in de industrie waar men miljoenen kritische transacties per dag verwerkt. Zoals bij een bank. En in dit geval een Duitse bank. Tijd is dus een gevaarlijke factor. Uitzetten betekent een verlies van dienstverlening en verlies van dienstverlening staat gelijk aan winstderving. Ik maak een snelle berekening — ik heb ongeveer acht uurtjes om de zaak op te lossen.
Het is tekort dag om er naar toe te gaan. Het Amerikaanse ontwikkelteam is zeker nog vier  uur onbereikbaar, die het vlaggenschip binnenste buiten kennen. Ik druk op de paniek knop, een mail van hoge prioriteit naar het senior management team. Mensen moeten uit bed worden gebeld. Ik ben namelijk nog te onervaren.
Toch doe ik een poging om de zaak te repliceren. De eerste reacties komen binnen. "Try to re-install."
             "Impossible. Live system.", stuur ik terug.
De telefoon gaat. Het is het hoofd van het ontwikkelingsteam, die als een profeet probeert te vertellen dat het een installatieprobleem moet zijn. Ik ben het er niet mee eens — er zijn geen artefacten in de logboekbestanden. Het onderliggend systeem werkt, totdat het vlaggenschip wordt gestart. Een andere applicatie start als gebruikelijk. Het hoofd blijft erbij; het is onmogelijk dat het aan het product ligt. "You are a smart guy, I can tell. But you lack experience with our products. Besides, hundred developers can't be wrong. Don 't worry, I have asked our Maverick to take this issue on right away."
Ik heb de nerveuze man aan de lijn. Ik voel dat zijn baas hem op de hielen zit. Hij doet zijn uiterste best en ondanks dat ik al heb aangegeven dat de beste uit het ontwikkelteam de zaak op zich neemt, kan ik het niet weerstaan om verder te zoeken. Na diverse inbreuken op het interne beleid, ongeautoriseerde broncode aan te passen en de nodige plakband en nietjes op het gebied van software, ontdek ik het probleem. Ik licht mijn manager in, die meteen akkoord geeft om het te proberen.
Het werkt. Klant blij. Manager blij. Collega blij. Behalve in Amerika. Want daar moest een hoofd toegeven dat "hundred developers can be wrong" een statement is die waar kan zijn.
©SamRain
Developers

Geen opmerkingen:

Een reactie posten