<?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:rmc="http://www.ibm.com/rmc" rmc:version="7.5.0" xmlns:epf="http://www.eclipse.org/epf"
    epf:version="1.5.0" xmi:id="-ENSD2TqUsFcf3Sf-oeozUA"
    name="retrospective,_2PfbIA4QEdy2q5zsU8WDnA" guid="-ENSD2TqUsFcf3Sf-oeozUA" changeDate="2008-09-30T12:05:27.060-0700"
    version="7.5.0">
  <mainDescription>&lt;p>&#xD;
    Retrospectives, as applied in software development, have historical roots in Project Retrospectives described as:&#xD;
&lt;/p>&#xD;
&lt;blockquote>&#xD;
    &quot;A ritual held &lt;b>at the end&lt;/b> of a project to learn from the experience and plan changes for the next effort.&quot; [&lt;a&#xD;
    class=&quot;elementLinkWithUserText&quot;&#xD;
    href=&quot;./../../../core.tech.common.base/guidances/supportingmaterials/references.tech_6CCF393.html#KER01&quot;&#xD;
    guid=&quot;_9ToeIB83Edqsvps02rpOOg&quot;>KER01&lt;/a>]&#xD;
&lt;/blockquote>&#xD;
&lt;p>&#xD;
    While Retrospectives conducted at the end of a project remain valuable, the spirit of Retrospectives should be imbued&#xD;
    across the project continuum, conducted at key project milestones:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        At the end of project iterations&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        After releases&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Immediately upon occurrences of key project incidents (significant unexpected events).&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    When the practice of Retrospectives is intimately intertwined with the processes of the project, the health of the team&#xD;
    is constantly monitored, the &quot;heartbeat&quot; of project progress is readily measured, and the team hones an awareness of&#xD;
    opportunities for improvement and increased productivity. A symbiotic relationship emerges between an evolutionary&#xD;
    development process and a Retrospective that supports the various methods of inspection and adaptation.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The iteration, incident, and project Retrospectives are designed, in part, to calibrate the team's progress with the&#xD;
    goals of the project. Several methods can be used to incite the Retrospective team to begin their collective&#xD;
    investigative work, such as posing the following three driving questions to the team:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &quot;What worked well for us during the past iteration (or project, and so on)?&quot;&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &quot;What did not work well for us during the past iteration (or project, and so on)?&quot;&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &quot;What should we do differently, or what improvements should we undertake during our next iteration (or project, and&#xD;
        so on)&quot;.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    The questions are expected to generate actions that will assist the team in prioritizing suggested improvements for the&#xD;
    project, to be implemented during the subsequent cycle. In addition to the aforementioned investigative questions, a&#xD;
    Retrospective should include steps that provide structure for the team's focus and resulting work.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    An effectively facilitated Retrospective will create an environment that is conducive to various practices of&#xD;
    inspection and adaptation. The methods of inspection and adaptation are project control mechanisms that assume, and&#xD;
    respond to, the existence of complexity, unpredictability, and constant change. Practiced in the context of a&#xD;
    Retrospective, the methods of inspection and adaptation produce a feedback loop from which flexibility, responsiveness,&#xD;
    and reliability are realized.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The mere execution of Retrospectives is insufficient without an organizational commitment to a collaborative culture.&#xD;
    The success of Retrospectives is directly proportional to, and necessarily contingent on, an environment that engenders&#xD;
    highly motivated and performing teams (not the individual), nurtures open and frequent communication, and provides a&#xD;
    thriving sense of dedication to the team community. Retrospectives embody the spirit of team collaboration and&#xD;
    self-reflection by offering an environment in which teams are encouraged to provide feedback and identify lessons&#xD;
    learned. The compositional aspects of the team are crucial in supporting the highly collaborative nature of&#xD;
    Retrospectives, enabling the team to produce insight(s) into improving the processes of the project.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
