<?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" xmi:id="_Y6tLEKbXEdm9d-ircVOUCA"
    name="architect,_0X9iEMlgEdmt3adZL5Dmdw" guid="_Y6tLEKbXEdm9d-ircVOUCA" changeDate="2007-03-02T10:46:47.447-0800"
    version="1.0.0">
  <mainDescription>&lt;p>&#xD;
    This role leads or coordinates the technical design of the system and has overall responsibility for facilitating the&#xD;
    major technical decisions expressed as software architecture. This typically includes identifying and documenting the&#xD;
    architecturally significant aspects of the system as views that describe requirements, design, implementation, and&#xD;
    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 is closely involved in organizing the team around the architecture by working closely with the&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/project_manager_E657F936.html&quot; guid=&quot;_0a0o0MlgEdmt3adZL5Dmdw&quot;>Project Manager&lt;/a>&amp;nbsp;in staffing and planning the project.&#xD;
&lt;/p></mainDescription>
  <keyConsiderations>This role&amp;nbsp;places emphasis on the core principle &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/guidances/concepts/core_principle_focus_346C6FAF.html&quot; guid=&quot;_9gocwMvoEdqukPpotm3DYg&quot;>Focus on the architecture early to minimize risks and organize development&lt;/a>.</keyConsiderations>
  <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;
        provide 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.&#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. This role&#xD;
        cannot lead by decree, but only by the consent of the rest of the project team. To be effective, this&amp;nbsp;person&#xD;
        must earn the respect of the team members, the &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/project_manager_E657F936.html&quot; guid=&quot;_0a0o0MlgEdmt3adZL5Dmdw&quot;>Project Manager&lt;/a>, the customer, and the user community, as well as the management&#xD;
        team.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;b>Goal-oriented and proactive&lt;/b> &lt;strong>orientation&lt;/strong> with a relentless focus on results.&amp;nbsp;This&#xD;
        person is the technical driving force behind the project, not a visionary or dreamer. The career of a successful&#xD;
        architect is a long series of sub-optimal decisions made in uncertainty and under pressure. Only those who can&#xD;
        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, this role also needs to show both design and implementation abilities. However, from the&#xD;
    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 detail 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;
    This 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 may act as both Architect and &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/project_manager_E657F936.html&quot; guid=&quot;_0a0o0MlgEdmt3adZL5Dmdw&quot;>Project Manager&lt;/a>. However, it is better to have these roles performed by different people to ensure that the pressures one&#xD;
    role doesn't cause neglect of the other role.&amp;nbsp;The Architect and Project Manager&amp;nbsp;must work together closely.&#xD;
&lt;/p></assignmentApproaches>
</org.eclipse.epf.uma:RoleDescription>
