blob: faffcd13fc6f09e116e3b97aca3976fa5bc20167 [file] [log] [blame]
<?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.5/uma.ecore"
xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="-F-eWIBzxEXE1jygbN3nrrQ"
name=",_2plxwBOMEduCNqgZdt_OaA" guid="-F-eWIBzxEXE1jygbN3nrrQ" changeDate="2007-07-11T06:20:47.734-0700"
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>