Wat is communiceerbaarheid van een ontwerp?
Communiceerbaarheid van een ontwerp verwijst naar de mate waarin een ontwerp begrijpelijk, overdraagbaar en interpreteerbaar is voor verschillende belanghebbenden binnen een softwareontwikkelproces. Een goed communiceerbaar ontwerp zorgt ervoor dat ontwikkelaars, ontwerpers, testers, projectmanagers én opdrachtgevers hetzelfde beeld hebben van hoe het systeem werkt of moet werken.
Casus
Een development team werkt aan een nieuw reserveringssysteem. De architect levert een technisch ontwerp aan in UML. Echter, de product owner begrijpt het document niet volledig en denkt dat een belangrijke functionaliteit ontbreekt. Na veel verwarring en onduidelijkheid blijkt dat de functionaliteit er wel degelijk is, maar anders gevisualiseerd dan verwacht. Een verbeterd ontwerp met wireframes en korte toelichtingen maakte het verschil: iedereen was weer aligned.
Hoe zit communiceerbaarheid in elkaar?
Communiceerbaarheid hangt af van verschillende factoren:
Doelgroepgerichtheid
Het ontwerp moet aangepast zijn aan de achtergrond van de lezer.
Voorbeeld
Een product owner zonder technische achtergrond ontvangt een ontwerpdocument vol met UML-klassendiagrammen. Deze zijn voor hem niet leesbaar. Door een aparte versie te maken met user stories en wireframes wordt het ontwerp voor hem wél begrijpelijk.
Visualisatie
Modellen zoals UML-diagrammen, wireframes of C4-modellen maken abstracte concepten concreet.
Voorbeeld
Een developer moet begrijpen hoe gebruikersgegevens worden opgeslagen en opgehaald. Door een ER-diagram toe te voegen aan het ontwerpdocument wordt direct duidelijk welke tabellen en relaties er zijn in de database.
Consistentie
Terminologie, symbolen en structuur moeten consistent worden toegepast binnen het hele ontwerp.
Voorbeeld
In het ene deel van het ontwerp heet een component UserController
, in een ander diagram heet deze GebruikerController
. Dit veroorzaakt verwarring. Door consequent de Engelse naam UserController
te gebruiken in alle documentatie wordt dit voorkomen.
Toelichting
Korte beschrijvingen en contextuitleg vergroten het begrip en zorgen voor minder misinterpretaties.
Voorbeeld
Een wireframe toont een knop “Bewaren”, maar zonder toelichting is het onduidelijk of deze knop data opslaat of een document downloadt. Door onder het wireframe een korte toelichting te schrijven (“Deze knop slaat de ingevulde gegevens op in de database”) is de bedoeling helder.
Traceerbaarheid
Elk onderdeel van het ontwerp moet te herleiden zijn tot een specifieke eis of behoefte.
Voorbeeld
Een tester moet controleren of een bepaalde user story is geïmplementeerd. Dankzij een tabel in het ontwerp met daarin een kolom “User Story ID” die verwijst naar ontwerponderdelen, ziet de tester snel waar die functionaliteit in het ontwerp terugkomt.
Hoe gebruik je communiceerbaarheid in je ontwerp?
Je gebruikt communiceerbaarheid als toetsingscriterium bij het maken en verfijnen van een ontwerp. Je houdt bij het opstellen van een ontwerp rekening met de verschillende doelgroepen en zorgt voor begrijpelijke documentatie.
Casus
Je ontwerpt een dashboard voor een onderwijsapp. De onderwijsmanager wil weten welke functionaliteiten wanneer beschikbaar zijn, de developer moet weten hoe modules communiceren.
Eisen:
- Voor de onderwijsmanager: een functioneel ontwerp met wireframes met legenda en toelichting in gewone taal.
- Voor de developer: aanvullend op het functioneel ontwerp, een technisch ontwerp met sequentiediagrammen met technische beschrijvingen van interacties.
- Voor testers: een testontwerp met daarin een overzicht van use cases gekoppeld aan requirements.
Mogelijke uitwerking van de casus
- Wireframes gemaakt in Figma met een begeleidende tekst.
- UML-sequentiediagrammen gegenereerd in PlantUML.
- Traceability matrix waarin elk onderdeel van het ontwerp gekoppeld is aan een user story.
flowchart TD A[User Story] --> B[Ontwerpcomponent] B --> C[UML Diagram] B --> D[Wireframe] A --> E[Testscenario]
Volgende stap: Uitleg aansluiting requirements