Wednesday 7 July 2010

What do Software Architects really do?

I came across this interesting article from Philippe Kruchten, published in the Journal of Systems and Software in year 2008. In this article, the author has recommended following time allocation for software architects:

·         Internal Focus: About 50% of time focused on architecting per se: architectural design, prototyping, evaluating, documenting, etc.

·         External Focus: About 50% of time interacting with other stakeholders. It has got two facets:

o   Inwards: 25% time for getting input from outside world: listening to customers, users, product managers, and other stakeholders; learning about technologies, other systems' architecture and architectural practices

o   Outwards: 25% time for providing information or help to other stakeholders: communicating architecture, project management, project definition

The author has also identified following anti-patterns, which can be illustrated with this ratio of [internal:inwards:outwards]

·         Goldplating [60:30:10]: software architects are not engaged enough with the implementation team.

·         Ivory Tower [70:15:15]: software architects have isolated themselves.

·         Absent Architect [30:40:30]: software architects are spending too much time travelling the world, at the expense of their core work.

·         Just Consultants [25:25:50]: software architects are engaged more in activities such as product definition

The author has not offered very strong formal evidence supporting his recommendations. But we can treat them as very valuable inputs, given the credentials of the author.