zondag 23 mei 2010

Prototypes: zin of onzin?

Home > Methodologie > Prototypes: zin of onzin?

Prototypes hebben zeker zin. Ze zijn een krachtig werkinstrument in elke usability engineering cyclus en dus ook onmisbaar in het Fusion Usability Recept.

Wat is een Software Prototype?

Software prototypes zijn modellen van applicaties of websites met weinig of geen werkende functionaliteit. Ze zorgen ervoor dat je ideeën en concepten kunt onderzoeken, nog voor je tijd en geld investeert in de feitelijke ontwikkeling. Een prototype kan je maken van papier (low fidelity) of meer gedetailleerd met een prototype tool (high fidelity).

Doel

Prototypes hebben als kenmerk dat ze snel en goedkoop kunnen gebouwd worden, waardoor ze in een vroeg stadium kunnen getest worden door effectieve gebruikers op o.a. hun bruikbaarheid en doeltreffendheid. Ook kan men nagaan, in een vroeg stadium, of het concept werkbaar is of niet.

High of Low Fidelity

Dit zijn Engelse temen om aan te geven of de prototypes een hoge of lage werkelijkheidsweergave moeten hebben. High fidelity prototypes worden doorgaans met gespecialiseerde prototype tools ontwikkeld, maar het kan ook met Visual Basic bijvoorbeeld.

Voor low fidelity prototypes heb je niet meer nodig dan papier, potlood, een gom, een schaar, lijm en eventueel wat Post-its.
Je hebt niet veel nodig voor low fidelity prototypes
Je hebt niet veel nodig voor low fidelity prototypes

Beide hebben hun voor- en nadelen:



Low-Fidelity

High-Fidelity
Voordelen

  • Sneller en goedkoper
  • Designers hebben de neiging meer objectief te zijn
  • Teamleden aanvaarden gemakkelijker de eventuele liquidatie van een papieren versie
  • Kan overal aangemaakt worden

  • Kan eenvoudig digitaal bewaard worden
  • Bepaalde zaken kunnen geprogrammeerd worden (wel beperken tot een minimum)
  • Eenvoudiger te evalueren, daar er minder interventie nodig is van de tester
  • Komt professioneler over
  • Versie controle en traceerbaarheid is gemakkelijker
Nadelen

  • Vereist meer voorstellingskracht, welke in competitie kan treden met de feitelijke evaluatie
  • Is lastiger te bewaren
  • Je hebt doorgaans 2 test engineers nodig om de gebruikers hun gedrag te evalueren


  • De gebruikersinterface designer moet met een prototype tool (of .NET editor, Visual Basic, etc.) kunnen werken

Er is wel wat empirisch onderzoek geleverd over de verschillen qua impact tussen high- en low fidelity prototypes en de discussie is nog altijd levendig:

Virzi (1996) heeft doortastend bewijs geleverd dat papieren prototypes doorgaans niet moeten onderdoen voor hun meer geavanceerde high fidelity broertjes.
Ook anderen, zoals Cantani en Biers (1998), Uceta (1998), Walker (2002), Johanson en Arvola (2007) ondersteunen deze vaststelling.

Doch kan je stakeholders van een project doorgaans gemakkelijker overtuigen met high fidelity prototypes. Ze investeren veel geld en tijd in usability engineering en aanvaarden slordige potloodtekeningen niet altijd zo eenvoudig.

Low fidelity prototypes vereisen dikwijls 2 test engineers tijdens het evalueren: één om de computer interactie te emuleren, een andere om de gedragingen van de gebruikers te noteren.

Prototype Dimensies
  • Horizontale Prototypes
Deze voorzien in een brede kijk op het systeem en leggen de nadruk op de algemene navigatie en interactie en minder op de onderliggende details. Ze kunnen gebruikt worden om de visie en het algemeen concept te evalueren, maar zijn minder geschikt om het gebruik te testen.

