<?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="-FrUmsKsGW4bnNmb9uaNOkg"
    name=",__ca5UBOMEduCNqgZdt_OaA" guid="-FrUmsKsGW4bnNmb9uaNOkg" changeDate="2007-07-11T08:08:57.015-0700"
    version="1.0.0">
  <mainDescription>&lt;p>&#xD;
    The purpose of this phase is to ensure that the software is ready for delivery to users.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    There are objectives for the Transition phase that help you to fine-tune functionality, performance, and overall&#xD;
    quality of the beta product from the end of the previous phase &lt;a class=&quot;elementlinkwithusertext&quot; href=&quot;./../../../openup/guidances/supportingmaterials/references_6CCF393.html#KRO03&quot; guid=&quot;_9ToeIB83Edqsvps02rpOOg&quot;>[KRO03]&lt;/a>:&#xD;
&lt;/p>&#xD;
&lt;ol>&#xD;
    &lt;li>&#xD;
        &lt;p>&#xD;
            &lt;b>Beta test to validate that user expectations are met.&lt;/b> This typically requires some fine-tuning&#xD;
            activities, such as bug-fixing and making enhancements for performance and usability.&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;p>&#xD;
            &lt;b>Achieve stakeholder concurrence that deployment is complete.&lt;/b> This may involve various levels&#xD;
            of tests for product acceptance, including formal and informal tests and beta tests.&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;p>&#xD;
            &lt;b>Improve future project performance through lessons learned.&lt;/b> Document lessons learned and&#xD;
            improve the process and tool environment for the project.&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
&lt;/ol>&#xD;
&lt;h4>&#xD;
    &lt;br />&#xD;
    Key considerations&lt;br />&#xD;
&lt;/h2>&#xD;
&lt;p>&#xD;
    The Transition phase can include running old and new systems in parallel, migrating data, training users, and adjusting&#xD;
    business processes.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The number of iterations in the Transition phase varies from one iteration (for a simple system requiring primarily&#xD;
    minor bug fixing) to many iterations (for a complex system involving adding features and performing activities) to&#xD;
    make the business transition from using the old system to using the new system.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    When the Transition phase objectives are met, the project is in a position to be closed. For some products, the end&#xD;
    of the current project lifecycle may coincide with the beginning of the next lifecycle, leading to the next generation&#xD;
    of the same product.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
