Agile Prototyping

De techniek van Agile Prototyping is voor Involved gegroeid uit ervaringen binnen onze core business die we aangevuld hebben met kennis van de wereld van User-Centered Design.

  • Effectieve inzet van middelen
  • Drastisch versnellen van voortschrijdend inzicht
  • Betere controle over budget
  • Hogere User Adoption rate

Hieronder trachten we een beeld van Agile Prototyping te schetsen door enkele fundamenten toe te lichten.

Prototype vs Tekstuele specificaties

Tekstuele documentatie is geen goede basis gebleken om met business users specificaties te bepalen. In workshops en bij kleinschalige experimenten zagen we dat eenzelfde tekstuele specificatie op ontzettend uiteenlopende manieren geïnterpreteerd wordt. Daarnaast zien we dat mensen het makkelijker hebben om duidelijk te maken wat ze wel of niet nodig hebben op basis van visuele in plaats van tekstuele specificaties.

example prototype

De visual hierboven is een voorbeeld van een volledig functioneel prototype. De prototypes die we uitwerken zijn volledig dynamisch en kunnen door de business user gebruikt worden in gangbare browsers. Zo krijgen ze een goed beeld en gevoel van de beoogde werking van de applicatie. Om effectief van de voordelen van prototyping te genieten passen we volgende practices stipt toe.

  • Prototype = specificatie. Prototyping is geen teken-oefening. Het prototype is een onderdeel van de functionele specificatie. Wat op het prototype staat, wordt gebouwd.
  • Het development team geeft input. We beloven geen fancy zaken aan de business users welke later niet uitwerkbaar of ontzettend duur blijken.
  • Business Users valideren. Het prototype wordt gevalideerd door echte business users. Enkel zo ben je zeker dat je alle requirements op de juiste wijze capteert.

De kracht van het werken met concrete prototypes is voor ons enorm groot gebleken. Zaken die eerst op basis van tekstuele documentatie evident bleken, vragen plots toch een andere uitwerking. We zetten prototyping in eerste instantie dus niet in voor het neerzetten van User-Experience, maar als analyse- en specificatie-techniek.

Agile Prototyping vs UX-Spike

In de definitie van onze aanpak komt het woord Agile voor. Dit is een zeer bewuste keuze. De kracht van deze aanpak schuilt namelijk in het feit dat we prototyping inzetten als een continu proces binnen een grotere Agile (bijvoorbeeld SCRUM) projectaanpak.

We zien veel organisaties User-Experience Design toepassen volgens wat wij een "UX-Spike" noemen. Binnen de context van een Agile projectframework wordt er aan het begin van het traject een UX-Expert ingehuurd. Hij organiseert enkele workshops met business users en werkt wireframes of een prototype uit. Al dit werk levert hij in één klap aan het begin van het project.

UX-Spike

Deze zogenaamde UX-Spike zorgt voor enkele pijnlijke problemen die we in verschillende omgevingen hebben geconstateerd.

  • Waterval all over again. Door deze UX-Spike leveren we (te) veel analyse werk up-front. Business Users pinnen zich vast op wat beloofd is, zaken worden gebouwd die er niet toe doen, verrassingen en pijnlijke ontdekkingen komen op het einde van het project.
  • Disconnect met development team. De uitwerking van features wordt door de UX-Expert op een eiland bepaald. Door een disconnect met het development team blijken veel zaken zeer duur of niet mogelijk bij ontwikkeling.
  • Disconnect met product backlog. Het uitgewerkte prototype is onvolledig en bevat zaken die, achteraf gezien, niet uitgewerkt moeten worden en andere zaken ontbreken dan weer die blijkbaar wel belangrijk zijn voor de business.

Agile Prototyping put to practice

De essentie van onze aanpak is het toepassen van Prototyping als een continu, iteratief proces binnen de context van het SCRUM framework.

We introduceren prototyping naast het traditionele agile development proces als een tweede iteratief proces. Een team bestaande uit de UX-Expert (ontwikkelt het prototype) en een Proxy Product Owner (voert de analyse uit) lopen telkens enkele weken voor op het software development team. Zij zorgen ervoor dat bij elke sprint (iteratie software development team) er een proper uitgewerkt en gevalideerd prototype klaar ligt.

Involved Agile Prototyping methodology

Door Prototyping als een continu en iteratief proces in te zetten binnen onze projecten merken we de volgende voordelen.

  1. Feedback komt voordat er geld is besteed aan development. Het prototype loopt telkens twee iteraties voor op het development proces. Een prototype wijzigen gebeurt op enkele uren, terwijl software wijzigen enkele dagen in beslag neemt. Feedback krijgen op basis van een prototype is dus goedkoper.
  2. We versnellen het voortschrijdend inzicht. Gezien het prototype steeds enkele weken voorloopt op het development proces is dit evident. Keuzes kunnen in een vroeger stadium gemaakt worden. We laten dus meer keuze-opties aan de business.
  3. Het development team maakt betere inschattingen. Doordat het development team met concrete uitgewerkte schermen kan werken maken ze betere inschattingen.
  4. Business Users zijn betrokken. De juiste personen betrekken in plaats van een vertegenwoordiger van deze groep is ontzettend krachtig. We ontwikkelen meteen wat effectief gewenst is, worden met minder rework geconfronteerd en kennen een hogere user adoption rate bij oplevering.
  5. Usability by default. Prototyping is een techniek uit de wereld van User-Centered Design. We passen Prototyping voornamelijk toe voor het beperken van project risico's. Het feit dat we hierdoor een gebruiksvriendelijke oplossing neerzetten nemen we er als neveneffect graag bij.

Conclusie

Een Agile projectaanpak vindt meer en meer draagvlak bij organisaties als een efficiënte en effectieve methode voor het ontwikkelen van software. Bij Involved geloven we dat Prototyping op een Agile manier toegepast kan worden binnen een Agile projectaanpak zoals bijvoorbeeld SCRUM. In plaats van opgeleverde software gebruiken we prototypes als basis voor communicatie en het verkrijgen van feedback. Terwijl Agile Prototyping zorgt voor het ontdekken van requirements, het verzamelen van input en verzorgen van het voortschrijdend inzicht kan het development team de focus leggen op het snel en kwalitatief ontwikkelen van software.

Deze aanpak helpt ons bij het snel ontdekken van wat echt gebouwd moet worden, het efficiënt bouwen van een kwalitatieve oplossing en het mitigeren van project risico's.

Wil je meer weten? Advies nodig?