Prototype ontwikkelen in software development.

Wat is prototyping?

Prototyping in software ontwikkeling omvat het creëren van een prototype (een voorlopig model van de applicatie), het testen en het aanpassen van dit prototype op basis van feedback. Het doel van een prototype is om te ontdekken, door middel van feedback, wat we (betrokkenen en toekomstige gebruikers) echt willen ontwikkelen. Een gevalideerd prototype zorgt voor een vliegende start in het software ontwikkelingstraject. Tevens is het maken van een prototype gewoon erg leuk. Je kan vanaf een hele vroege fase al tastbaar maken wat er in jouw hoofd zit, waarin je tegelijk veel vrijheid hebt en je niet druk hoeft te maken om hoge kosten.

Software prototyping is het meest geschikt in projecten waar de requirements (vereisten) van de applicatie nog niet exact bekend zijn. Het is een iteratieve aanpak waarin de klant en de ontwikkelaar nauw met elkaar samenwerken.

 

Prototyping fases

Prototyping verloopt meestal in vijf eenvoudige stappen, aanschouw:

1. Wensen verzamelen en analyseren

Prototyping begint met het verzamelen van de wensen waar de maatwerk software aan moet voldoen. Er worden intensieve gesprekken gevoerd met de gebruikers van de te ontwikkelen software. In deze gesprekken uiten zij al hun verwachtingen aan de ontwikkelaar.

2. Prototype schetsen

In de tweede fase wordt een schets van de applicatie gemaakt. Dit omvat echter nog niet het volledige ontwerp, het geeft een summier overzicht van het ontwerp en de functionaliteiten van de software. Een schets wordt vaak gedaan op papier (de zogenoemde 'paper prototype').

3. Prototype ontwikkelen

Nu wordt het daadwerkelijke prototype van de software gebouwd, gebaseerd op de informatie die in de vorige fases is verkregen. Het prototype zal een eenvoudig, maar goed functionerend, model zijn van het gewenste software systeem. Deze wordt vaak ontwikkeld met behulp van speciale prototyping tools zoals Adobe XD.

4. Evaluatie door gebruikers

In dit stadium wordt het gebouwde prototype gepresenteerd aan de gebruikers voor een volgende evaluatie. Opmerkingen en suggesties van de gebruikers worden verzameld en tevens wordt er gekeken of het prototype ergens nog niet helemaal naar verwachting functioneert.

5. Prototype verbeteren

Als de gebruikers het prototype nog niet naar volledige tevredenheid hebben ervaren, dient het prototype aangepast te worden op basis van de terugkoppeling van de klant. In het geval dat prototyping tot het uiterste wordt benut, worden fase 4 en 5 net zo lang herhaald totdat aan alle verwachtingen van de gebruikers voldaan is. In deze fases worden tevens de de requirements tot in detail gedefinieerd. Zodra de gebruikers tevreden zijn met het ontwikkelde prototype, zal de uiteindelijke applicatie ontwikkeld kunnen worden op basis van het goedgekeurde prototype en de gevalideerde requirements.

Diverse soorten prototypes

Als je wat meer de diepte in gaat kom je er achter dat er zelfs verschillende soorten prototypes bestaan.
Hieronder maken we daar een mooi lijstje van.

‘Throw away’ prototypes

‘Throw away’ prototyping neemt de voorlopige ideeën als basis. Het wordt snel ontwikkeld om de requirements te kunnen visualiseren en te kunnen presenteren aan de klant. Samen met de klant worden de requirements aangevuld of gewijzigd en wordt er een nieuw prototype gemaakt.

Bij ‘throw away’ prototyping vormt een prototype niet per sé de basis van de uiteindelijke applicatie. Het wordt slechts gebruikt om vluchtige ideeën aan de klant te presenteren en om hier terugkoppeling op te kunnen ontvangen. Het is een methode die vaak wordt gebruikt wanneer er veel ideeën in overweging worden genomen. Snelheid is key. 

Evolutionaire prototypes

Evolutionaire prototyping wordt veelal gebruikt in projecten waar vrij nieuwe technologieën gebruikt worden, waar de ontwikkelaar nog kennis van en ervaring mee dient op te doen. Ook kan deze methode gebruikt worden in complexe projecten waar elk stukje functionaliteit afzonderlijk goed getest moet worden.

In evolutionaire prototyping wordt er telkens een gedeelte van het prototype bij gebouwd en wordt er veelvuldig om terugkoppeling van de gebruiker gevraagd. Deze iteraties zullen uiteindelijk voor een gereduceerde doorlooptijd van het project zorgen. Ook wordt de kans verkleind dat het product niet aan de klantverwachting voldoet, omdat zij bij elke stap in het proces betrokken zijn.

Incrementele prototypes

Bij incrementele prototyping wordt het te ontwikkelen systeem in kleinere prototypes opgedeeld en worden deze afzonderlijk ontwikkeld. Uiteindelijk worden de afzonderlijke componenten weer samengevoegd tot één werkend systeem. Deze methode is nuttig bij het verkorten van de ontwikkeltijd en om snelle terugkoppeling op losse componenten te kunnen krijgen. Ook indien er meerdere gebruikersgroepen zijn (commercieel, logistiek, financieel) kan dit parallelle uitvoering mogelijk maken.

