Gegronde redenen

Het nu volgende verhaal speelt eind jaren '80. Onze lezer, laten we hem 'Frank' noemen, was net begonnen in een nieuwe functie bij een grote onderneming. “Kort nadat ik daar binnen kwam, werd een van de ontwikkelaars ontslagen om 'gegronde redenen'," vertelt Frank. “De eerstvolgende keer dat we de loonlijst wilden draaien, liep de hele procedure halverwege vast. Niemand kwam erachter waar dat aan lag, en omdat het betreffende programma het kindje was van de zojuist ontslagen ontwikkelaar, belden ze hem om hulp. Hij liet zich inhuren als consultant, tegen driemaal zijn oorspronkelijke salaris.

Het bedrijf was er niet bepaald blij mee, maar veel keus hadden ze niet. Mij werd gevraagd naast hem te gaan zitten zodat ik eventueel een volgende keer het probleem zelf kon oplossen. In de daaropvolgende drie dagen zag ik dat het probleem werd veroorzaakt door een procedure die hij zelf geschreven had, en die diep verstopt zat in een hele laag programmeercode. Die procedure controleerde de tabel met werknemersinformatie, en als uit die query bleek dat het sofinummer van die programmeur niet meer aanwezig was, of dat zijn status bij 'werkzaam' op 'N' stond, dan werd het hele programma stopgezet. Hij bood me nog aan de procedure bij te werken zodat de query ook mijn sofinummer zou controleren, maar ik heb hem vriendelijk bedankt. Sindsdien begrijp ik wat ze bedoelen met 'gegronde redenen'."

Lastige gebruikers

Deze lezer werd als consultant ingehuurd om de user interface van de website van een grote investeringsbank onder handen te nemen. “Ik schoof aan bij de vergadering waarin de planning werd doorgenomen, en daar liet ik vallen dat het mij een goed idee leek een aantal typische gebruikers te interviewen om tot een goed doortimmerd ontwerp te komen," vertelt hij.

“De belangrijkste business sponsor zei daarop dat het niet nodig was met gebruikers te overleggen omdat de business al wist wat er nodig was. We zaten daar met een aantal belangrijke spelers, dus voelde ik me verplicht te benadrukken dat het echt een goed idee zou zijn het design op te bouwen rond de wensen van de gebruikers, om ervoor te zorgen dat het resultaat ook daadwerkelijk een succes zou worden. Die zakenman keek me recht in de ogen en zei: 'Er zijn ook manieren om aan user-centered design te doen zonder dat je daar je klanten voor hoeft lastig te vallen'."

Lees de handleiding

Als jonge wilde programmeur werkte deze lezer ooit voor een overheidsinstelling waarvoor hij een niet bijster spannende toepassing in elkaar moest draaien. “Ik was nog jong en had een raar gevoel voor humor, dus verstopte ik een stukje code dat ik uit een computerspel had gehaald in de applicatie," vertelt hij. “Die code toonde een plaatje van een barst in het computerscherm. Ik schreef in de handleiding dat de gebruikers op een specifiek moment vooral niet op een bepaalde vreemde toetscombinatie moesten drukken.

Deden ze dat wel, dan verscheen de tekst “Ik had nog zo gezegd dat je dat niet moest doen!" in beeld, en vijf seconden later dat plaatje van die barst. Na tien seconden verdween het weer, en daarna had ik het zo ingesteld dat je die grap een week lang niet meer kon uithalen. Binnen een week nadat die applicatie werd vrijgegeven hadden de gebruikers de grap ontdekt, en vanaf dat moment gebruikten ze hem om alle nieuwe collega's de stuipen op het lijf te jagen. Zo zie je maar weer: soms blijken je gebruikers die handleiding wel degelijk te lezen."

Tussenwandje

Een gebruiker belt naar de helpdesk. Haar bureau is een stukje verplaatst, en sindsdien kan ze niet meer bij het netwerk of het internet. “Ik erheen," vertelt een lezer. “Alles gecontroleerd: de netwerkkaart leek te werken, de instellingen klopten, de domeinnaam en inloggegevens waren correct ingevoerd. Vervolgens liep ik de netwerkkabel langs, vanaf de netwerkkaart, onder het bureau door, en zo recht de muur in! Wat bleek: haar bureau was verschoven omdat er een nieuw tussenwandje geplaatst moest worden. Die gasten die dat muurtje hadden gebouwd, hadden gewoon haar bureau een stuk opgeschoven zonder ook maar een stekker aan te raken, en hadden vervolgens domweg hun muurtje bovenop die netwerkkabel gebouwd."

