DYA: Ontwikkelen Zonder architectuur
Regelmatig kom ik het tegen: Organisaties implementeren een nieuwe dienst of applicatie onder hoge tijdsdruk.
Er moet bijvoorbeeld snel iets op de markt komen voor de concurrent het doet (bijvoorbeeld in de telecom sector), of er is een nieuwe wet aangenomen in de tweede kamer die een aanpassing op korte termijn vereist (bijvoorbeeld bij verzekeringsmaatschappijen).
Een belangrijke valkuil is dan dat er een applicatie of service wordt gebouwd die niet voldoet aan de vastgestelde architectuur, of die security eisen niet zo nauw neemt.
Het probleem hiervan is dat de nieuwe service weliswaar snel wordt uitgerold, maar dat er achteraf heel veel werk nodig is om de service te beheren. De kosten hiervoor kunnen hoog oplopen. Ook kan de nieuwe service security problemen veroorzaken. Bovendien is de aansluiting met andere systemen vaak lastig, omdat de andere systemen wel aan de architectuur voldoen.
Een oplossing hiervoor wordt aangedragen in de DYA architectuurmethode.
Hierbij wordt onderscheid gemaakt tussen ontwikkelen onder architectuur en ontwikkelen zonder architectuur. Systemen die onder tijddruk moeten worden ontwikkeld hoeven hierbij niet persé te passen in de vastgestelde architectuur. Echter, nadat het systeem is opgeleverd moet een ontwikkeltraject gestart worden om het systeem opnieuw in alle rust te ontwikkelen, maar dan netjes onder architectuur.
Een mooi streven.
Ik heb dit echter nooit in de praktijk gezien. Als een oplossing eenmaal werkt, dan wordt het zelden vervangen, uitsluitend om aan de architectuur te voldoen. Tijdelijke oplossingen blijken meestal permanent te zijn. Op korte termijn kost het opnieuw ontwikkelen namelijk geld en mankracht, en het levert pas geld op op de lange termijn (voornamelijk beheerkosten). Vaak is dit ook een ander "potje" in het budget.
De enige mogelijk die ik zie is als er alleen van een architectuur kan worden afgeweken als er als onderdeel van het project (bij de start) al budget beschikbaar wordt gesteld voor de her-ontwikkeling. Vooraf zijn de kosten van het ontwikkelen zonder architectuur dan bekend bij de stakeholders, die dan een goede afweging kunnen maken of de additionele kosten in verhouding staan tot de snelle oplevering zonder architectuur.
Een goede inbedding van architectuur in de organisatie (de zogenaamde Architecture Governance), met voldoende mandaad is hiervoor natuurlijk wel noodzakelijk.
This entry was posted on Vrijdag 02 Januari 2009