Extreme prototypes

Bij webontwikkeling wordt vaak extreme prototyping toegepast. Deze methode bestaat uit drie opeenvolgende fases, die te vergelijken zijn met low, mid en high fidelity prototypes. Fidelity betekent het level van detail in een prototype. De fases zijn als volgt:

  1. Het ontwikkelen van een basisontwerp in een statisch HTML formaat.
  2. Het simuleren van dataverwerking middels een ‘prototype services layer’.
  3. De dataverwerking wordt gecreëerd en verwerkt in het eindproduct.
 

Voor- en nadelen van software prototyping

Prototyping in software ontwikkeling kan toegepast worden in specifieke situaties en de beslissing moet weloverwogen genomen worden. De extra inspanning die het bouwen van een prototype met zich meebrengt zal uiteindelijk moeten leiden tot een grotere toegevoegde waarde in de realisatie van het eindproduct, anders heeft het geen zin. 

Voordelen software prototyping

  • Doordat gebruikers het product reeds in een vroeg stadium kunnen zien wordt de gebruikersbetrokkenheid en -tevredenheid verhoogd.
  • Door prototyping kunnen requirements van de klant beter begrepen en geïnterpreteerd worden.
  • Doordat er een werkend model getoond kan worden, hebben gebruikers een beter begrip van de software die ontwikkeld wordt.
  • Er wordt een kortere doorlooptijd en lagere kosten gerealiseerd aangezien gebreken in de software eerder gevonden worden.
  • Ontbrekende functionaliteiten worden snel geïdentificeerd en kunnen direct toegevoegd worden aan het prototype.
  • Kans op afwijzing door de stakeholders wordt verkleind omdat ze bij elke stap in het proces betrokken zijn.
  • Prototypes kunnen gebruikt worden als vroege “training-on-the-job” voor toekomstige gebruikers.

Nadelen software prototyping

  • Risico op het onvoldoende uitwerken van requirements omdat men te veel leunt op het prototype.
  • Er kan ‘scope creep’ ontstaan wat het project onnodig complex kan maken. Functionaliteiten worden dan steeds omvangrijker en complexer gedurende het project, wat ervoor kan zorgen dat de deadline verschuift en het project niet binnen het beoogde budget blijft.
  • Er kan te veel inzet verloren gaan in het ontwikkelen van een prototype, indien dit niet goed bewaakt wordt.
  • Ontwikkelaars kunnen het prototype proberen te hergebruiken voor het daadwerkelijk systeem, al is dit niet altijd technisch haalbaar.
  • Na een snelle oplevering van het prototype kan de klant verwachten dat het daadwerkelijke systeem ook in korte tijd gebouwd kan worden, terwijl dit niet zo is.

 

Is software prototyping geschikt voor jouw project?

Prototyping in software ontwikkeling is goed toepasbaar als de requirements nog onduidelijk zijn of als de requirements aan verandering onderhevig zijn. Het is echter wel van belang om het project goed te monitoren. Door de vele iteraties en terugkoppelingen van de klant moet ervoor gewaakt worden dat er geen “scope creep” ontstaat, dit kan namelijk resulteren in een langere doorlooptijd en hogere projectkosten. Prototyping is uitstekend geschikt als een stakeholder nog overtuigd dient te worden van de technische mogelijkheden en de ‘look and feel’ van de applicatie. Het is een methode die, tegen lage kosten, vertrouwen bouwt en software ontwikkeling snel tastbaar maakt.

foto van bovenaf waarbij je handen ziet die een app aan het schetsen zijn

Benieuwd naar ons portfolio?

Je wilt natuurlijk graag weten of wij de juiste partij zijn voor de ontwikkeling van jouw applicatie. Bekijk hier een greep uit ons portfolio.

Mocht je nog op zoek zijn naar meer informatie dan kun je altijd contact opnemen. We helpen je graag met antwoorden op jouw vragen.

Persoonlijk, professioneel en met passie.

Scrumble is ontstaan uit vriendschap. Drie vrienden met een passie voor alles wat met computers te maken heeft, maar met software in het bijzonder. Al op vroege leeftijd ontstond de lust om te ondernemen. Hierbij kwam de liefde en het talent voor webdevelopment, waardoor we allen met groot enthousiasme een uitdaging zien in het ontwikkelen van complexe maatwerk software. Het resultaat? Gebruikersvriendelijke en doeltreffende web- en mobile based applicaties.

foto van twee ontwikkelaars van scrumble die geconcentreerd aan het werk zijn
foto van het team van scrumble tijdens een potje tafelvoetbal
foto van een medewerker van Scrumble die geconcentreerd kijkt
foto van twee ontwikkelaars van scrumble die geconcentreerd aan het werk zijn
foto van het team van scrumble tijdens een potje tafelvoetbal
foto van een medewerker van Scrumble die geconcentreerd kijkt
Dit is onze contactpersoon Vincent van Laarhoven, met hem kan je contact opnemen
Dit is onze contactpersoon Vincent van Laarhoven, met hem kan je contact opnemen

Meer weten over maatwerk software? Vincent legt het je graag haarfijn uit.