Spec-driven development
Specificaties (of specs) beschrijven wat software moet doen. In de traditionele scrum-aanpak worden die specs, als ze al worden geschreven, opgesteld door developers op basis van requirements van de Product Owner. Binnen scrum hebben specs vaak geen topprioriteit. Zolang er een gedeeld begrip bestaat tussen Product Owner en developer over wat er gebouwd moet worden, zijn uitgebreide specificaties meestal niet noodzakelijk.
Maar AI is inmiddels een extra teamlid geworden binnen softwareontwikkeling. Alleen werkt AI anders dan mensen. Een AI-model begrijpt geen impliciete kennis of context zoals collega’s dat doen. Veel misverstanden over requirements worden normaal gesproken opgelost doordat iemand een vraag stelt, iets opmerkt tijdens een refinement of een edge case benoemt tijdens het bouwen. AI doet dat niet vanzelf.
Als AI code schrijft, moet de beschrijving van het gewenste resultaat volledig en ondubbelzinnig zijn. Anders ontstaan er snel fouten, aannames en tijdrovende correctierondes.
Omdat wij AI actief willen inzetten bij het schrijven van code, moeten zowel Product Owners als developers hun manier van werken aanpassen. AI schrijft sneller dan welke developer dan ook, maar heeft ook de neiging om ontbrekende informatie zelf in te vullen. Daarom zijn we voor nieuwe projecten overgestapt op spec-driven development.
Oud versus nieuw
Traditioneel begonnen we een sprint met een feature waarvan ongeveer 90% van de requirements duidelijk was. Het team had de feature vooraf verfijnd en openstaande vragen werden tijdens de sprint opgelost zodra edge cases opdoken. Testers schreven testcases terwijl developers parallel begonnen met bouwen. Vaak startte het programmeerwerk al op de eerste of tweede dag van de sprint.
Met AI als junior developer werkt die aanpak niet meer optimaal.
Binnen spec-driven development begint een sprint niet met coderen, maar met het uitwerken van de specificaties. De eerste dagen van een iteratie staan volledig in het teken van het beschrijven van de wat, waarom en hoe. Pas wanneer alle requirements volledig helder zijn en de specificatie is gevalideerd, start het ontwikkelwerk.
Daardoor verschuift coding naar een later moment binnen de iteratie en neemt het uiteindelijk een kleiner deel van de totale doorlooptijd in beslag.
We zijn voorbij Scrum gegroeid
Bij Infodation hebben we jarenlang volgens het scrum-framework gewerkt. Dat betekende vaste sprintcycli, regelmatige releases en terugkerende meetings zoals sprint reviews, refinements en retrospectives.
Maar door de impact van AI werkt scrum voor ons niet meer zoals vroeger.Metrics zoals velocity zeggen weinig meer. Story points verliezen hun waarde. En dankzij uitgebreide geautomatiseerde tests kunnen we veel vaker releasen dan de traditionele tweewekelijkse sprintstructuur toestaat.
The New Way of Working (NWOW)
Daarom hebben we onze eigen aanpak ontwikkeld: de New Way of Working, intern afgekort tot NWOW. NWOW draait volledig om softwareontwikkeling met ondersteuning van AI. AI wordt ingezet tijdens vrijwel iedere stap van het proces: van prototyping tot ticketing, van documentatie tot testing. Spec-driven development en een sterke teststrategie vormen de ruggengraat van deze aanpak. We zitten momenteel midden in de transitie en verwachten dat tegen Q4 ongeveer 80% van alle Infodation-projecten volgens NWOW zal werken.
Een methode, geen monument
Als softwaremakers zijn we gewend aan een landschap dat continu verandert. AI is de grootste verschuiving die ik sinds het begin van mijn carrière in tech heb meegemaakt. Omdat AI-modellen zich razendsnel ontwikkelen, is het uitdagend om een balans te vinden tussen softwarekwaliteit, economische haalbaarheid en prettig werken voor mensen. NWOW is onze poging om die balans te vinden in een nieuwe werkelijkheid.
Maar NWOW is niet ons definitieve antwoord. Het is ons beste antwoord van dit moment.
AI ontwikkelt zich snel. Modellen die vandaag nog uitgebreide specificaties nodig hebben om betrouwbare output te leveren, zullen binnen enkele jaren (misschien zelfs maanden) beter omgaan met meerduidigheid, slimmere verduidelijkende vragen stellen en requirement-gaten herkennen zoals een ervaren collega dat nu doet.
Wanneer dat gebeurt, zal de noodzaak om dagenlang vooraf specificaties uit te werken kleiner worden. Een deel van wat we vandaag in NWOW hebben ingebouwd, zal morgen mogelijk overbodige overhead zijn.
Daar zijn we ons volledig van bewust. NWOW is ontworpen om aangepast te worden. Dezelfde kritische blik waarmee we Scrum ter discussie stelden toen het niet meer werkte voor onze situatie, zullen we ook op NWOW toepassen zodra de tooling verder evolueert.
We verwachten dat de spec-fase korter wordt naarmate AI volwassener wordt. We verwachten ook dat er nieuwe bottlenecks ontstaan die we vandaag nog niet kunnen voorspellen. Wat wél constant blijft, is het onderliggende principe: eerst begrijpen wat software moet doen voordat je een mens of machine vraagt om het te bouwen.
Voor nu weerspiegelt NWOW de AI van vandaag, niet de AI die eraan komt. Dat onderscheid is belangrijk. Een methodologie die is ontworpen voor de tooling die nú beschikbaar is. In plaats van voor de tooling waarvan we hopen dat die ooit bestaat, is een methodologie die daadwerkelijk bruikbaar is.
Is jouw team ook bezig met de vraag hoe je effectief samenwerkt met AI? We delen graag wat wij onderweg hebben geleerd.