Tuesday, March 12, 2013

Three signs that your project has a good IT architect

Three signs: Clarity, Creativity, Simplicity
(photo credit: blinkingidiot)
When one is working on a IT project, how does one tell if one's team has a good IT architect?  Good architects should produce good architectures, and through them, good architects produces three signs in IT projects.  I learnt about these three signs from MIT Professor Edward Crawley's System Architecture class, and the signs resonated with my experience.  I will be interested to hear from you if your experience also validate this view, or if you have other views on this topic.

Here are three signs that a IT project has a good IT architect.  Or if your project does not have these three signs, maybe you should consider hiring a IT architect.

1. Little ambiguity about the system to be built

Good architecture reduces ambiguity about the system by clearly specifying its key aspects--its stakeholders, its purpose for existence, its interfaces, its key components, etc.  In big system projects, people involved each have their own idea of what the system look like.  The situation is very much the story of the three blind men and the elephant: each blind man had his own idea of what the elephant was like.  The architect helps to bring everybody onto the same page by putting the design on paper, let people argue over it, and then gradually evolve the design to one that is widely accepted.

2. Many diverse options on how the system could be designed

Good IT architects facilitate creativity in system design by helping to frame the problem well.  In reducing ambiguity about the system, architects need to achieve agreement on who the system is supposed to serve and what problem it should solve.  Once these two issues have been resolved, there can be many possible solutions.  Often projects jump straight into solutioning without properly framing the problem to be solved or who the system is designed to serve.  For example, a team might jump straight into designing a mobile app, forgetting why the app was needed in the first place.  Maybe the app was proposed as a way to better engage customers.  If that is the case, will an alternate approach like making phone calls achieve the objective better?

3. Designs that look almost obvious

After examining the first two signs, one might wonder, will a good facilitator do as good a job as an architect?

The answer is yes and no.

Yes in that good architects need good facilitation skills.  For big systems, it is difficult for architects to be the expert in all areas.  As such, architects need to facilitate conversations between experts in various areas, and then distill out the relevant pieces for the system being designed.

No in that architects need more than facilitation skills.  One critical skill needed is making the complex simple.  The keyword here is "Abstraction".  Good architects abstract complex designs into simple pictures such that only the most pertinent issues are highlighted.  One might even say that those picture look obvious.  But abstraction is not an easy skill; there are no prescribed approaches; it requires deep understanding of the system to know what is important and what is not, and then it requires creativity and communication skills to represent the complexity in a easy-to-understand way.

Does your project have a good IT architect?