Designed and delivered today, eroded tomorrow?
Olaf Zimmermann · 2016
Architecting for cost-effectiveness, longevity and endurance has multiple, often conflicting dimensions. For instance, agile practices emphasize the need for speed in software design, development and delivery, but do not necessarily prioritize mid- to long-term qualities such as extensibility and knowledge preservation. Risk- and cost-driven architecture design methods, pragmatic modeling, and technical debt management can help practicing architects to focus their efforts, but have to be tailored to be effective (e.g., according to project context, organizational constraints, and cultural factors). Architectural styles such as service-oriented architectures and its currently trending microservices incarnation promise to improve flexibility and maintainability through their principles and patterns, but still have to prove their cost-benefit efficiency in the long run (e.g., over the multi-decade lifetime of business information systems).