Engineering

Hoe je een maatwerk webapplicatie afbakent zonder het budget te overschrijden

DigSolutions Engineeringteam··3 min leestijd
Team dat samen een projectplan bespreekt op een whiteboard

Belangrijkste inzichten

  • Budgetoverschrijdingen zijn bijna altijd terug te voeren op een scopinggat, niet op een ontwikkelprobleem dat halverwege de bouw wordt ontdekt.
  • Het in kaart brengen van de daadwerkelijke handmatige workflow, niet alleen het functieverzoek, vangt de vereisten die een functielijst mist.
  • Het datamodel en de integraties vastleggen voordat het interfacewerk begint, voorkomt de duurste categorie herwerk.
  • Gefaseerde mijlpalen vangen scopewijzigingen op bij elk controlepunt in plaats van ze de hele bouw te laten ontsporen.

Bijna elke budgetoverschrijding bij een maatwerk webapplicatie is terug te voeren op een scopinggat, niet op een ontwikkelprobleem dat halverwege de bouw wordt ontdekt. Een vereiste die niemand tijdens de scoping naar boven heeft gehaald, duikt op in week acht, en nu is het herwerk in plaats van een plan. Scoping goed doen is geen leuke extra stap voordat het echte werk begint, het is de stap die bepaalt of de schatting standhoudt.

De eerste fout is scopen op basis van een functielijst in plaats van de daadwerkelijke workflow die de software moet vervangen. "We hebben een dashboard nodig dat X toont" beschrijft een output, niet het proces, de tools en overdrachten die op dit moment betrokken zijn bij het bereiken van X. Het in kaart brengen van de echte workflow, wie doet wat, in welke volgorde, met welke tools vandaag, brengt vereisten naar boven die een functielijst alleen mist, omdat die vereisten in het proces leven, niet in wat iemand zich herinnerde te vragen.

Beslissingen over datamodel en integraties moeten worden genomen voordat het interfacewerk begint, niet erna, omdat dit de duurste categorie is om halverwege een project te veranderen. Een schermherontwerp is een paar dagen herwerk. Een datamodel dat halverwege maand twee blijkt een ontdekte vereiste niet te ondersteunen, kan betekenen dat je het fundament waarop al het andere is gebouwd, moet herbouwen. Vastleggen hoe data stroomt tussen je bestaande tools en het nieuwe systeem voordat een scherm wordt ontworpen, voorkomt precies deze specifieke, dure verrassing.

Vraag vroeg en specifiek naar integraties, niet generiek. "Moet het met Salesforce kunnen praten" krijgt een ja/nee-antwoord; "loop precies met me door welke data tussen dit systeem en Salesforce moet bewegen, in welke richting, en hoe vaak" geeft je de echte scope. Integratiewerk is consequent de meest onderschatte categorie in maatwerk softwareprojecten, omdat het afhangt van API-beperkingen van derden die pas zichtbaar worden als iemand er daadwerkelijk tegen bouwt.

Bouw vanaf week één in een zichtbare stagingomgeving, geen zwarte doos die pas aan het einde verschijnt. Dit is niet alleen een transparantie-nicety, het is een scopingtool: echte functionaliteit vroeg zien brengt "dat is niet helemaal wat ik bedoelde"-gaten naar boven terwijl ze nog goedkoop te herstellen zijn, in plaats van bij een laatste demo wanneer het gat duur is om te dichten.

Structureer de samenwerking in gefaseerde mijlpalen, specifiek zodat scopewijzigingen bij elke fase worden opgevangen in plaats van de hele bouw te laten ontsporen. Vereisten zullen veranderen, dat is geen scopingfout, het is normaal voor elk echt project. Het faalscenario is een project gestructureerd als één lange bouw zonder controlepunten, waarbij een veranderde vereiste in maand twee nergens netjes terecht kan en er ofwel laat wordt ingepropt of genegeerd tot het een groter probleem wordt.

Wees expliciet over wat "af" betekent voor versie één voordat de ontwikkeling begint, schriftelijk, overeengekomen door wie ervoor betaalt. Hoe vager de definitie van af, hoe meer ruimte er is voor de scope om stilletjes uit te breiden tijdens de bouw, elke toevoeging op zichzelf redelijk, de som ervan die de planning laat ontsporen die niemand officieel heeft veranderd.

De budgetbeschermende versie van scoping is geen extra vooraf-documentatie omwille van zichzelf, het is het in kaart brengen van de echte workflow, data en integraties eerst vastleggen, en controlepunten inbouwen die afdrijving vroeg opvangen. Het meeste wat een maatwerk webapplicatieproject over budget laat gaan, is bekend voordat de ontwikkeling begint; de Discover-fase bestaat om dat daadwerkelijk op te sporen in plaats van het in productie te ontdekken.

Klaar om over je project te praten?

Vertel ons wat je aan het bouwen bent. We reageren binnen één werkdag met de volgende stappen, zonder verkooppraatjes.