<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmi:id="-F-eWIBzxEXE1jygbN3nrrQ" name=",_2plxwBOMEduCNqgZdt_OaA" guid="-F-eWIBzxEXE1jygbN3nrrQ" changeDate="2007-07-11T16:50:47.734+0330" version="1.0.0">
  <mainDescription>&lt;p>&#xD;
    The purpose of this phase is to mitigate technical and non-technical risks. Technical risks are typically addressed by&#xD;
    establishing the baseline of an executable architecture of the system and providing a stable basis for the bulk of the&#xD;
    development effort in the next phase. Non-technical risks are addressed by delivering key capabilities in close&#xD;
    collaboration with stakeholders, allowing us to answer questions such as:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Does stakeholder A concur with the usage paradigm as implemented by the first delivered scenarios?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Can we leverage this open source component?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Can we acquire this commercial component?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Do we have personnel with the appropriate competency?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Have we validated that the team can collaborate effectively to deliver working software?&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    There are objectives for the Elaboration phase that help you address risks associated with requirements, architecture,&#xD;
    costs, and schedule, among others&amp;nbsp;&lt;a class=&quot;elementlinkwithusertext&quot;&#xD;
    href=&quot;./../../../openup/guidances/supportingmaterials/references.html#KRO03&quot;&#xD;
    guid=&quot;_9ToeIB83Edqsvps02rpOOg&quot;>[KRO03]&lt;/a>:&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;ol>&#xD;
    &lt;li>&#xD;
        &lt;p>&#xD;
            &lt;strong>Get a more detailed understanding of the requirements.&lt;/strong> Having a good understanding of the&#xD;
            majority of requirements allows you to create a more accurate plan and to get buy-in from stakeholders. Be sure&#xD;
            to gain an in-depth understanding of the most critical requirements to be validated by the architecture. This&#xD;
            does not mean that every use case needs to be detailed, but that you have detailed key use cases, and&#xD;
            understand remaining use cases well enough to size them.&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;p>&#xD;
            &lt;strong>Design, implement, validate, and establish the baseline for the architecture.&lt;/strong> Design,&#xD;
            implement, and test a skeleton structure of the system by designing, implementing, and testing a small number&#xD;
            of critical scenarios. Although the functionality is not complete yet, most of the interfaces between the&#xD;
            building blocks are implemented and tested, and the type of architecture and required architectural mechanisms&#xD;
            are identified. This result is referred&amp;nbsp;as &lt;strong>an executable architecture&lt;/strong>.&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;p>&#xD;
            &lt;strong>Mitigate essential risks, and produce accurate schedule and cost estimates.&lt;/strong> Many technical&#xD;
            risks are addressed as a result of detailing the requirements and of designing, implementing, and testing the&#xD;
            architecture. You may also have to address non-technical risks, such as legal and financial issues related to&#xD;
            usage of open source or commercial components. Refine and detail the high-level project plan.&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
&lt;/ol>&#xD;
&lt;h4>&#xD;
    Key considerations&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    The number of iterations in the Elaboration phase is dependent on, but not limited to, factors such as green-field&#xD;
    development versus maintenance cycle, unprecedented system versus well-known technology and architecture, and so on.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    A maintenance project may for example combine Inception and Elaboration into one iteration that may be only a few days&#xD;
    long, since the objectives of these phases can be rapidly addressed.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    A new unprecedented system may require several iterations to establish and baseline an executable architecture, and to&#xD;
    address all non-technical issues. For such a project, you start by designing, implementing, and testing a small number&#xD;
    of critical scenarios, in order to identify what type of architecture and architectural mechanisms you need. You also&#xD;
    detail high-risk requirements that have to be addressed early in the project. You test enough to validate that the&#xD;
    architectural risks are mitigated. In later Elaboration iterations, you fix whatever was not right from the previous&#xD;
    iteration, and design, implement, and test the remaining architecturally significant scenarios, ensuring that you check&#xD;
    all major areas of the system (architectural coverage), so potential hidden risks arise as early as possible.&lt;br />&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
