From time to time we run into IT solutions that look like monsters. And after the irritation is over (if that ever happens), you start to think what has caused the creation of such a beast. I have found that a lot can go wrong on the path from defining the problem to setting the requirements for the engineer(s) to create a solution. And according to Murphy: anything that can go wrong ... will go wrong.
So preventing creating monsters is making sure that in this phase nothing goes wrong. A lot of people argue that this is impossible. Without saying that perfect execution can be garantueed, positive results can be achieved using a process toward the phase where the engineers start doing their thing. A process that is actually understood by everyone involved.
Looking at how the phyiscal world is created, you often see that this part of the proces is driven by someone who calls him/herself an "architect". Now why should this be any different in the IT world?
So what do architects do? Let's start with what they don't do:
- Create a detailed list of observations of the current situation.
Why would you be interested in looking at something you don't want to see anyway?
- State what are technical problems in the current situation and how this should be addressed.
A detailed analysis in order to address the issues is work for those who develop the solution: the engineer.
- Produce complicated drawings which only highly experienced engineers can understand.
No matter how much you trust the architect, you still want to get a feeling what you will end up with.
Architects create views on the solution in order to communicate with the people who want this solution in the first place to see if the solution meets with the expectations. In the process of creation the architect actively listen to a wide range of users. And when the engineers start doing their part they are available to the engineer if something is not completely clear. I mean architects are human too.
An architect in the IT world isn't any different. Looking at what people with "architect" in their title say and do, will give you sometimes reason to believe that in the digital world things are different. They way I see it, the architect function is exactly the same.
Now "views" created by architects come in all sorts of shapes and sizes. In future posts I will address in more detail what views are helpfull and stuff that is a waste of time and money. What is important is that these views (which often are referred to as "the architecture") have a function and are not a goal by itself: the allow for communication between the user and the engineers. So that in the end you won't have a monster!
© Peter Bodifée 2008. All rights reserved