blob: d1d075209eb6404ba66a21b3418db6184c550410 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.5/uma.ecore"
xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmlns:rmc="http://www.ibm.com/rmc"
rmc:version="7.5.0" xmi:id="_Y6tLEKbXEdm9d-ircVOUCA"
name="architect,_0X9iEMlgEdmt3adZL5Dmdw" guid="_Y6tLEKbXEdm9d-ircVOUCA" changeDate="2008-10-14T14:08:08.003-0700"
version="1.0.0">
<mainDescription>&lt;p>&#xD;
The person in this role leads or coordinates the technical design of the system and has overall responsibility for&#xD;
facilitating the major technical decisions expressed as software architecture. This typically includes identifying and&#xD;
documenting the architecturally significant aspects of the system as views that describe requirements, design,&#xD;
implementation, and deployment.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
This role is also responsible for providing the rationale for these decisions, balancing the concerns of the various&#xD;
stakeholders, reducing technical risks, and ensuring that decisions are effectively communicated, validated, and&#xD;
followed.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
This role works closely with&amp;nbsp;project managers&amp;nbsp;in staffing and planning the project, because it is recommended&#xD;
that the team be organized around the architecture.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
This role also works closely with&amp;nbsp;analysts and developers&amp;nbsp;to make sure that the architecturally significant&#xD;
requirements are assigned to the proper components of the system.&amp;nbsp;&#xD;
&lt;/p></mainDescription>
<skills>&lt;p>&#xD;
Architects must be well-rounded people with maturity, vision, and a depth of experience that allows for grasping issues&#xD;
quickly and making educated, critical judgments in the absence of complete information. Specifically, the person must&#xD;
possess this combination of qualifications:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
&lt;b>Experience&lt;/b> &lt;strong>in both problem and software engineering domains&lt;/strong>, with evidence of a thorough&#xD;
understanding of the requirements to solve the problem and active participation in software development. If there&#xD;
is a team, this experience can be represented by different team members, but at least one person must be able to&#xD;
describe the overall vision for the project.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;b>Leadership ability&lt;/b> to motivate and maintain momentum for the technical effort across the various teams and&#xD;
to make critical decisions under pressure, plus make those decisions stick. To be effective, this role must have&#xD;
the authority to make technical decisions. This role cannot lead by decree, but only by the consent of the rest of&#xD;
the project team. To be effective, this&amp;nbsp;person must earn the respect of the team members, project managers,&#xD;
the customer, and the user community, as well as the management team.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;b>Excellent communication&lt;/b> &lt;strong>skills&lt;/strong> to earn trust, persuade, motivate, and mentor. The person in&#xD;
this role must have good communication skills, both verbally and in writing.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;b>Critical review skills&lt;/b> to make sure that the requirements to be built are clear and consistent and to make&#xD;
sure that the developed system adheres to the architecture.&amp;nbsp;&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;b>Goal-oriented and proactive&lt;/b> &lt;strong>orientation&lt;/strong> &lt;b>with a relentless focus on&#xD;
results.&amp;nbsp;&lt;/b>This person is the technical driving force behind the project, not a visionary or dreamer. The&#xD;
career of a successful architect is a long series of sub-optimal decisions made in uncertainty and under pressure.&#xD;
Only those who can focus on doing what needs to be done will be successful.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
From an expertise standpoint, the Architect also needs to show both design and implementation abilities. However, from&#xD;
the design perspective, the effective Architect typically exhibits these traits:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Tends to be a generalist, rather than a specialist, who knows many technologies at a high level rather than a few&#xD;
technologies at the detailed level&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Makes the broader technical decisions, thereby demonstrating broad knowledge and experience, as well as&#xD;
communication and leadership skills&#xD;
&lt;/li>&#xD;
&lt;/ul></skills>
<assignmentApproaches>&lt;p>&#xD;
The person in this role should be engaged in the project from start to finish.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
For smaller projects, a single person can act as both Architect and project manager. However, it is better to have&#xD;
these roles performed by different people to ensure that the pressures of one role does not cause neglect of the other&#xD;
role.&amp;nbsp;The Architect and Project Manager&amp;nbsp;must work together closely.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
For systems of scale, it is a common best practice to have an architecture board that is populated by the architects of&#xD;
each system, plus one or two chief architects.&amp;nbsp; In such cases, the members of the architecture board collectively&#xD;
play the role of the Architect.&#xD;
&lt;/p></assignmentApproaches>
</org.eclipse.epf.uma:RoleDescription>