Co-Existence of Agile and Architecture




Agile approaches have gained popularity as a mechanism for reducing cost and increasing ability to handle change in dynamic market conditions. However, there is a significant concern about the role and importance of the issues related to the software architecture of a system being developed using agile approaches. There seems to be quite a lot of misconceptions about architecture among Agile methods users. All these misconceptions lead to many people believe that there exists a dichotomy between agile and architecture values and principles and both can’t or shouldn’t co-exist. However, there is also a growing interest in separating the facts from myths about the necessity, importance, advantages and disadvantages of co-existence of agile and architectural approaches.
I found these assertions and count-assertions from different camps very interesting and started looking into different aspects of Agile methods and sound architectural principles and practices. Having studied several companies using Agile methods, I am becoming more and more convinced that there are very good reasons and mechanisms to answer questions like “Why and How can Agile and Architecture co-exist?”
This was the title of my keynote talk at a seminar organized by Version2, an online IT magazine in Denmark. It was very interesting seminar with approximately 60 people turned up. I really enjoyed sharing my experience, observations, and practices with a very keen audience. I have carried out quite a lot of work on this topic, however, most of the work is not published yet – but is in the pipeline. The slides from my keynote can be found here Keynote talk slides. I also plan to write some more details about our work on this topic fairly soon – Please be patience. In the meantime, you are welcome to browse through the IEEE Software March edition as our special issue published during March and has interesting articles in it.