Your cart is currently empty!
De flexibiliteitsparadox
Zoals we kunnen lezen in vele artikelen in dit tijdschrift is de rol van architect een lastige en complexe. Een van die uitdagingen is het effectief hergebruiken van bestaande componenten. Daarbij zoeken we uit de onderdelen die eerder zijn ontwikkeld de versies die het beste passen binnen het nieuw te ontwikkelen product. Daarnaast proberen we componenten zo te ontwikkelen dat ze goed in de toekomstige producten en productvarianten bruikbaar zijn.
Verreweg de meeste aandacht gaat daarbij uit naar het vinden van de overeenkomsten tussen toepassingsgebieden. We ontwikkelen onderdelen zo, dat ze deze overeenkomstige kenmerken bevatten. Dat is echter nog kinderspel vergeleken met de grootste uitdaging wat betreft de ontwikkeling van herbruikbare componenten. Naar mijn mening is dat de omgang met de verschillen tussen de vereiste eigenschappen van producten. Met andere woorden, hoe kunnen we componenten zo ontwerpen dat ze niet alleen de gedeelde functionaliteit leveren, maar ook geschikt zijn om de specifieke kenmerken van de producten te realiseren? Meer flexibiliteit in je software is daarbij lang niet altijd beter.
Aan de ene kant heeft de geboden keuzeruimte – en haar realisatie in de software – namelijk grote invloed op zowel de uiteindelijke geboden functionaliteit als de kwaliteit: extra flexibiliteit vereist vaak ook extra resources. Aan de andere kant heeft deze grote invloed op de configureerbaarheid.