Update: This post has moved to here.
My team has been spending a fair amount of time recently asking this question “What is it that you need to know to be an IT Architect?”. What you should be reading? What skills should you be honing? Who should be following?
Recently, I had the opportunity to sit down with IASA (the International Association of Software Architects) to try and answer this very question. I spent a week with Paul Preiss (the president), Angela Yochem (a fellow, and VP of Enterprise Architecture at SunTrust), Aaron Tan Dani (who runs the ISAC in Malaysia), and a few people from Redmond. During this week we created a taxonomy for what we believed were “the essential things you need to know to be an IT Architect”.
We started by defining what we believe as the fundamental skills that every Architect needs. We classified these into five areas, known as IT Environment, Business / Technology Strategy, Design Skills, Quality Attribute Skills, and Human Dynamics:
IT Environment is about the organization of the IT department, Engineering, Operations, Governance, and Project Management. These represent the fundamental skills required for understanding how the IT organization works and how the IT Architect functions as part of this.
Business / Technology Strategy is understanding how the business maps to technology (and hopefully vice versa). It covers business fundamentals, business and technology alignment (mapping), valuation (e.g. is an IT project going to return value?), and industry concerns.
Design Skills are an IT Architect’s primary tool for creating solutions. Skills required here include knowledge of patterns and best practices, building blocks, artifacts, tools, and methodologies.
Quality Attributes are the considerations that cross cut every technology solution (or at least they should!). These include management and monitoring, attribute types (security, reliability, supportability – this list can go on), and implementation.
Finally, the area of Human Dynamics cover skills required such as communications (writing, listening, speaking etc.), situational awareness, and leadership.
What are your thoughts? Ignoring the specific domains (e.g. solutions architecture, infrastructure architecture etc.), are we missing anything from the set of fundamental skills that every IT Architect needs? Are these the right areas or would you change them?