Friday, January 4, 2008

Recipe to prepare an Architect


This is how the job definition of Architect evolves. Multiple cooks in the organization add their own spice. The end looks like a recipe which has everything but taste. It is perfectly alright to assume that an aspiring Architect is an accomplished engineer. Then he/she should be able to technically look at any software from multiple levels -40,000 ft to ground level and should be able to do that effortlessly as an eagle would. And look forward in time.
Assuming all this is there, he/she should then have business acumen. To understand business and provide strategic inputs to it.
Between these two is a wide gamut of Leadership. He should be able to motivate technical people ... take the teams through different paths to reach the destination. He should be good at communicating the conceptualization, manage interests of all stakeholders.



But most of the architects are good in one or two of these areas. And to do justice to any one of these is itself a commendable task. Also, many times the company/product/situation demands only a subset of it. But the recipe is still open for someone to add new spice. Soon someone will end up listing enterpreneurship as key architect skill.
There is a need to divide Architect role into multiple levels and make the transition from an experienced engineer to architect little easier than it is. A quantum jump is not good for someone who has crossed it and someone who has given up crossing it.

Thursday, January 3, 2008

What is Architecture?

Architect is defined by Architecture
Architecture is defined by architect.
Architect owns architecture and whatever Architect creates is Architecture. Read more here,

http://www.bredemeyer.com/whatis.htm

This gives some vague idea about Architecture. It defines it as a set of very high level technical decisions which are systemic and have a high impact. So scope and impact are the two dimensions on which the first quadrant will be the archiectural concerns.


Scope-Impact

S | | Architectural concerns
C |_____________|________________
O | |
P | |
E |_____________|________________
IMPACT


But there is one more dimension that some of the definitions revolve around - its the life of decisions. If the decisions live through the life of the product, most likely they will be architectural. This also means that these are decisons that are almost irreversible. Changing them is very difficult.

Architectural decisons are typically taken early in project lifecycle.

The above two points again tie into Scope-Impact model. Because of big scope and high impact the decisons are important enough to be taken early on. And the importance also guides the reversability.

Ofcourse each of these definition has exceptions. Once we have architecture, important thing is that Architect owns this. Own means - create, make changes and discard/replace at appropriate times.

For budding software architects

A time comes in life of a software engineer, when he can't remember last time he debugged or fixed a bug. Design and coding are still part of the job, but he has been leading projects. And suddenly he begins hearing about next quantum jump called architect. It is like an electron moving from inner orbit to valence orbit, ready to join the club which will create semi-conductor properties in a silicon.

What is not very clear is the meaning of quantum jump? More unclear is the path to becoming one. This blog is about throwing light on various aspects of architect.