I read today a post by David Ing called "An Overly Long Guide to Being a Software Architect" . David talks about different aspects of a software architect - among those things he mention two important soft skills for architects namely Organizational Politics and communications. Two additional soft skills (or competencies) that an architect needs are strategic thinking and Leadership (There may be some others but I think these 4 are the main ones).
Dana Bredemeyer measures competencies from 3 viewpoints - what you know, what you do and what you are.
For example looking at Organizational Politics
- What you know - Who the key stakeholders are, what they want from the business and personal perspectives
- What you do - Communicate, network, build relations, sell the vision/architecture
- What you are - comfortable with compromise and conflict, able to look at situations from several viewpoints, articulate, patient, resilient, sensitive to power flow within the organization.
Or if we look at leadership
- What you know - yourself
- What you do - mentor others, motivate others, build teams and set their vision, influence decision makers
- What you are - committed, passionate, credible.
Brdemeyer also supplies competency elaborations (levels for each competency and and guidelines on how to advance yourself between the levels) for Strategic alignment, Organizational Politics and Leadership .
Another interesting source on architecture competencies is a book called "Software Architecture - Organizational Principles and Patterns" by David M. Dikel, David Kane and James R. Wilson.
The authors detail a reference model of the organizational aspects of the software architecture process (vs. for example the SPAMMED Architecture Framework (SAF) which details the more technical aspects of the process).
The model takes about 5 principles :
- Vision - Deals with the mapping of future value to the constraints on the architecture and how well understood, flexible etc. are the architecture's structure goals
- Rhythm - the predictability and recurrence in the exchange of deliverables between the architecture group and the architecture consumers.
- Anticipation - The extent to which the architects predict, validate and adapt the architecture to changing requirements (as well as technologies, competition etc.)
- Partnering - the extent to which the architects interact with the architecture stakeholders to allow maximizing the value delivers or received by the different parties
- Simplification - achieving the "zen" (clarification and minimization) so to speak of both the architecture and the organizational environment where it lives.
An example for the patterns and antipatterns that relates to Stakeholders (first step of SAF)
- Criterion : The architect continually seeks to understand who the most critical stakeholders are, how they contribute value and what they want.
- AntiPattern - Phone Doesn't Ring
- Pattern - Know Thy Stakeholders
- Criterion: Clear compelling agreements exist between stakeholders
- AntiPattern: Lip-Synching
- Pattern: Reciprocity
The book naturally continues to describe what these patterns are :).
The important takeaway from this is that while knowing every nook and cranny of "the framework formerly known as Indigo" (WCF) will probably won't harm you - technical competency alone will only take you so far as an Architect and you can not afford to neglect growing and working on the aforementioned soft skills .