Een betaalde verkenningsfase hoort te eindigen met beslissingen, niet alleen met documenten: wat je eerst bouwt en wat je weglaat, de grootste risico's en hoe die zijn getest, een schatting als bandbreedte met de aannames erbij, en een eerste mijlpaal die klaar is om te starten. Beoordeel haar met één toets: kun je met de resultaten naar een ander team gaan en beginnen met bouwen zonder opnieuw te beginnen?
Een verkenningsfase is er om grote beslissingen te nemen zolang ze goedkoop zijn
Een verkenningsfase (discovery), ook wel scoping of inception genoemd, is een korte, betaalde fase vóór de bouw van software. Ze moet de onzekerheid wegnemen die schattingen onbetrouwbaar maakt, en de grote beslissingen vastleggen zolang ze nog goedkoop te veranderen zijn. Een beslissing op papier veranderen kost een gesprek; haar veranderen nadat de code is geschreven, kost herstelwerk.
Vroege schattingen voor software hebben een brede marge, en die wordt pas smaller als beslissingen onzekerheid wegnemen, een effect dat vaak de onzekerheidskegel (cone of uncertainty) wordt genoemd. Vergaderingen alleen maken de marge niet smaller. Een verkenningsfase is het geld waard als ze die beslissingen afdwingt: wat het product eerst moet kunnen, welke randvoorwaarden vastliggen en welke technische risico's echt zijn.
Spreek af wat je krijgt voordat de verkenning begint
Koop een verkenningsfase in zoals elk ander resultaat: een vaste duur, een vaste prijs, mensen bij naam en een schriftelijke lijst met wat er wordt opgeleverd. Kan een partner niet zeggen wat je aan het eind in handen hebt, dan kan de fase uitlopen op workshops zonder einde. Een volledige oplevering bevat meestal het volgende.
- Een probleemstelling: wie de gebruikers zijn, wat ze nodig hebben en hoe succes wordt gemeten
- De scope van de eerste release: wat erin zit, wat erbuiten valt en wat wordt uitgesteld
- De belangrijkste gebruikersroutes, geschetst of als prototype uitgewerkt waar ze onzeker zijn
- Een architectuurschets: belangrijkste componenten, integraties, data en hosting, met de overwogen opties
- Een risicoregister dat rangschikt wat het project kan laten mislukken, en hoe elk risico wordt aangepakt
- Een schatting als bandbreedte met de aannames, en een eerste mijlpaal met acceptatiecriteria
- Een beslislog die vastlegt wat er is besloten, door wie en waarom
Zoek naar beslissingen, niet naar een stapel documenten
Een verkenningsrapport kan lang zijn en toch niets beslissen. Lees het op toezeggingen: welke functies in de eerste release zitten en welke niet, welke keuzes voor technologie en hosting zijn gemaakt, welke integraties nodig zijn, en welke vragen nog openstaan, elk met een eigenaar en een datum.
Een nuttig signaal is waarvan de partner je heeft afgeraden. Is de scope aan het eind groter dan aan het begin en is er niets geschrapt, dan heeft de verkenning waarschijnlijk je verlanglijst opgeschreven in plaats van die te toetsen. Soms is de juiste conclusie een bestaand product te kopen, minder te bouwen of helemaal niet te bouwen, en een goede verkenningsfase zegt dat ook.
De riskantste aannames horen getest te worden, niet alleen opgesomd
Elk project rust op een paar aannames die alles zouden veranderen als ze niet klopten: een externe API die de handeling die je nodig hebt niet ondersteunt, data die rommeliger is dan verwacht, een performancedoel dat het gekozen ontwerp niet haalt, of gebruikers die hun manier van werken niet willen veranderen.
Vraag de partner die aannames vroeg te benoemen en de ergste ervan tijdens de verkenning te testen, met een technische spike, een klikbaar prototype of een werksessie met de mensen die het betreffende systeem beheren. Een risico dat is getest, is informatie. Een risico dat alleen is opgeschreven, blijft een gok.
Een eerlijke schatting is een bandbreedte met de aannames erbij
Eén getal aan het eind van de verkenning verbergt de onzekerheid die overblijft. Vraag om een bandbreedte voor de eerste release, uitgesplitst per hoofdcomponent, met de aannames die haar omhoog of omlaag zouden duwen. Bijvoorbeeld: de schatting gaat ervan uit dat de API van de betaalprovider al gedeeltelijke terugbetalingen ondersteunt; is dat niet zo, tel dan het integratiewerk op dat apart staat vermeld.
Vraag welke delen van de schatting vastliggen en welke nog onzeker zijn, en hoe het commerciële model met elk ervan omgaat. Vaste delen kunnen tegen een vaste prijs; onzekere delen hebben een budget nodig en een moment waarop je opnieuw beslist. De eerste mijlpaal moet zo goed zijn omschreven dat hij tegen een vaste prijs kan worden opgeleverd.
Houd bij elke stap een uitweg open
De verkenning is ook het goedkoopste moment om te vertrekken. Zorg dat je eigenaar bent van alles wat ze oplevert, van documenten en diagrammen tot prototypes en code, en dat de resultaten zijn geschreven voor elk competent team, niet alleen voor de partner die ze opstelde. Je moet vrij zijn om met die partner te bouwen, de resultaten aan een ander team over te dragen, zelf te bouwen of te stoppen.
Neem hetzelfde idee mee in het plan dat volgt: een eerste mijlpaal met acceptatiecriteria, daarna een beslismoment waarop je kunt doorgaan, bijsturen of de samenwerking beëindigen. Zo starten we projecten bij SDK Enterprises: een schriftelijke scope, een vaste eerste mijlpaal en de engineers bij naam, zodat je het plan ziet voordat je je aan een groter budget verbindt. Heb je alleen advies nodig, dan krijg je een schriftelijk antwoord waarmee je eigen team aan de slag kan, of je nu met ons bouwt of niet.
Zes vragen die laten zien of de verkenning het geld waard was
Toets de resultaten aan het eind van de fase aan deze vragen. Is het antwoord meestal ja, dan heeft het geld duidelijkheid opgeleverd. Is het meestal nee, dan heb je voor workshops betaald.
- Kan een ander team met deze resultaten beginnen met bouwen zonder de verkenning over te doen?
- Heeft de partner met gebruikers gesproken en met de mensen die de betrokken systemen beheren, niet alleen met de opdrachtgever?
- Zijn de riskantste aannames getest, met de resultaten op papier?
- Is de schatting een bandbreedte met duidelijke aannames in plaats van één getal?
- Is er iets geschrapt, uitgesteld of ter discussie gesteld?
- Is de eerste mijlpaal goed genoeg omschreven om te kunnen worden geaccepteerd of afgewezen?
De kern
- Koop een verkenningsfase in met een vaste duur, een vaste prijs, mensen bij naam en een schriftelijke lijst van wat wordt opgeleverd.
- Beoordeel de resultaten op de beslissingen die erin staan, inclusief wat is geschrapt of werd afgeraden.
- De riskantste aannames horen tijdens de verkenning te worden getest, niet alleen in een risicoregister te staan.
- Verwacht de schatting als bandbreedte met aannames, en een eerste mijlpaal die goed genoeg is omschreven om te prijzen.
- Word eigenaar van alles wat wordt opgeleverd, zodat je met die partner kunt bouwen, met een ander team, of helemaal niet.
Veelgestelde vragen
Moet een verkenningsfase betaald zijn, of kan een partner die gratis doen?
Gratis scoping hoort bij de verkoop, dus die stopt bij wat in een voorstel past. Met een betaalde verkenning koop je tijd om je code te lezen, met je gebruikers te praten en risico's te testen, en resultaten die van jou zijn. Houd de fase kort en tegen een vaste prijs, zodat de verplichting klein blijft.
Hoe lang duurt een verkenningsfase?
Lang genoeg om de vragen te beantwoorden die een betrouwbare schatting in de weg staan, en niet langer. Spreek de duur vooraf af op basis van de omvang van het product en het aantal betrokken systemen, en sluit af met een beslissing over de eerste mijlpaal in plaats van een verlenging van de verkenning.
Wat als uit de verkenning blijkt dat het project niet de moeite waard is?
Dan heeft ze haar werk gedaan tegen de laagst mogelijke kosten. Een goede verkenningsfase kan concluderen dat je beter een bestaand product koopt, een kleinere eerste versie bouwt of stopt, en de bevindingen houd je hoe dan ook.