The Architect leads and coordinates technical activities and artifacts throughout the
project. The Architect establishes the overall structure for each architectural view: the
decomposition of the view, the grouping of elements, and the interfaces between these
major groupings. Thus, in contrast with the other workers, the Architect's view is one of
breadth, as opposed to depth.

Staffing 
"The ideal architect should be a man [or woman] of letters, a mathematician,
familiar with historical studies, a diligent student of philosophy, acquainted with music,
not ignorant of medicine, learned in the responses of jurisconsults, familiar with
astronomy and astronomical calculations." --- Vitruvius, circa 25 BC
In short, the architect must be well-rounded, posses maturity, vision, and a depth of
experience that allows them to grasp issues quickly and make educated, critical judgements
in the absence of complete information. More specifically, the architect (or members of
the architecture team) must combine the skills of:
- Experience, both in the problem domain (through a thorough
understanding of the requirements) and the software engineering domain. If there is
a team, these qualities can be spread across the team members, but at least one architect
must provide the global vision for the project.
- Leadership, in order to drive the technical effort across the various
teams, and to make critical decisions under pressure and make those decisions stick. In
order to be effective, the Architect and the Project Manager must work closely together,
with the Architect leading on the technical issues and the Project Manager leading on the
administrative issues. The Architect must have the authority to make technical decisions.
- Communication, to earn trust, to persuade, to motivate, to mentor. The
Architect cannot lead by decree, but only by the consent of the rest of the
project. In order to be effective, the Architect must earn the respect of the project
team, the Project Manager, the Customer and the user community, and the management team.
- Goal-oriented and proactive, with a relentless focus on results. The
Architect is the technical driving force behind the project, not a visionary or dreamer.
The career of a successful Architect is a long series of sub-optimal decisions made in
uncertainty and under pressure. Only those who can focus on doing what needs to be done
can be successful in the environment of the project.
Teams. If the project is large enough to warrant an architecture team,
the goal should be to have a good mix of talents, covering a wide spectrum of experience
and sharing a common understanding of software engineering process. The architecture
team should not be a committee of representatives from various teams, domains or
contractors. Software architecture is a full-time function, with staff permanently
dedicated to it.
| |

|