Verzamel architectuurbepalende eisen
Select architectural significant requirements
Tijdens deze activiteit worden uit de volledige set functionele en niet-functionele requirements de eisen geselecteerd die daadwerkelijk richting geven aan de architectuur van de solution. Deze architectuurbepalende eisen worden geprioriteerd, meetbaar geformuleerd en aangevuld met relevante architectuurkaders, zoals enterprise-principes, wet- en regelgeving en eventuele beperkingen van standaardsoftware. Het resultaat is een compacte en onderbouwde set eisen die de basis vormt voor architectuurbeslissingen en de verdere uitwerking van het High-Level Design.
Beschrijving
Tijdens deze activiteit wordt bepaald welke requirements daadwerkelijk richtinggevend zijn voor de architectuur van de solution. De volledige set functionele en niet-functionele requirements, zoals opgesteld door de business analist, vormt hierbij het uitgangspunt. Niet iedere requirement heeft invloed op de architectuur: het doel van deze activiteit is daarom de eisen te selecteren die bepalend zijn voor de structuur van de oplossing, de verdeling van verantwoordelijkheden, de keuze van technologieën, de inrichting van integraties en de invulling van de belangrijkste kwaliteitskenmerken.
Een requirement is architectuurbepalend wanneer deze een aantoonbare invloed heeft op de wijze waarop de solution moet worden ontworpen of gerealiseerd. Dit kunnen functionele eisen zijn die leiden tot een specifieke architectuuropzet, maar ook kwaliteitseisen op het gebied van bijvoorbeeld beschikbaarheid, beveiliging, prestaties, schaalbaarheid, interoperabiliteit, privacy of beheerbaarheid. Ook eisen die voortvloeien uit de enterprise-architectuur, de geldende architectuurprincipes, wet- en regelgeving en de mogelijkheden en beperkingen van bestaande of voorgenomen standaardsoftware tellen hierbij mee.
De geselecteerde eisen worden niet alleen verzameld, maar ook geprioriteerd. Daarbij is het onderscheid belangrijk tussen eisen die de architectuur daadwerkelijk vormgeven, en eisen die vooral dienen om de uiteindelijke oplossing te toetsen. Architectuurbepalende eisen worden bovendien zo concreet mogelijk geformuleerd: waar mogelijk als meetbare scenario's, zodat later objectief kan worden vastgesteld of de oplossing aan de gestelde eisen voldoet.
Is de oplossing geheel of gedeeltelijk gebaseerd op standaardsoftware, dan worden ook de architectuurbepalende randvoorwaarden en uitsluitingscriteria vastgesteld. Zo wordt vroegtijdig duidelijk welke oplossingen niet passen binnen de gestelde architectuurkaders, en wordt voorkomen dat in een later stadium wordt ontworpen op basis van producten die niet aan de essentiële eisen kunnen voldoen.
Het resultaat van deze activiteit is een beperkte, geprioriteerde en onderbouwde set architectuurbepalende eisen die rechtstreeks richting geeft aan de verdere architectuuruitwerking. Elke geselecteerde eis is herleidbaar naar één of meer verwachte architectuurbeslissingen, en vormt daarmee de basis voor het opstellen van het High-Level Design en de vastlegging van architectuurbeslissingen. De activiteit is afgerond zodra de geselecteerde eisen zijn afgestemd met de relevante stakeholders, eenduidig en meetbaar zijn vastgelegd, en gezamenlijk een stabiel uitgangspunt vormen voor de verdere uitwerking van de solution-architectuur.
Aanpak
Selecteer de architectuurbepalende eisen
Begin met het beoordelen van de volledige requirementsset. Niet iedere requirement heeft invloed op de architectuur. Bepaal per eis of deze daadwerkelijk leidt tot een specifieke inrichting van de solution, invloed heeft op de keuze van technologieën, integratiepatronen of kwaliteitsvoorzieningen, of bepaalde oplossingsrichtingen uitsluit. Alleen deze eisen worden verder uitgewerkt als architectuurbepalende eisen. Eisen die op meerdere manieren kunnen worden gerealiseerd zonder invloed op de architectuur, horen thuis in het ontwerp of de implementatie.
Maak de eisen concreet en toetsbaar
Formuleer elke geselecteerde eis zo dat deze eenduidig en meetbaar is. Vermijd algemene kwaliteitswensen, en beschrijf in plaats daarvan de concrete situatie waarop de eis betrekking heeft, het gewenste gedrag van de oplossing, en de manier waarop kan worden vastgesteld dat aan de eis is voldaan. Zo kunnen de eisen later worden gebruikt als uitgangspunt voor ontwerpbeslissingen en als toetsingscriterium tijdens de realisatie en de conformance-toetsing.
Prioriteer de eisen
Breng de geselecteerde eisen onder in logische kwaliteitscategorieën, en bepaal per eis de relatieve prioriteit. Kijk daarbij niet alleen naar het belang voor de organisatie en de gebruikers, maar ook naar de technische complexiteit, de onzekerheid en de risico's die de eis met zich meebrengt. Eisen die zowel een grote bedrijfswaarde vertegenwoordigen als een grote invloed hebben op het ontwerp of de technische risico's, vormen de belangrijkste architectuurbepalende eisen en verdienen de meeste aandacht in de verdere architectuuruitwerking.
Beperk de set tot de werkelijk richtinggevende eisen
Streef naar een compacte verzameling eisen die daadwerkelijk richting geeft aan de architectuur. Een uitgebreide lijst waarin vrijwel iedere requirement als architectuurbepalend wordt aangemerkt, verliest haar sturende werking. Neem daarom uitsluitend de eisen op die aantoonbaar invloed hebben op de architectuur, aangevuld met eisen die voortvloeien uit wet- en regelgeving, beveiliging of andere niet-onderhandelbare randvoorwaarden.
Bepaal de architectuurkaders
Beoordeel per architectuurbepalende eis welke oplossingsrichtingen hierdoor worden uitgesloten of juist noodzakelijk worden. Bij gebruik van standaardsoftware of bestaande platforms wordt expliciet vastgelegd aan welke voorwaarden deze moeten voldoen. Zo ontstaat een helder architectuurkader dat voorkomt dat in een later stadium oplossingen worden onderzocht die niet aan de essentiële eisen kunnen voldoen.
Stem de eisen af met stakeholders
Bespreek de geselecteerde en geprioriteerde architectuurbepalende eisen met de opdrachtgever, gebruikersvertegenwoordigers, de Enterprise Architect en andere relevante stakeholders. Licht daarbij toe waarom bepaalde eisen wel of juist niet als architectuurbepalend zijn aangemerkt, en zorg voor overeenstemming over de prioriteit en de betekenis van de eisen voordat de architectuur verder wordt uitgewerkt.
Gebruik de eisen als uitgangspunt voor de architectuur
Vanaf dit moment vormen de architectuurbepalende eisen het belangrijkste sturingsmechanisme voor de verdere architectuuruitwerking. Ze worden gebruikt om oplossingsalternatieven te beoordelen, architectuurbeslissingen te onderbouwen en ontwerpkeuzes te toetsen. Elke belangrijke architectuurbeslissing moet herleidbaar zijn naar één of meer architectuurbepalende eisen. Tijdens de uitwerking van het High-Level Design en het Low-Level Design wordt voortdurend gecontroleerd of de gekozen oplossing aantoonbaar invulling geeft aan deze eisen. Zo vormen de architectuurbepalende eisen niet alleen een verzameling randvoorwaarden, maar het fundament waarop de gehele solution-architectuur wordt opgebouwd en later wordt gevalideerd.
Acties
- Lezen Requirements Alpha
- Lezen Paved Road Werkproduct
- Aanmaken Architectuurbepalende Eisen Werkproduct
Werkproducten
Voltooiingscriteria
- System Architecture Selected
Rol
Rol die deze activiteit uitvoert.
Architectuureigenaar
De meest technisch ervaren persoon in het team (conform Disciplined Agile Delivery). Voert het solution-spoor uit binnen de door de Enterprise Archite…