Elk jaar zien we hetzelfde document langskomen. Zestig pagina's, netjes opgemaakt, met een functionele beschrijving van alles wat het nieuwe systeem moet kunnen. Er is maandenlang aan gewerkt door mensen die het goed bedoelden. En het klopt niet.

Dat is geen verwijt. Het kán niet kloppen, want het is opgeschreven door mensen die op dat moment nog niet wisten wat ze pas zouden weten zodra er iemand met het systeem werkte.

Waarom een lijst met eisen misleidt

Een eisenlijst voelt als zekerheid. Je hebt het opgeschreven, iedereen heeft het gelezen, er staan handtekeningen onder. Maar wat er staat zijn aannames in de gebiedende wijs. "De planner moet ritten kunnen samenvoegen" klinkt als een feit. Het is een gok over hoe iemand straks werkt.

Wij komen die gok pas tegen op het moment dat het gebouwd is. Dan blijkt de planner ritten inderdaad samen te voegen, maar altijd op basis van iets wat nergens in het systeem staat: dat een van de chauffeurs een sleutel van dat ene distributiecentrum heeft. Dat had niemand opgeschreven, want iedereen wist het al.

Wat we in plaats daarvan doen

We bouwen het kleinste stuk dat op zichzelf al iets oplevert, zetten het in gebruik en kijken wat er gebeurt. Meestal is dat binnen een paar weken. Niet omdat het dan af is, maar omdat je pas dan echte informatie krijgt in plaats van meningen.

Wat dat oplevert:

  • Je ziet na drie weken of het werkt in plaats van na negen maanden.
  • Je betaalt niet voor functionaliteit die achteraf niemand gebruikt. In elk systeem dat we overnemen zit een hoek waar in twee jaar niemand geklikt heeft.
  • Als het misgaat, gaat er een klein stuk mis. Dat is te repareren zonder crisisoverleg.

"Maar dan weet ik niet wat het kost"

Dit is het echte bezwaar, en het is een terecht bezwaar. Een begroting wil een getal, en een reeks kleine bedragen is lastiger te verkopen dan één groot bedrag met een datum eronder.

Alleen: dat ene grote bedrag klopte ook niet. Van alle softwaretrajecten die uitlopen zijn de vooraf helemaal uitgetekende de kampioen. Je hebt geen zekerheid gekocht, je hebt het moment uitgesteld waarop je erachter komt.

Wat wij doen is per stuk een prijs geven en erbij vertellen waar de onzekerheid zit. Een koppeling tussen twee systemen is vrij precies in te schatten. Een planningsmodule waar zeven uitzonderingen in zitten niet, en dan zeggen we dat.

Wanneer een groot plan wél nodig is

Als er externe partijen aan hangen die een datum nodig hebben. Een migratie waarbij een oud contract afloopt, een koppeling met een leverancier die zelf ook moet bouwen, een audit die op een bepaald moment gehaald moet zijn.

Dan plannen we vooruit, maar nog steeds in stukken die los kunnen. Het verschil zit niet in of je nadenkt over de toekomst. Het verschil zit in of je een jaar wacht voordat iemand iets ziet.