<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<!-- VERSION rmc:7.1.0 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- START NON-TRANSLATABLE -->
<title>\xp\tasks\explain_process.xmi</title>
</head>
<!-- WARNING: do not modify the generated comments in this file below this line.  They are used as markers for the import process. -->
<body>
Element Name: explain_process.xmi<br/><br/>
<!-- END NON-TRANSLATABLE -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: presentationName<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:presentationName,{1FA31F30-1F90-4BD3-9F0D-57DF66FC6727} CRC: 1703319097 -->Explain Process<!-- END:presentationName,{1FA31F30-1F90-4BD3-9F0D-57DF66FC6727} -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: purpose<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:purpose,-I3yOxhkbTu3OCbzQ0sUsyA CRC: 3416146582 --><a id="XE_explain_process__activity_definition" name="XE_explain_process__activity_definition"></a>
<ul>
    <li>
        Make sure the team has a common understanding of the fundamentals.
    </li>
</ul><!-- END:purpose,-I3yOxhkbTu3OCbzQ0sUsyA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_oNuxsGE-EdqnIZeW8YpHcA CRC: 2265408975 --> General <!-- END:name,_oNuxsGE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_oNuxsGE-EdqnIZeW8YpHcA CRC: 241691899 --><a id="Prep" name="Prep"></a> 
<p>
    As a team begins to use the <a class="elementLink"
    href="./../../xp/guidances/concepts/xp_practices,2.2937799026801584E-305.html" guid="2.2937799026801584E-305">XP
    Practices</a>, the coach must prepare the team to use the practices effectively.
</p>
<p>
    This includes the following:
</p>
<ul>
    <li>
        Teach the team about XP and ensure that the team has a common understanding of the practices.
    </li>
    <li>
        Facilitate the team's decision as to how aggressively the transition to the new practices will be.
    </li>
    <li>
        Facilitate a team activity to identify what obstacles they will face in using the practices effectively. Ensure
        that the team has a plan to overcome those obstacles.
    </li>
    <li>
        Facilitate a team activity to identify what constraints will require adaptation of the practices. Ensure that these
        adaptations are understood by the <a class="elementLink"
        href="./../../xp/guidances/concepts/whole_team,7.89591827591278E-306.html" guid="7.89591827591278E-306">Whole
        Team</a>.
    </li>
</ul>
<p>
    Because there are many roles in the team, a coach needs to have a good understanding of the all different activities in
    the process. In some cases, there might be more than one coach on a team to address needs. There might be a coach for
    the developer team and one for the customer team, for example.
</p>
<p>
    Use external expertise as necessary to ensure the team starts with a strong base of knowledge on which to succeed.
</p><!-- END:sectionDescription,_oNuxsGE-EdqnIZeW8YpHcA -->
</body>
</html>