Ze worden dan ook meestal toegepast bij het ontwerpen van het Conceptueel Model.
  • Verticale Prototypes
Deze leggen meer de nadruk op één of enkele schermen of zelfs één aspect van een scherm. Ze bevatten veel meer details en worden dan ook toegepast bij het ontwerpen van het Basis en Gedetailleerd Prototype.

Prototype Methodes
  • Snelle of Wegwerp Prototypes
Met deze methode tracht men snel nieuwe ontwerpen te ontwikkelen. Daarna test men deze uit en wordt het doorgaans vernietigd in plaats van een onderdeel te worden van het finale product.
Het is belangrijk dat deze snel en dus goedkoop kunnen gebouwd worden en hebben hierdoor een gunstige kosten/baten factor. Bij het begin van een project is er nog niet veel source code geschreven. Door de gebruikersinterface in een vroeg stadium te laten testen, voorkomt men het maken van (dure) onnodige source code.

Doorgaans zal men hiervoor low-fidelity prototypes (papier en potlood) gebruiken en zijn ze dus zeer geschikt voor het ontwerpen van Conceptuele Modellen.
  • Evolutionaire of Herbruikbare Prototypes
Deze zijn een beetje het tegenovergestelde van eerdergenoemde wegwerp prototypes. Hier bouw je een robuust prototype op een gestructureerde manier dat je voortdurend verfijnd. Deze modellen worden niet vernietigd en groeien evolutionair naar het feitelijke product.
Ze zijn eerder geschikt voor high-fidelity prototypes (ontworpen met een prototype tool, Visual Basic of anderen) en hebben vooral nut bij het ontwerpen van Basis- en Gedetailleerde Prototypes.
  • Modulaire of Incrementele Prototypes
Bij deze prototypes worden afzonderlijke prototypes gebouwd en getest die op het einde worden samengevoegd om een geheel te vormen.
Deze werkwijze is geschikt bij grotere projecten die bijvoorbeeld verschillende gebruikersprofielen moeten ondersteunen en dikwijls worden gebouwd door verschillende ontwerp teams die geografisch ver uit elkaar liggen.

Ook kan het zijn nut hebben wanneer veel nieuwe functionaliteit moet onderzocht worden. Door het beetje bij beetje aan te bieden aan de gebruikers is het eenvoudiger en efficiënter om het gebruik te evalueren.

Voor- en Nadelen van Prototypes

Prototypes hebben onmiskenbare waardevolle voordelen maar herbergen ook een aantal valkuilen:

Voordelen
  • Verlaging van de kosten en de benodigde tijd
Prototypes kunnen de kwaliteit van de requirements en specificaties verhogen voor de programmeurs. De kosten om iets te wijzigen laat in het proces is exponentieel veel duurder dan wanneer dit plaats heeft vroeg in het ontwikkel proces. Vroeg ontdekken wat de gebruiker écht nodig heeft, resulteert in een snellere oplevering en dus een goedkopere applicatie of website.
  • Verbetering en verhoging van de betrokkenheid van de gebruikers
Bij het gebruik van prototypes heb je ook nood aan een betrokkenheid van de gebruikers en laat toe dat je kan evalueren en zien hoe deze met de software omgaan, met als resultaat een betere feedback en specificaties. De aanwezigheid van een prototype voorkomt misverstanden en miscommunicatie tussen het ontwikkelteam en de gebruikers


Nadelen
  • Te weinig analyse gegevens
Een beperkt prototype kan ontwikkelaars afleiden van het correct analyseren van het volledige project. Hierdoor kan men soms de betere oplossingen over het hoofd zien en schoppen soms minder goede voorstellen het tot finaal product.

Het is dan ook aanbevolen, indien budgettair mogelijk, om meerdere Conceptuele Modellen en Basis Prototypes te evalueren.
  • Verwarring tussen het prototype en het afgewerkte systeem