“Ik heb tijdelijk even een netwerkkabeltje over de grond door de deuropening naar de oude netwerkcontactdoos geleid, en vervolgens een verzoek ingediend om zo'n aansluiting in de muur bij haar bureau te laten aanleggen. Het is oppassen met die bouwvakkers: ze zijn goed met muurtjes, maar dat is het dan ook wel."

Server is down

Een klein bedrijfje heeft een IT-afdeling bestaande uit één persoon: een van onze lezers. “Mijn kantoortje was tevens de serverruimte," vertelt hij. “Het voordeel was wel dat het er altijd lekker warm was, en dat ik direct zicht had op onze servers en netwerkapparatuur. Dat was best handig, vooral als er weer eens iemand aan de lijn hing of kwam binnenvallen om me te vertellen dat de server weer 'down' was. Natuurlijk ging er echt wel eens wat fout, maar 'de server is down' werd op een gegeven moment echt zo'n standaardzinnetje dat iedereen gebruikte voor eigenlijk ieder technisch probleem. Ik werd er helemaal gek van."

Toen bedacht de lezer een oplossing. Met toestemming van de CEO nam hij het woord bij de eerstvolgende bedrijfsborrel. “We gaan per direct een nieuw IT-beleid voeren," kondigde hij aan. “Als vanaf nu de server 'down' gaat, krijgt de eerste die me daarvan op de hoogte brengt een beloning van 10 euro," zegt hij. Applaus. Waarop onze man vervolgde: “Maar! Als je me vertelt dat mijn server down is en we constateren dat er niets mee aan de hand is, dan krijg ik 10 euro van jou!" Vanaf dat moment is de server niet meer down geweest. “Nooit meer," zweert onze lezer.

Bug reports

Deze lezer werkte voor de plaatselijke klantenservice van een Amerikaans bedrijf. “Bij de klantenservice in ons land hadden we helaas geen toegang tot de broncodes als we problemen ontdekten in de software," vertelt onze man. “Het enige dat we konden doen was een rapportje schrijven en dat indienen bij het Amerikaanse hoofdkantoor om het door hen te laten oplossen. Daar hadden we een vreselijke hekel aan. We deden het wel, maar we hadden altijd het gevoel dat het eeuwen duurde voordat er iets met die rapportjes werd gedaan. En als er dan iets mee gedaan werd, nam niemand de moeite ons daarvan op de hoogte te brengen."

“Na een paar jaar zag ik een vacature voorbijkomen van het hoofdkantoor in Amerika. Op dat moment leek me dat een ideale baan voor mij. Ik werd inderdaad aangenomen en verhuisde naar Amerika. Na een paar maanden training gaven ze me een stapel bug reports om te verwerken. De eerste die ik zag kwam me vaag bekend voor. Het bleek een rapport te zijn dat ik zelf jaren daarvoor had ingediend. Ik heb die bug direct verholpen, en belde daarna meteen naar mijn oude kantoor om ze te vertellen dat het probleem voorbij was."

De menselijke maat

“Ik werd te hulp geroepen door een van onze klanten," vertelt deze lezer. “Hun netwerk draaide helemaal door. We hebben het over een flink kantoor, met een heleboel routers en keurig gescheiden subnets. Ergens ging iets grondig mis. We lieten er wat sniffers op los, waardoor we konden zien dat er ergens twee subnets aan het lekken waren. Uiteindelijk kwamen we daarbij uit bij twee afdelingen in twee naast elkaar gelegen kantoortorens: de afdeling Juridische Zaken en de ontwikkelaars." Onze lezer en zijn team besluiten maar eens een wandelingetje over de werkvloer te maken om te zien of ze iets raars tegenkomen.

