Bedrijfsproces en informatietechnologie
Eén van de bekendste uitdagingen in software-ontwikkeltrajecten – en daarmee in de digitale transformatie van organisaties – is de spreekwoordelijke kloof tussen de business stakeholders en IT stakeholders. Hoewel bedrijfsproces en informatietechnologie steeds meer met elkaar verweven raken, hebben business en IT vaak verschillende belangen in het eindresultaat en hebben ze eigen wensen, uitgangspunten en voorwaarden die in het traject meegenomen moeten worden.
Één manier om de scheiding tussen business en IT te verkleinen is een lean-agile aanpak. In een lean-agile organisatie worden zowel technische specialisten als personen uit businessteams actief betrokken bij digitaliseringstrajecten. Dit zorgt ervoor dat de ontwikkelde oplossing aansluit bij de businessoperatie en rekening houdt met de concerns van IT, business én klant. Naast een lean-agile aanpak zie je nog een andere ontwikkeling om de kloof tussen business en IT te verkleinen: moderne software-ontwikkelplatformen – met name moderne low-code platformen zoals Mendix – proberen om softwareontwikkeling minder technisch te maken. Hierdoor is de ontwikkeling toegankelijker voor de business en wordt de gebruiker actiever betrokken bij de implementatie en acceptatie van de oplossing of applicatie.
Uiteindelijk is het belangrijk dat beide stakeholders goed meegenomen worden in alle aspecten van het traject. Beginnend bij het in kaart brengen van de behoeften en wensen van beiden tot en met de acceptatie en borging van het eindresultaat. Maar ook dat er een duidelijk onderscheid wordt gemaakt in de zorgen van beiden, de risico’s die business en IT voorzien en de rol in de organisatie van business en IT.
Functionele en niet-functionele eisen
Naast de separation of concerns tussen business en IT is er een tweede belangrijke dimensie in de ontwikkeling van software. Functionaliteit tegenover niet-functionele eisen en beperkingen: Functionele eisen specificeren wat het systeem moet doen als reactie op verschillende gebruikershandelingen of input (of op een trigger vanuit een ander systeem) en welke informatie het daarbij moet bewerken of genereren. Niet-functionele eisen specificeren verwachtingen over hoe de oplossing zou moeten werken. Ze dienen als beperkingen en randvoorwaarden voor het ontwerp en de implementatie van het systeem.
Softwareontwikkeling is alleen succesvol als naast de functionele aspecten ook de niet-functionele aspecten van de oplossing voldoende en vanaf het begin zijn meegenomen. Dit klinkt misschien als een open deur, maar gek genoeg focussen nog steeds veel softwareontwikkeling en implementatietrajecten zich in het begin uitsluitend op de functionele eisen en voordelen, en worden er aan het eind van het traject nog snel even wat performance of gebruikerstesten ingepland. Soms met enorme vertraging of kostbare herbouw tot gevolg.
Het Agile Development Kwadrant
Als je bovenstaande twee dimensies combineert ontstaat onderstaande diagram met vier kwadranten. Voor het succesvol managen van IT-implementatietrajecten is het belangrijk dat elk kwadrant wordt meegenomen in elk aspect, fase en deliverable van het traject. Deze holistische benadering helpt om niks over het hoofd te zien – of op zijn minst om dingen bewust te negeren. Omgekeerd, als een implementatie niet goed gaat of niet succesvol is, is dit vaak terug te voeren op het vergeten of onderbelichten van één of meerdere kwadranten in de aanpak of een projectactiviteit.

Focus in het Business Implementation kwadrant ligt op het in kaart brengen van de (digitale) producten en diensten die in de oplossing ondersteund moeten kunnen worden, van de onderliggende bedrijfsprocessen en van de bijbehorende regelgeving. En om deze vervolgens te vertalen naar eisen, acceptatiecriteria en succesfactoren voor de softwareontwikkeling.
User Experience (UX) omvat alle aspecten van de interactie en gebruikerservaring van de eindgebruiker met de oplossing. Het gaat hier dus vooral ook om de niet-functionele kant van de gebruikerservaringen en interactie met de oplossing.
Hoewel applicatieontwikkeling op zich ook veel niet-functionele aspecten heeft, leggen we in het Application Development kwadrant de focus op het ontwikkelen en implementeren van de functionaliteiten in de oplossing of applicatie. Het gaat hierbij bijvoorbeeld om welke informatie-entiteiten in de oplossing zitten en hoe deze met elkaar samenhangen, hoe het proces of de workflow in de applicatie ondersteunt wordt, welke componenten generieke standaard functionaliteit zijn en welke meer complexe maatwerkontwikkeling vereisen.
Onder het kopje Infrastructure & Integration bundelen we alle meer technische niet-functionele aspecten van de softwareontwikkeling. Belangrijke niet-functionele aspecten die meegenomen moeten worden in dit kwadrant zijn de compatibiliteit van de software, de beveiligingseisen aan de software (security) en de prestaties van de oplossing (performance).
Meer weten over het Agile development Kwadrant en hoe deze toe te passen in softwareontwikkel- en implementatietrajecten? Neem contact met ons op.