Gebruikers kunnen soms in de waan leven dat het prototype eigenlijk het afgewerkte systeem is dat hier en daar wat gepolijst moet worden. Hierdoor hebben ze soms de verwachting dat het prototype accuraat het afgewerkte systeem modelleert, dit terwijl het niet noodzakelijk de intentie is van het ontwikkelteam. Gebruikers kunnen ook gehecht geraken aan functionaliteit in het model die misschien later wordt verwijderd in het finale product wat dan soms kan resulteren tot hevige protesten.

Stakeholders denken soms, zeker bij het zien van rijke high fidelity prototypes, dat het systeem bijna klaar is, dit terwijl alles nog moet beginnen.

Het is dan ook belangrijk dat gebruikers en stakeholders goed geïnformeerd worden over het doel en nut van een prototype, dat er zaken kunnen wegvallen en dat er nog veel werk in het verschiet ligt.
  • Gehechtheid van de ontwerpers aan het prototype
Ook zij kunnen gehecht geraken aan het prototype, ze hebben immers bloed, zweet en tranen gelaten om het te kunnen ontwerpen. Wanneer blijkt dat het prototype toch niet voldoende beantwoord aan de noden van de gebruikers dan bestaat er een kans dat de ontwikkelaars toch het concept behouden, omdat ze dit zonde van de tijd en energie vinden.

Meerdere prototypes bouwen kan een oplossing brengen, maar ook moeten ontwerpers aanvaarden dat ook een minder goed ontwerp in héél goede feedback kan resulteren om wel een goed prototype te bouwen.
  • Overmatige tijd spenderen aan het ontwikkelen van een prototype
Eén van de belangrijkste eigenschappen van een prototype is het feit dat er wordt veronderstelt dat het snel wordt gebouwd. Wanneer ontwerpers dit uit het oog verliezen dan komt het voor dat ze te complexe prototypes ontwikkelen. Gebruikers kunnen dan de ontwikkeling blokkeren met onnodige langdradige debatten over details van het prototype.

In het Fusion Usability Recept worden prototypes gebouwd in 3 lagen. Men start met een algemeen Conceptueel Model om dit te verfijnen met het Basis en Gedetailleerd Prototype. Deze gelaagde aanpak laat iedereen wennen aan het concept en de manier van werken. Ook is het belangrijk om vanaf de start een realistische einddatum voorop te stellen, dit om de focus van het gehele team te bewaken.
  • Kosten explosie
De aanloopkosten voor het trainen van een ontwikkelteam dat prototypes gaat gebruiken worden soms onderschat. Veel bedrijven gebruiken nu eenmaal compleet andere methodologieën en deze wijzigen wil zeggen dat er een nood is aan training, andere ontwikkel tools en soms beide. Veel bedrijven springen er soms gewoon in, zonder dat ze weten wat ze te wachten staat.

Het is dan ook aanbevolen om het te starten met kleinere, minder belangrijke projecten, met een initiële focus op low fidelity prototypes en dit gradueel uit te breiden naar belangrijke projecten. Ook is het aangewezen om na te kijken of bepaalde tools niet kunnen hergebruikt worden om high fidelity prototypes te ontwerpen. Deze laatste zijn soms niet zo goedkoop, dit terwijl misschien wél een Visual Basic of .NET editor al aanwezig is in het bedrijf. Dikwijls kunnen de ontwerpers al met een Visual Basic werken, zodat de kost voor training minimaal is.

Naar mate het team meer ervaring heeft, kan men de procedures verfijnen en verbeteren en indien nodig bijkomende prototype tools aanschaffen.


Werkwijze

In zijn essentie is het maken van prototypes eenvoudig:
  1. Definieer wat je gaat modelleren
  2. Ontwikkel het prototype
  3. Evalueer het prototype
  4. Analyseer feedback
  5. Reviseer en verbeter het prototype
Daarna begin je terug met stap 2 tot er een bepaalde tevredenheid bereikt is.
  • Parallel Ontwerpen
