<?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.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmi:id="-AJQLv2ldVv5KN9eUbdQe_g" name="new_guideline,_6jXzYNcKEdqz_d2XWoVt6Q" guid="-AJQLv2ldVv5KN9eUbdQe_g" changeDate="2007-07-23T22:58:34.641+0330" version="1.0.0">
  <mainDescription>&lt;p>&#xD;
    To write a good requirement, you must write it as a complete sentence, with a subject and a predicate. The&#xD;
    subject&amp;nbsp;is an Actor, a stakeholder, the system under development, or a design entity that is related to the&#xD;
    requirement. The predicate specifies an action or intended result that is done for, by, with, or to the subject, often&#xD;
    including conditions and performance criteria.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Thus, you can analyze a requirement from a grammatical point of view. For example:&#xD;
&lt;/p>&#xD;
&lt;blockquote>&#xD;
    &lt;p>&#xD;
        &lt;em>The order entry clerk&amp;nbsp;shall be able to complete 10 customer orders in less than two hours.&lt;/em>&#xD;
    &lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;p>&#xD;
    This requirement has a subject (the order entry clerk, who is an Actor), a specific and measurable end state (10&#xD;
    customer orders completed), and a performance criterion (in less than two hours).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    In stakeholder requirements, use of the verb form &quot;shall be able to&quot; makes it clear that the requirement&amp;nbsp;specifies&#xD;
    something that the stakeholder must be &lt;strong>able&lt;/strong> to do, but is not (necessarily) forced to do. In system&#xD;
    requirements, the verb form &quot;shall &amp;lt;action&amp;gt;&quot; makes it clear that the system must perform this action under the&#xD;
    specified conditions.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Numbered and bulleted lists may make writing clearer in some cases, but each list item must be a complete requirement&#xD;
    in itself to maximize the benefit of any traceability information.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Words such as &lt;strong>all&lt;/strong>, &lt;strong>every,&lt;/strong> and &lt;strong>some&lt;/strong> can lead to ambiguity. Can you be&#xD;
    certain that you have taken into account &lt;strong>all&lt;/strong> cases?&amp;nbsp; What proportion of the whole&amp;nbsp;does&#xD;
    &lt;strong>some&lt;/strong> represent?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The following simple guidelines will help you&amp;nbsp;write better requirements. For consistency, these examples are all&#xD;
    in the context of an aircraft. &lt;a class=&quot;elementlinkwithusertext&quot;&#xD;
    href=&quot;./../../../openup/guidances/supportingmaterials/references.html#TEL06&quot; guid=&quot;_9ToeIB83Edqsvps02rpOOg&quot;>[TEL06]&lt;/a>&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Define one requirement at a time. For example,&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>The pilot shall be able to control the aircraft's angle of climb with one hand.&lt;/em>&#xD;
        &lt;/p>&#xD;
        &lt;p>&#xD;
            &lt;em>The pilot shall be able to feel the angle of climb from the climb control.&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Avoid conjunctions (&lt;b>and&lt;/b>, &lt;b>or&lt;/b>) that make multiple requirements. For example, use:&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>The navigator shall be able to view the aircraft's position relative to the route's radio beacons.&lt;/em>&#xD;
        &lt;/p>&#xD;
        &lt;p>&#xD;
            &lt;em>The navigator shall be able to view the aircraft's position as estimated by inertial guidance.&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
    &lt;p>&#xD;
        instead of:&#xD;
    &lt;/p>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>The navigator shall be able to view the aircrafts position relative to the route's radio beacons or as&#xD;
            estimated by the inertial guidance.&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
    &lt;p>&#xD;
        The latter form&amp;nbsp;is potentially dangerous because it is not clear whether the &quot;or&quot;&amp;nbsp;indicates that the&#xD;
        navigator can chose which method to use for navigation or that the developers can decide which to implement.&#xD;
    &lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Avoid let-out clauses or words that imply options or exceptions (&lt;b>unless, except, if necessary, but&lt;/b>). These&#xD;
        are dangerous since it is difficult to determine when the requirement applies. It is better to write separate&#xD;
        requirements addressing each specific condition, or state of the system. For example, use:&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>The system shall provide 100% of rating in normal conditions.&lt;/em>&#xD;
        &lt;/p>&#xD;
        &lt;p>&#xD;
            &lt;em>The system shall be capable of providing&amp;nbsp;up to&amp;nbsp;125% of rating&amp;nbsp;for the first 15 minutes in&#xD;
            an&amp;nbsp;emergency condition.&lt;/em>&#xD;
        &lt;/p>&#xD;
        &lt;p>&#xD;
            &lt;em>The system shall provide a minimum of 90% of rating for not less than 15 minutes following first 15 minutes&#xD;
            in an emergency condition.&lt;/em>&#xD;
        &lt;/p>&#xD;
        &lt;p>&#xD;
            &lt;em>The system shall activate a reduced rating exception if a minimum of 95% of rating&amp;nbsp;is&#xD;
            not&amp;nbsp;maintained in an emergency condition.&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
    &lt;p>&#xD;
        instead of:&#xD;
    &lt;/p>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>The system shall perform at the maximum rating at all times &lt;strong>except&lt;/strong> that in emergencies it&#xD;
            shall be capable of providing up to 125% of rating &lt;strong>unless&lt;/strong> the emergency condition continues&#xD;
            for more than 15 minutes in which case the rating shall be reduced to 105% &lt;strong>but&lt;/strong> in the event&#xD;
            that only 95% can be achieved then the system shall activate a reduced rating exception and shall maintain the&#xD;
            rating within 10% of the stated values for a minimum of 30 minutes.&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Use simple, direct sentences.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>The pilot shall be able to see the airspeed indicator.&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Use simple, ordinary words as much as possible, especially if your audience is international, which makes accurate&#xD;
        translation a concern.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>The airline shall be able to convert the aircraft from business to holiday charter use in less than 12&#xD;
            hours.&lt;/em>&#xD;
        &lt;/p>&#xD;
        &lt;p>&#xD;
            &lt;strong>Note:&lt;/strong> There is no need to use words such as &lt;strong>reconfigured.&lt;/strong>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Identify the type of user who needs each requirement.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>The navigator shall be able to...&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Focus on stating what result you will provide for that type of user.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p>&#xD;
            &lt;em>...view storm clouds by radar...&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Define verifiable criteria&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote>&#xD;
        &lt;p>&#xD;
            &lt;em>...at least 100 miles ahead.&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul dir=&quot;ltr&quot;>&#xD;
    &lt;li>&#xD;
        &lt;div>&#xD;
            Use &lt;strong>To Be Confirmed&lt;/strong> (TBC) to flag a requirement is likely to change or is not yet definite.&#xD;
            This helps identify&amp;nbsp;outstanding work.&amp;nbsp;For example:&#xD;
        &lt;/div>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p dir=&quot;ltr&quot;>&#xD;
            &lt;em>The aircraft shall be able to land safely on airstrips with a minimum length of 1000 meters (TBC).&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul dir=&quot;ltr&quot;>&#xD;
    &lt;li>&#xD;
        &lt;div>&#xD;
            Use &lt;strong>To Be Determined&lt;/strong> (TBD) where it is known that a specific&amp;nbsp;requirement will be needed,&#xD;
            but the details are not yet know (known-unknowns). This also helps identify outstanding work. For example,&#xD;
        &lt;/div>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
    &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
        &lt;p dir=&quot;ltr&quot;>&#xD;
            &lt;em>The aircraft shall be able to land safely on airstrips with a minimum length of TBD meters.&lt;/em>&#xD;
        &lt;/p>&#xD;
    &lt;/blockquote>&#xD;
&lt;/blockquote></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
