<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:PracticeDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmi:id="-J8H_fSsJx2Au1sebs1zyCg" name="new_practice,_w1JD4B4jEd2bS8fFOQ7WWA" guid="-J8H_fSsJx2Au1sebs1zyCg" changeDate="2010-09-01T08:38:21.000-0700" version="7.5.0">
  <additionalInfo>&lt;h3>&#xD;
    Books and Articles&lt;br />&#xD;
    &lt;br />&#xD;
&lt;/h3>&#xD;
&lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
    &lt;tbody>&#xD;
        &lt;tr>&#xD;
            &lt;td colspan=&quot;2&quot;>&#xD;
                Kurt Bittner and Ian Spence 2003. &lt;i>Use Case Modeling.&lt;/i> Addison Wesley Longman.&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td width=&quot;10%&quot;>&#xD;
            &lt;/td>&#xD;
            &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
                Comprehensive coverage of use case techniques and practices, including useful examples showing how use-case&#xD;
                specifications evolve over time.&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td colspan=&quot;2&quot;>&#xD;
                Alistair Cockburn 2001. &lt;i>Writing Effective Use Cases.&lt;/i> Addison Wesley Longman.&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td width=&quot;10%&quot;>&#xD;
            &lt;/td>&#xD;
            &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
                Excellent guidance for those who need to write use cases. Multiple styles and techniques contrasted with&#xD;
                insight in an unbiased way. Many helpful tips to improve your use cases.&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
    &lt;/tbody>&#xD;
&lt;/table></additionalInfo>
  <problem>&lt;p>&#xD;
    Many organizations document requirements as a list of declarative statements (or &quot;shall&quot; statements) that lead the team&#xD;
    to focus on developing atomic functions and fine-grained assertions of need. Moreover, applications developed from such&#xD;
    requirements are often difficult to use and require more time for integration and testing than applications developed&#xD;
    using user-focused requirements.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    A second, more serious organizational anti-pattern is no focus on requirements at all. Many organizations simply fail&#xD;
    to document requirements, leaving it to developers to discern from a perhaps vague vision document, or even nothing&#xD;
    more than a meeting or conversation, what the application or system to be developed must do.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    This practice shows how to avoid these pitfalls by using use cases and scenarios to capture functional requirements.&#xD;
    That approach provides development scenarios that clearly express behavior (or the interaction between users and the&#xD;
    system under development). Use cases categorize valuable and useful end-to-end, testable and collaborative behavior in&#xD;
    which the system is involved. Non-functional requirements (such as performance, stability, usability, and so on) can&#xD;
    still be captured using traditional techniques. This practice also explains how use cases and scenarios are best&#xD;
    developed in conjunction with (and used to drive) other development activities, including design and&#xD;
    testing.&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p></problem>
  <application>&lt;p>&#xD;
    The best way to review a practice is to familiarize yourself with the enablement materials, and then review key&#xD;
    concepts, work products, tasks, and the more detailed guidance, either by reviewing the guidance category directly, or&#xD;
    by navigating from tasks and work products to their related guidance.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    You might first want to become familiar with general requirements concepts:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/requirements_8006414F.html&quot;&#xD;
        guid=&quot;_0Wh-sMlgEdmt3adZL5Dmdw&quot;>Requirements&lt;/a>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Then become familiar with use cases:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/use_case_BB199D1B.html&quot;&#xD;
        guid=&quot;_KudM0NcJEdqz_d2XWoVt6Q&quot;>Use Case&lt;/a>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/actor_411726C.html&quot;&#xD;
        guid=&quot;_zGqO0MDpEduTGJ8i4u8TMw&quot;>Actor&lt;/a>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot;&#xD;
        href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/use_case_model_CD178AF9.html&quot;&#xD;
        guid=&quot;_2jyfUAhVEduRe8TeoBmuGg&quot;>Use-Case Model&lt;/a>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    This practice focuses on the following work products:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.tech.common.extend_supp/workproducts/use_case_22BE66E2.html&quot;&#xD;
        guid=&quot;_0VGbUMlgEdmt3adZL5Dmdw&quot;>Use Case&lt;/a>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;a class=&quot;elementLink&quot;&#xD;
        href=&quot;./../../../core.tech.common.extend_supp/workproducts/system_wide_requirements_7D9DD47C.html&quot;&#xD;
        guid=&quot;_BVh9cL-CEdqb7N6KIeDL8Q&quot;>System-Wide Requirements&lt;/a>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Both work products go through similar states: they are identified and outlined, which allows them to be prioritized,&#xD;
    and then detailed. However, in general, a use case is detailed a scenario at a time. This is particularly important&#xD;
    when following an iterative approach, where a scenario is detailed &quot;just in time&quot; to be implemented, as opposed to the&#xD;
    approach of detailing all or most requirements up front.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Be also familiar with the tasks that drive the states above. In addition, guidelines and tool mentors associated with&#xD;
    each task provide details of how to perform the task.&amp;nbsp;Templates and checklists associated with the work products&#xD;
    guide you in their completion and evaluation.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Measurements can guide you on assessing how well you are following this practice.&#xD;
&lt;/p></application>
</org.eclipse.epf.uma:PracticeDescription>
