Graham asks – what is architecture?
Graham is grappling with the question, what is an Architect? I used to be an IT architect and I really struggled with the role, on some days I thought I was a pre-sales technical consultant, on others I was a programme manager, on others a technical trouble shooter and most of the time a solution designer. The list of roles goes on but you get the point by now, when I did Architecture it was a very varied role, which tends to imply some or all of the following:
- I was not cut out to be an architect, because I couldn’t focus
- The role was not very well defined
- Other people’s roles were not very well defined, or they didn’t do them very well
Actually I think all of the above were true to some extent, however I do think that in my organisation one of the problems with the role was that it was defined best in terms of a list of documents that needed to be produced and worst in terms of the objectives that it sought to achieve. For me (I was a lead architect) the main objectives were:
- To work with the customer to help them to identify their needs
- To describe these needs in a way that both customer and developer could relate to
- To develop a solution that would meet those needs, and where that was not possible to explain to the customer why not and gain their agreement to the compromise
- To ensure that the conceptual intent of the solution was retained as the architecture was refined (from conceptual through logical and to physical) and developed and deployed, or to refine the conceptual intent to reflect improvements
- To help the technical team work together effectively and to bridge the gap between the technical team and the management team
- To build up trust between the project team and the customer
- To ensure that the solution could be delivered on budget and meet it’s milestones or to ensure that people understood that it couldn’t and get the conflict resolved
Seen as a list of objectives (and that’s how I always looked at the role) it’s easier to see that achievement of these objectives might need me to take on many different roles throughout the life of the project. It’s worth stating that Graham and I architected many solutions together with my focus being on conceptual integrity and Grahams focus (from my perspective) being more on logical integrity and we had many architects working for us who were working on ensuring physical integrity (although that never worked very well, which lead me to think maybe physical integrity is best achieved by engineers).
This discussion is interesting, but not half as interesting as a post by Steven Sinofsky’s describing the program managers role on the Office team at Microsoft. If you read the post, and it’s comments you will have a very good idea of what that role is, he did a much better job than Graham or I 🙂 it’s also a great example of the usefulness of comments and how they add such value to blogs. In my company we don’t have this role, it’s bundled into the architects role and I think that’s worrying.