 |
This role is responsible for the software architecture, which includes the key technical decisions that constrain the overall design and implementation for the project. |
Role Sets:
Roles |
|
Relationships

|
Additionally Performs:
| Modifies:
|
Main Description
This role performs technical leadership or co-ordination of the system, with overall responsibility
for driving the major technical decisions, expressed as Artifact: Architecture. This typically includes identifying and documenting the
architecturally significant aspects of the system, including requirements, design, implementation, and deployment
"views" of the system.
This role is also responsible for providing rationale for these decisions, balancing the concerns of the various
stakeholders, driving down technical risks, and ensuring that decisions are effectively communicated, validated, and
adhered to.
This role is also closely involved in organising the team around the architecture, working closely with Role: Project Manager in the staffing and planning of the project.
|
Staffing
Skills |
"The ideal architect should be a person 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 summary, people performing this role must be well-rounded, posses maturity, vision, and a depth of
experience that allows for grasping issues quickly and making educated, critical judgment in the absence of complete
information. More specifically, the person must combine these skills:
-
Experience in both 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 person 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. To be effective, this role and the Role: Project Manager must work closely together, with the Architect leading the technical issues and the Project Manager leading the administrative issues. The Architect must have the authority to make technical decisions.
-
Communication to earn trust, to persuade, to motivate, and to mentor. This role cannot lead by
decree, only by the consent of the rest of the project. In order to be effective, the person must earn the
respect of the project team, the Project Manager, the customer, and the user community, as well as the management
team.
-
Goal-orientation and Pro-activity with a relentless focus on results. This role 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 will be successful in this environment of
the project.
From an expertise standpoint, the software architect also needs to encompass designing abilities. However, from
the designing perspective, the architect:
-
tends to be a generalist rather than a specialist, knowing many technologies at a high level rather than a few
technologies at the detail level
-
makes broader technical decisions, and therefore broad knowledge and experience, as well as communication and
leadership skills, are key.
|
Assignment Approaches |
If the project is large enough to warrant an architecture team, the goal is 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
need 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.
For smaller projects, a single person may act as both as this role and Role: Project Manager. However, if at all possible, it is better to have these roles
performed by separate people, in order to ensure that time pressure on one role doesn't cause the other role to be
neglected. If this approach is adopted, both individuals must make sure that they work closely together.
|
Key Considerations
This role should be engaged in the project from start to finish. |
Copyright (c) 1987, 2006 IBM Corp. and others. All Rights Reserved.
This program and the accompanying materials are made available under the
Eclipse Public License v1.0 which
accompanies this distribution.
|
|