Development

Software-ontwikkeling
Checklist

Requirements, nah…

Het nut van low-/no-code.

© CC0 - Flickr.com Animated Heaven
14 september 2020

Ik ging in 2005 aan de slag als Functioneel Ontwerper. Het was mijn taak exact te omschrijven hoe de sales funnels van een website eruit moesten komen te zien. Welke velden zijn er, wat is het input-type en welke foutmelding verschijnt er als er iets mis gaat? Na een aantal reviewrondes van het functioneel ontwerp, ging de developer aan de slag om exact te bouwen wat ik opgeschreven had. 

Vaak - sterker nog: eigenlijk altijd - kwam ik erachter dat wat de developer gemaakt had, helemaal niet zo goed was. Dat lag zeker niet aan hem. Hij had keurig overgenomen wat ik met veel pijn en moeite in Word had geklopt. Maar wat ik op papier had gezet en nu in werkelijkheid zag, was eigenlijk niet wat ik wilde. Dat realiseerde ik vaak pas als ik het uiteindelijke resultaat zag, wat betekende dat er weer een aanpassing nodig was. En zo kon het hele riedeltje weer van voor af aan beginnen.

Ik durf nu toe te geven dat ik misschien wel een hele slechte FO'er was. Ik vond er in ieder geval niet veel aan. Ik ben gewoon niet zo goed in het exact van te voren bedenken wat ik wil. In grote lijnen zie ik het precies voor me, Maar de kleine details, die zijn lastig.

Ik denk dat heel veel mensen dit herkennen. We denken lang na over specificaties en requirements, vullen backlogs, maken prachtige user stories en verfijnen deze in gezamenlijke sessies zodat we het allemaal eens zijn over wat we willen. Pas als het gebouwd is zien we of het ook echt is wat we voor ogen hadden. 

Goede specificaties maken is lastig, feedback geven op iets waar je op kan klikken is veel eenvoudiger. Wij, als gemiddelde mens, zijn gewoon niet goed in het vooraf precies bedenken wat we willen om dat vervolgens door iemand anders te laten bouwen. En toch is dat onze standaard aanpak.

Als we kijken naar innovatie en het ontwikkelen van nieuwe businessmodellen, dan zie je dat de traditionele aanpak nogal eens faalt. In de trajecten waar ik aan gewerkt heb, is eigenlijk nooit helemaal precies bekend wat je wil gaan maken. Vaak moet je eerst maar eens zien dat wat je bedacht hebt ook echt gaat werken. Dat moet in een zo kort mogelijke tijd, tegen lage kosten en met de flexibiliteit om eenvoudig aanpassingen te doen. Dan kun je je helemaal niet de luxe veroorloven om heel lang over allerlei requirements na te denken. Je wil zo snel mogelijk resultaat om je idee te valideren. Fail fast, learn fast.

Bij mijn eerste project met no-code zag ik dat je met deze tooling op een hele andere manier kon werken. In plaats van lang zweten op requirements zaten we met z’n drieën in een hok op het whiteboard te schetsen en te bedenken wat we wilden. Terwijl we aan het praten waren, zat de no-code developer  al onze suggesties uit te werken en konden we direct feedback krijgen op hetgeen we net hadden bedacht. Soms was het goed,  soms niet, Maar dan waren de aanpassingen ook zo gemaakt. 
Op deze manier hadden we in no-time een Minimal Viable Product staan, exact naar onze wensen gemaakt, en konden we dit in de praktijk  gaan testen. 

Mijn oude onderbuurman zei altijd: “Al doende leert men.” Ik denk dat hij daar volkomen gelijk in heeft. Hoe sneller we nieuwe initiatieven kunnen realiseren, hoe beter we kunnen leren of ze dat doen wat we voor ogen hebben. Met no-/low-code-platformen krijg je de tools in handen die het je mogelijk maken om veel sneller resultaten te kunnen boeken. Op deze manier krijg je sneller feedback op hetgeen je bedacht hebt, in de vorm van een echte applicatie, website of app. En dat kunnen we als normale mensen veel beter beoordelen dan een user story op een backlog of een plat Word-document geschreven door een middelmatige Functioneel Ontwerper.  

Low-Code No-Code Day 2020

Bas Wit is tijdens de Low-Code No-Code Day 2020 van AG Connect dagvoorzitter. Tijdens deze dag vertelt hij ook over zijn eerste ervaringen met no-code en welke essentiële rol de techniek kan spelen bij vernieuwing, het betrekken van business bij software ontwikkeling, het snel kunnen schalen en de vervanging van legacy systemen.

De Low-Code No-Code Day 2020 is gratis te bezoeken door de doelgroep. Registreren kan via de website van de Low-Code No-Code Day 2020, waar ook het volledige programma van de dag te vinden is. 

Reactie toevoegen
3
Reacties
pmhunsche 15 september 2020 12:20

Atilla spot-on.
Het aloude adagium geldt ook met low-/no-code: Eerst organiseren, dan administreren en daarna automatiseren. Laten we toepassing van no-/-lowcode dan vooral ook tot het laatste beperken.

Anoniem 14 september 2020 18:03

Een 'funnel' is een soort trechter, zeg maar.
Maar waarschijnlijk bedoelde je met 'zeels vunnels' eigenlijk gewoon verkoopkanalen.

Lastig-lastig, en helemaal niet vet koel, dat Nederlands.

Atilla Vigh 14 september 2020 12:23

Het on the spot bedenken van how code zich zou moeten verhouden tot het functioneel nut is echt niet toe te vertrouwen aan de gebruikers. De meeste gebruikers zijn zich niet bewust van efficientie in hun eigen werkproces. Wat ze vaak doen is hun huidige werkproces automatiseren met IT. Een slag verder is digitaliseren, waarbij het hergebruik van gemeenschappelijke processen en slimmere afslagen in meerdere processen en de abstractie op een hoger plan neerleggen in de code. Dat kan low-code niet. Laat staan innoveren, want dat betekent alles loslaten en een blanco vraag stellen. IT en proces lopen in elkaar over bij automtiseren en digitaliseren. Innoveren is het daadwerkelijke vraagstuk ter discussie stellen: "doen we wel het juiste en welk probleem zijn we nu daadwerkelijk aan het oplossen". Vaak zie je dan dat IT niet de oplossing is, maar de product/diensteigenschappen.

Waar echt spannend wordt is de context waarin een specifieke taak met IT ondersteuning interacteert met de rest van de omgeving. Dan komt er iets als integratie om de hoek kijken. Daar het low-code platform zelf ook een abstractie is, zul je zien dat zaken vastknopen lastig gaat worden. Buiten het feit dat je wellicht op termijn wilt migreren naar iets anders (concurrent low-code platform of uberhaupt iets anders). Wat dan?

Een on-size fits all aanpak is kul. Overigens wil ik functioneel en technisch hoe zaken in elkaar zitten. Al was het alleen maar om uitspraken over het organisatie landschap te kunnen doen.