Tuesday, 22 September 2009

Architecture: Burden or Blessing?

I'm a big fan of architecture. I really think it makes a big difference whether or not you have an architecture in place to build upon. However, I get into discussions with program- and projectmanagers, who think that architecture is nothing more than a burden for the project. Often I try to explain to them what the benefit is from architecture, even teaching them that architecture and programmanagement have the same goals: realizing business goals (by implementing software).

What does seem to help, is to approach it from a different perspective: what if .... you do not use architecture to guide your development? Lessons learned from the past show us that this will lead to:
* applications with loads of peer-to-peer connections (building a convoluted network of interapplication dependencies)
* unpredictability of IT projects due to the coupled nature of the application landscape. One never knows which application will fall over when a change is applied.
* costly projects due to the unpredictability. Project risks increase, costly measures (extreme testing) have to be implemented. Changes will take longer and longer at higher cost.
* diverse landscape of different applications, tools, languages, hardware etc.
* increased IT costs due to maintaining this diverse landscape and keeping knowledge up-to-date.
* overlapping functionality, multiple implementations of the same business functionality (like customer registration etc)
* loss of insight into the entire IT landscape.

Need I go on? I daresay that architecture can tackle all these issues and deliver a clean and feasible solution. However, it does mean for (some) architects that they will have to come down from their ivory tower and participate in building the new application landscape. They have to be the missionaries to spread the word ....