Aanvankelijk lijkt alles in orde. Maar dan stuit iemand van het team op een ethernetkabel die door een gang kronkelt. De netwerkkabel verbindt twee netwerkcontactdozen, en hij komt niet uit de voorraad van het IT-team. “We zijn een beetje gaan graven," vertelt de lezer. “Bleek dat Juridische Zaken geen vrije internettoegang had. De ontwikkelaars wel. Een of andere slimmerik bij Juridische Zaken kwam erachter dat als hij een kabel doorplugde naar een aansluiting bij de ontwikkelaars, ze onbeperkt internet zonder filters konden krijgen. Ik heb niet meer gehoord wat er uiteindelijk met de dader is gebeurd, maar ik hoop dat ze hem hebben ontslagen."

Hier tekenen

Als projectmanager was een van onze lezers ooit verantwoordelijk voor een business intelligence project waarvoor een externe leverancier moest worden ingeschakeld - een leverancier die haar door haar bazen sterk werd aanbevolen. De leverancier stuurde een voorstel, waarin keurig en tot in detail kosten voor hardware en licenties waren opgenomen. Daaronder stond echter nog een enkele post getiteld “professionele services" - goed voor maar liefst 40 procent van de geoffreerde totaalprijs.

“Geen beschrijving van taken, geen tijdverantwoording of planning, helemaal niets," zegt onze lezer. “Alleen die twee woorden." En een bedrag van zes cijfers erachter. Dus stuurde ze meteen een mailtje terug, waarin ze vroeg of de kosten voor 'professionele services' nader verantwoord konden worden, zodat zij ze in het projectplan kon verwerken. “De leverancier reageerde met de mededeling dat ze daar weinig aan konden doen zolang het contract niet was getekend," vertelt ze. “Volgens hen was een op maat geschreven projectimplementatieplan onderdeel van de 'professional services', die pas van start gingen als de overeenkomst rond was."

Overkill

Zoals wel vaker voorkomt bij bedrijven is de onderneming waarvoor deze lezer werkt bezig de boekhoudsoftware te standaardiseren. De laatste vestiging die over ging op het nieuwe systeem bevond zich in het zuiden des lands. “Toen het nieuwe systeem geïnstalleerd werd, mochten al hun medewerkers op training, maar desondanks bleven ze nog maandenlang hun oude systeem gebruiken, dat ooit eens in elkaar gezet was door een IT-er die het bedrijf al lang geleden had verlaten," vertelt hij. Maar na verloop van tijd werd de druk opgevoerd, en toen vertelden de mensen van de betreffende vestiging dat ze het nieuwe systeem helemaal niet konden gebruiken omdat hun klantgegevens er niet in stonden. Onze lezer kreeg opdracht een programma te schrijven dat de klantgegevens kon importeren in het nieuwe systeem.

Na enkele vergaderingen waarin alle specificaties voor de data-import werden doorgenomen, ontving hij uiteindelijk een keurige spreadsheet - met daarin precies vier rijen gegevens. “Ik schreef terug dat dat prima testgegevens waren, maar dat ik graag al hun klantgegevens wilde hebben om die te importeren in de testdatabase. Kreeg ik een mailtje terug waarin ze me doodleuk vertelden dat die spreadsheet alle klantgegevens bevatte die ze hadden."

It's a long way to the top

Deze lezer was ooit IT VP bij een Amerikaanse onderneming toen hij vroeg in de ochtend werd gebeld door een van de vestigingsmanagers - en hij had al een aardig idee waar het over zou gaan. “Een van onze kantoren zat in een wolkenkrabber in Los Angeles, en tijdens een hittegolf viel midden in de nacht in dat hele gebouw de stroom uit. Ik had al een aantal mailtjes van het UPS-systeem ontvangen om me te waarschuwen dat er een probleem was met de stroomvoorziening.

In de loop van de ochtend belde dus ook die vestigingsmanager nog. 'Ik hoor dat je zonder stroom zit,' zei ik tegen hem, en hij vertelde dat hij door de huisbaas was gebeld en dat hij nu mij op de hoogte wilde brengen. Hij zei dat hij zelf al op weg was naar kantoor zodat hij de schade kon opnemen. Dus ik wenste hem een prettige wandeling naar de 36e verdieping. 'Oh f#ck, daar had ik niet aangedacht!' zei hij. Hij had er geen moment bij stilgestaan dat als de stroom uitvalt dat meer gevolgen heeft dan alleen voor de kantoorapparatuur."