Tuesday, February 23, 2010

The endless debate on "what is an architect"

Just been following the following debate in LinkedIn: http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers&discussionID=13839089&gid=100988&commentID=12211252&trk=view_disc

The discussion started with the following comment:

This is what is killing Enterprise Architecture…
Quote from "John Zachman" article..;-)
This is what is killing Enterprise Architecture… every computer programmer, systems designer, software architect, solutions architect, technology architect, computer operator, PC owner, data architect, database architect, network architect, business analyst, systems analyst, enterprise architect, service architect, object architect, project manager and CIO calls whatever they want to or maybe, whatever they are doing, “Architecture.” It is chaos. No wonder we don’t have Enterprises that are coherent, integrated, flexible, dynamic, interoperable, reusable, aligned, lean and mean and working.

And I thought I'd add my bit as well.....

I love this discussion, if only because it goes round in circles so much. Getting back to the original point though:

"....calls whatever they want to or maybe, whatever they are doing, “Architecture.”"

This gets to the nub of the problem. Quite simply, you are an architect if the role you perform is "architecture". However, people do indeed hijack the term to make their own role sound better. We cannot rely on some higher authority to define for us what an architect is and then impose a set of criteria to test against. Instead it is incumbent upon all of us who consider ourselves to be architects to explain what architecture involves and if we suspect others of "job title inflation" we should ask what they have done that qualifies as architecture.

As a marker, I think there are some fundamental aspects of architecture that we should be able to agree on:

* Architecture is a high-level design activity. The output of architecture is a design of some sort, although this can vary enormously in the level of abstraction. Architecture is the synthesis of a design that satisfies a set of requirements.

* A secondary activity of an architect is communication of the design and the supervision of the detailed design and implementation to ensure that the design intent has been captured.

* Another secondary activity of an architect is to communicate to those creating requirements what the impact of their requirements will be on the design and to advise on improvements.

Someone whose primary role is development / implementation / operations is not therefore an architect. I think "enterprise" architecture vs other types of architecture is a red herring in this regard. These are all valid disciplines - there are indeed "data architects", there are indeed "infrastructure architects" and there are indeed "enterprise architects". The key thing is that in each case the primary goal of their activity is design.

You've got to love it. I haven't seen a more circular debate since the old artists vs scientists one that you have at university!

No comments: