<?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="-fCBrf_5JlrmuKgyrCaKGOA"
    name="requirement_attributes_1,_VQ268O0KEdqHTdbLTmC5IQ" guid="-fCBrf_5JlrmuKgyrCaKGOA"
    authors="Chris Sibbald" changeDate="2007-04-10T08:00:56.070-0700" version="0.2">
  <mainDescription>&lt;p>&#xD;
    Requirement Attributes are properties of a requirement. Attributes capture important additional information about a&#xD;
    requirement. This information can subsequently be used to answer queries about the status of the development project.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Examples of attributes&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    Below is a list of attributes typically used by small projects, along with a brief description of their meaning. Some&#xD;
    attributes are best described as a number, whilst other are best described as a date, a Boolean value (true or false),&#xD;
    or a freeform text field. Other attributes can be expressed as enumerated lists. For instance, Priority may have values&#xD;
    of High, Medium, or Low.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;strong>Priority&lt;/strong> - Statement of relative importance of the requirement to stakeholders (high, medium, low).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;strong>Assigned to&lt;/strong> - Who in the organization is responsible for making sure the requirement is met (person's&#xD;
    name or organizational name).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;strong>Target Iteration&lt;/strong> – The iteration in which the requirement is planned to be implemented (number or&#xD;
    text).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;strong>Estimation of Size&lt;/strong> - gives you a high-level estimate for the effort required to implement and verify&#xD;
    the requirement, typically measured using a neutral unit such as points. (See &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../openup/guidances/guidelines/agile_estimation_A4EF42B3.html&quot; guid=&quot;_CGHskBEdEdqY7JB6N6CW2w&quot;>Guideline: Agile Estimation&lt;/a>&amp;nbsp;for more information).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;strong>Effort Remaining&lt;/strong> – An estimate of the remaining effort to implement and verify the requirement&#xD;
    (hours).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;strong>Completion Status&lt;/strong> – The progress of implementing a requirement. This may be captured as an enumerated&#xD;
    list (Complete, Partially Completed, Not Started) or can be inferred from the Effort Remaining attribute.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    When these attributes are assigned values for each requirement, it becomes easy to answer typical queries about the&#xD;
    project such as:&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;p>&#xD;
        &lt;em>How many requirements are to be implemented in the current iteration?&lt;br />&#xD;
        &lt;/em> (Query the &lt;strong>Target Iteration&lt;/strong> attribute)&#xD;
    &lt;/p>&#xD;
    &lt;p>&#xD;
        &lt;em>What percentage of the high priority requirements&amp;nbsp;is currently implemented?&lt;br />&#xD;
        &lt;/em> (Query the &lt;strong>Completion Status&lt;/strong> and &lt;strong>Priority&lt;/strong> attributes)&#xD;
    &lt;/p>&#xD;
    &lt;p>&#xD;
        &lt;em>How many requirements assigned to the current iteration remain unimplemented?&lt;br />&#xD;
        &lt;/em> (Query the &lt;strong>Target Iteration&lt;/strong> and &lt;strong>Completion Status&lt;/strong> attributes)&#xD;
    &lt;/p>&#xD;
    &lt;p>&#xD;
        &lt;em>Which requirements are assigned to me?&lt;br />&#xD;
        &lt;/em> (Query the &lt;strong>Assigned To&lt;/strong> attribute)&lt;br />&#xD;
    &lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;p>&#xD;
    Examples of other useful requirements attributes include:&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;p>&#xD;
        &lt;strong>Source&lt;/strong> - Person, document or other origin of a given requirement. This is useful for determining&#xD;
        whom to call for questions or for grouping requirements according to the person making the demands.&#xD;
    &lt;/p>&#xD;
    &lt;p>&#xD;
        &lt;strong>Comments&lt;/strong> - Reviewer's or writer's comments on a requirement.&#xD;
    &lt;/p>&#xD;
    &lt;p>&#xD;
        &lt;strong>Difficulty&lt;/strong> - An indication of the level of effort needed or how hard it will be to implement the&#xD;
        requirement (high, medium, low).&#xD;
    &lt;/p>&#xD;
    &lt;p>&#xD;
        &lt;strong>Risk&lt;/strong> - Confidence measure on the likelihood of meeting (or not meeting) a requirement. Could be&#xD;
        high, medium, low or the integers one through ten.&#xD;
    &lt;/p>&#xD;
    &lt;p>&#xD;
        &lt;strong>Test ID&lt;/strong> - Identification of a specific test or other method of verification.&#xD;
    &lt;/p>&#xD;
&lt;/blockquote></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
