<?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="-Cn1EflOAHbfuEjRZeLMyzA"
    name="new_guideline,_FekBAC4IEdyhZrtGEIITGQ" guid="-Cn1EflOAHbfuEjRZeLMyzA" changeDate="2007-07-17T10:47:53.132-0700">
  <mainDescription>&lt;h3>&#xD;
    Practice&#xD;
&lt;/h3>An iteration assessment is a short meeting (up to 4 hours) involving the team and stakeholders that uses the solution&#xD;
increment as the focal point for brainstorming and to consider what functionality might be added in the next Iteration. It&#xD;
is a low ceremony meeting so the team should not waste too much time preparing the demo and formal presentations.&#xD;
Preparations can, instead, be focused on making the demo fast-paced and thinking about a good story to present the&#xD;
scenarios planned for the demo [&lt;a class=&quot;elementLinkWithUserText&quot;&#xD;
href=&quot;./../../../openup/guidances/supportingmaterials/references.html#STZ07&quot;&#xD;
guid=&quot;_9ToeIB83Edqsvps02rpOOg&quot;>STZ07&lt;/a>].&lt;br />&#xD;
&lt;br />&#xD;
The team should start the meeting by reviewing the iteration goal before presenting&amp;nbsp;the functionality. The demo should&#xD;
be kept at a business-oriented level, leaving out the technical details. It should be focused on what was&#xD;
accomplished&amp;nbsp;rather than how it was done. If possible, the audience should try to use the product. Minor bug fixes and&#xD;
trivial features should not be demonstrated, just mentioned, because the audience&amp;nbsp;may lose focus on more important&#xD;
scenarios. Functionality that isn't &lt;span style=&quot;BACKGROUND-COLOR: rgb(255,255,255)&quot;>really done (acceptance&#xD;
tested)&lt;/span>&amp;nbsp;should not&amp;nbsp;be presented. &lt;br />&#xD;
&lt;br />&#xD;
Team members present the system functionality and answer stakeholder questions. They also record changes, missing&#xD;
functionality and&amp;nbsp;ideas for new features in the work item list. At the end of the presentation, the stakeholders are&#xD;
asked for their impressions and the priority of the changes. The potential rearrangement of the work items list is&#xD;
discussed with the team. Other points of discussion may include:&lt;br />&#xD;
&lt;br />&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Were the defined goals and objectives met? Did the release meet its functionality and quality goals? Did the&#xD;
        release meet performance and capacity goals?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Were risks reduced or eliminated?&amp;nbsp;Were new risks&amp;nbsp;identified?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Were all planned work items addressed? What was the team's velocity relative to plan?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Did the end-users provide favorable feedback on what was built in this iteration?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Are any changes to the project plan required?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        What portion of the current release will be baselined? What portion will need to be reworked?&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Have there been external changes such as changes in the marketplace, in the user community, or in the requirements,&#xD;
        that will affect the project plan?&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Stakeholders and the team may also agree that there is sufficient functionality in the system to provide immediate&#xD;
    business value and they may decide to put the solution into production. In that case, discuss what deployment-related&#xD;
    work items should be added to the work items list. For more information see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
    href=&quot;./../../../openup/guidances/guidelines/deployment.html&quot; guid=&quot;_yYlQoC3xEdycYKq0PulnEQ&quot;>Guideline: Deploying the&#xD;
    Solution&lt;/a>.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Value&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    The Iteration Assessment provides an opportunity for everybody to learn about the solution being built and obtain vital&#xD;
    feedback from stakeholders. It also forces the team to actually finish work and release it.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
