Enterprise architecture and agile development

The most important aspects of Agile software development, including Scrum, are empiricism and prioritization based on business value. In short iterations you create solutions for the items that deliver the most business value. By using short iterations you can learn from the results by being able to test the impact of what you deliver.

Even if you don’t care for Agile development, working in short iterations, delivering what is most valueable to your business at that moment seems like a smart thing to do.

If you want to combine Enterprise Architecture and agile development, enterprise architecture needs to fit within these constraints. Enterprise Architecture needs to be able to deliver the most valueable things in short iterations.

I would think that even if you’re not doing Agile software development, Enterprise Architecture should be done in an empirical way. You should be able to test the results of Enterprise Architecture often and early, and you should be delivering the most valueable things for your company.

If you can’t do Enterprise Architecture in a way that conforms to these Agile requirements, you shouldn’t be doing Enterprise Architecture. Because it means that you are either doing something that isn’t testable, and you can’t learn what works best for your company, or you’re doing something that isn’t extremely valueable to your business.

blog comments powered by Disqus