Je kan ook met meerdere gebruikersinterface designers werken die parallel naast elkaar werken:
  1. Definieer wat er moet gemodelleerd worden
  2. Twee tot zes gebruikersinterface designers ontwikkelen, onafhankelijk van elkaar, 2 tot 3 verschillende prototypes
  3. Na afloop evalueren de designers (maar eventueel ook andere teamleden) elkaars modellen
  4. De designers pikken elkaars goede ideeën op om hun eigen oplossingen te verbeteren
  5. Ga terug naar stap 2 tot het team tevreden is met het resultaat
Het beste definitieve prototype kan nu eventueel uitgetest worden door geselecteerde gebruikers. Wanneer het financieel haalbaar is of wanneer het project het vereist (complexiteit, onzekerheden, etc…) dan kunnen meerdere prototypes ter evaluatie aangeboden worden.

Deze werkwijze laat toe dat verschillende en diverse ideeën worden ontwikkeld en dat de beste concepten worden geïntegreerd in het finale concept

Parallel Ontwerpen (het werken met verschillende designers) heeft nog tal van andere voordelen:

Het zien en gebruiken van elkaars ontwerpen stimuleert het eindresultaat
  • Hoe goed de initiële concepten ook zijn, de finale concepten van iedereen zullen beter zijn.
  • Designers zullen zeer snel de goede ontwerp ideeën van anderen identificeren en deze effectief integreren in hun eigen ontwerpen.
Het aanmaken van verschillende concepten leidt tot betere resultaten
  • Het laat toe dat een reeks ideeën snel en kostefficiënt gegenereerd worden.
  • Het laat toe dat verschillende aanpakken kunnen verkend worden op hetzelfde moment en dus de planning verkorten.
  • De gegenereerde concepten kunnen veelal gecombineerd worden, zodat het finale concept profiteert van alle goede voorgestelde ideeën.
  • Zelfs mensen met weinig usability ervaring kunnen deze techniek toepassen.
Testen Prototypes

Er zijn verschillende manieren om prototypes te evalueren. Van heuristische evaluaties tot testen met echte gebruikers (en er zijn tal van andere vormen ook), je kan deze naast elkaar uitvoeren of kiezen voor één methode, je kan opteren om alles (Conceptueel Model, Basis Prototype en Gedetailleerd Prototype) te evalueren of enkel het Gedetailleerd Prototype.

Welke soort evaluaties je hoort te gebruiken en wanneer hangt allemaal af van de belangrijkheid van het project, de fase van het project, het budget, de ervarenheid van de teamleden, de doelstellingen en nog tal van andere parameters.

Wanneer je weinig tijd hebt en het budget is krap, voorzie dat je toch op zijn minst een heuristische evaluatie verricht van elk model en tracht (indien mogelijk) altijd een gebruikersevaluatie uit te voeren van het Gedetailleerde Prototype.

Het is aanbevolen om die heuristische evaluatie altijd toe te passen omdat je hiermee de meest zichtbare problemen kunt detecteren en afschermen van de gebruikers.

De verschillende usability evaluaties zullen in de nabije toekomst besproken worden.

Conclusie

Prototypes zijn niet meer weg te denken in een usability cyclus, ze zijn dan ook een belangrijk onderdeel in het Fusion Usability Recept. Ze hebben hun nut al lang bewezen, ze leiden tot betere gebruikersinterfaces van applicaties en websites, verhogen de betrokkenheid met gebruikers, helpen bij het afleveren van betere requirements voor de programmeurs en kunnen de kosten voor ontwikkeling (en onderhoud achteraf) drastisch doen dalen.

Ze zijn dan ook een must voor elke usability beoefenaar.

Bekijk Ook:
Video:

Vond je dit artikel interessant? Doe dan het volgende:
    Huur mij knop

0 reacties

Reageer op dit artikel

Prototypes: zin of onzin?