Een proces dat over vijf afdelingen loopt, drie systemen die elkaar tegenspreken en een wensenlijst die elk overleg langer wordt. Zo ziet een complex vraagstuk er in de praktijk uit. De verleiding is groot om er dan een minstens zo complexe oplossing tegenover te zetten: een systeem dat alles kan. Onze ervaring sinds 2001 wijst de andere kant op. De beste oplossing is bijna altijd eenvoudiger dan het vraagstuk deed vermoeden.
Die eenvoud ontstaat niet met een slim idee op het juiste moment, maar met een werkwijze: ordenen, wegen en durven weglaten.
Eerst ontrafelen, dan pas ontwikkelen
Wie met een softwarevraag bij ons aanklopt, heeft intern meestal al veel overlegd. Er ligt een lijst met wensen, gegroeid uit eigen ervaringen en uit wat elders is gezien. Die lijst is waardevol, maar het is nog geen ontwerp. Wensen die eenvoudig klinken, blijken soms lastig te realiseren; wensen die ingewikkeld ogen, zijn soms verrassend snel gemaakt. Daarom beginnen we niet met bouwen maar met ordenen: welk doel dient elke wens, wie werkt er straks dagelijks mee, en wat gebeurt er als die vervalt? Zodra de vraag achter de vraag op tafel ligt, verdampt vaak een flink deel van de complexiteit.
Complexiteit zit vaak tussen systemen, niet erin
Opvallend vaak vinden we de kern van een complex vraagstuk niet in een systeem, maar in de ruimte ertussen. Gegevens worden overgetikt van pakket naar pakket, rapportages spreken elkaar tegen en medewerkers vullen met de hand aan wat de systemen laten liggen. Het vraagstuk voelt dan als ‘we hebben nieuwe software nodig’, terwijl de eenvoudige oplossing een koppeling is die de bestaande systemen laat samenwerken. Wat er misgaat als systemen niet met elkaar communiceren beschreven we eerder; hier geldt de omgekeerde beweging: een goede koppeling kan een heel web aan handwerk vervangen.
Haalbaar maken is keuzes maken
Alles realiseren binnen een vast budget lukt zelden, en dat hoeft ook niet. Wel moet helder zijn wat elke keuze kost en oplevert. Die afweging kun je als opdrachtgever niet alleen maken, want daarvoor moet je kunnen inschatten wat iets kost om te maken, en dat is nu net ons vak. In het voortraject leggen we daarom per onderdeel voor wat het vraagt, wat het oplevert en of het eenvoudiger kan zonder het doel los te laten. Vragen die daarbij op tafel komen:
- Welk deel van het vraagstuk kost je organisatie nu aantoonbaar tijd of geld?
- Wat moet er vanaf dag één werken, en wat kan in een volgende fase?
- Welke bestaande systemen blijven staan, en waar moet de oplossing op aansluiten?
- Waar volstaat een eenvoudiger variant die dicht bij de gewenste functionaliteit blijft?
Het resultaat is een functioneel ontwerp met een planning en een budget: een blauwdruk waar opdrachtgever en ontwikkelteam hetzelfde onder verstaan. Pas dan beginnen we met ontwikkelen.
Voortschrijdend inzicht hoort erbij
Zodra de eerste schermen werken, komen de ideeën los. Dat is geen gebrek aan voorbereiding, het is een teken dat het goed gaat: pas als een applicatie vorm krijgt, kan een opdrachtgever het geheel overzien. Wij bewaken ondertussen de scope en wegen elk nieuw inzicht tegen het geheel. Soms is een aanpassing het extra budget waard, soms past die beter in een volgende fase. Zolang dat gesprek open blijft, zijn er geen verrassingen, en zonder verrassingen blijft ook een groot traject overzichtelijk.
Twijfel je of je vraagstuk om nieuwe software vraagt of om betere samenwerking tussen de systemen die je al hebt? Leg het ons voor. Hoe we koppelingen en data-integraties aanpakken lees je op de dienstpagina; in een eerste gesprek ontrafelen we waar de complexiteit bij jou vandaan komt.
