<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-Y3SFEe-A-lRF8TaEn9vKNQ"
    name="new_role,_t1K9kPpYEdqsc-f87sBK8A" guid="-Y3SFEe-A-lRF8TaEn9vKNQ" authors="Claude Aubry"
    changeDate="2007-01-08T08:37:05.421-0800" version="1.0.0">
  <mainDescription>&lt;p>&#xD;
    During development, he's in charge of helping the team to work autonomously and constantly improve itself.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    To achieve that, he performs the following tasks:&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        periodical tasks,&amp;nbsp;their objective is the application of Scrum by organizing and animating the &lt;a&#xD;
        class=&quot;elementLink&quot; href=&quot;./../../Scrum/guidances/concepts/Travail%20collaboratif_8AECB83B.html&quot;&#xD;
        guid=&quot;_OUjj0AEZEduzRosbOajx7w&quot;>Collaborative work&lt;/a>&amp;nbsp;(meetings)&amp;nbsp;: &#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                Daily Scrum.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                Sprint planning&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                Sprint review&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                Retrospective&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Event tasks &#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                eliminitating impediments&amp;nbsp;: taking into consideration events occuring at any time on a project in&#xD;
                order to solve them as quickly as possible, while protecting the team from external distractions&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        background task &#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                Make sure the team stays focused on the original project goal, which is to develop backlog items in close&#xD;
                collaboration with the product owner, and stays productive.&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Analogies&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        The Scrum term comes from rugby. The half-scrum game position is the closest equivalent to the ScrumMaster role.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Ken Schwaber compares the ScrumMaster to a sheepdog.&#xD;
    &lt;/li>&#xD;
&lt;/ul></mainDescription>
  <keyConsiderations>&lt;ul>&#xD;
    &lt;li>&#xD;
        He is not a project leader &amp;nbsp;: he does not lead, nor oblige, neither constrain.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        He is part of the team: he shares responsability with the other team members.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        He must reguraly physically meet the other team members.&#xD;
    &lt;/li>&#xD;
&lt;/ul></keyConsiderations>
  <skills>&lt;p>&#xD;
    Expected Competencies and experience depend on size, and technical as well as management complexity. To play this role,&#xD;
    a person should have the following competencies:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        good knowledge of Scrum,&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        good presentation, communication and negociation skills,&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        guiding without obliging,&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        showing good men leadership and knowing how to motivate a team,&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        being a problem and conflict solver,&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        honestly commucatiing on work progress,&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        respecting the essential objective: to release a product fulfilling its requirements.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    However, it is not necessary to:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        have experience in the application domain (not essential, but can help),&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        have technical development competencies.&#xD;
    &lt;/li>&#xD;
&lt;/ul></skills>
  <assignmentApproaches>&lt;p>&#xD;
    for a typical Scrum team(6 to 10 persons) , a single person plays this role on a project.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The ScrumMaster can, eventually, participate to sprint tasks witht he other team members, but it needs to be limited.&#xD;
&lt;/p></assignmentApproaches>
  <synonyms>&lt;p>&#xD;
    Process facilitator. The ScrumMaster is sometimes defined as an Agile variation of the project leader, but this doesn't&#xD;
    help the understanding of the role.&#xD;
&lt;/p></synonyms>
</org.eclipse.epf.uma:RoleDescription>
