| <?xml version="1.0" encoding="UTF-8"?> |
| <org.eclipse.epf.uma:TaskDescription 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="-QyQxGy-JR3YceDG_VUN5aw" |
| name="execute_rule_discovery_roadmap,_sruW3AjqEdyj5bYZ0eCR5g" guid="-QyQxGy-JR3YceDG_VUN5aw" |
| authors="Jerome Boyer" changeDate="2008-09-05T09:39:11.467-0700" version="1.0.0"> |
| <mainDescription><p>
 |
| Rule elicitation is an ongoing activity you perform throughout the project. Collaboration with your stakeholders is
 |
| critical. They will change their minds as the project proceeds and that’s perfectly fine.
 |
| </p>
 |
| <p>
 |
| The documentation of the rule may be done using different language. The natural language is initially used during
 |
| business conversations to describe the rule, informally, without trying to impose any structure. SMEs express their
 |
| ideas using a language very close to them, but they usually are not able to formalize their concepts in a clear and
 |
| unambiguous way. Using this language we may have redundancy and inconstancy in the rule ex-pression, in the business
 |
| terms, and overall by it may not be relevant and precise enough to be able to implement the decision logic.
 |
| </p>
 |
| <p>
 |
| Conceptualization and representation play fundamental roles in thinking, communicating, and modeling.
 |
| </p>
 |
| <p>
 |
| A second evolution is still in natural language, and is still consumable by both analysts and developers, but, we have
 |
| imposed some structure, and we made sure that they are relevant and have the right form, but may not be correct
 |
| semantically. We use the rule description template to log the rule.
 |
| </p>
 |
| <p>
 |
| The last type of expressiveness of the language to document the rule is precise and there are no ambiguities: the rule
 |
| refers exactly to information system objects. This language is parsable and non-ambiguous. Semantics of Business
 |
| Vocabulary and Business Rules or SBVR from Object Management Group can be used at this stage to specify formally
 |
| representations of concepts, definitions, instances, and rules&nbsp;in natural language.
 |
| </p></mainDescription> |
| <sections xmi:id="_sruW4QjqEdyj5bYZ0eCR5g" name="Discover rule from Subject Matter Expert" |
| guid="_sruW4QjqEdyj5bYZ0eCR5g"> |
| <sectionDescription>Discover rules from Subject Matter Expert using workshop sessions. There are two types of interactions: interviews and
 |
| analysis workshop. For interview the typical number of people in the same room is around two or three. Workshop implies a
 |
| bigger logistic with six to ten persons involved.<span style="mso-bidi-language: HE">The requirements workshop is perhaps
 |
| the most powerful technique for eliciting requirements. It gathers all key stakeholders together for a short but intensely
 |
| focused period. The use of an outside facilitator experienced in requirements management can ensure the success of the
 |
| workshop. Brainstorming is the most efficient techniques used during the sessions.</span></sectionDescription> |
| </sections> |
| <sections xmi:id="_sruW4AjqEdyj5bYZ0eCR5g" name="Discover rule from documentation" |
| guid="_sruW4AjqEdyj5bYZ0eCR5g"> |
| <sectionDescription><p>
 |
| Discover rules from legal document or from policies description. When using electronic document annotate it on anything
 |
| that needs some future discussion, copy and paste the business policy to the rule template to clearly isolate it for
 |
| future analysis.
 |
| </p>
 |
| <p>
 |
| <span
 |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">One
 |
| risk with this approach is that the reader is making his own interpretation of the context, the document may not
 |
| include all the cases and rules, it is some time difficult to get some of the business motivation.</span>
 |
| </p>
 |
| <p>
 |
| So we recommend a strong discipline to be able to achieve the following goal:
 |
| </p>
 |
| <ul>
 |
| <li>
 |
| Get an exhaustive list of the business events under scope: log them in a table
 |
| </li>
 |
| <li>
 |
| Get the activities, tasks, processes that support the processing of those business events
 |
| </li>
 |
| <li>
 |
| Get the business motivation behind the rules
 |
| </li>
 |
| <li>
 |
| Get explanation on rule if they are unclear, ambiguous.
 |
| </li>
 |
| <li>
 |
| Try to extract the object model under scope, domain values
 |
| </li>
 |
| </ul></sectionDescription> |
| </sections> |
| <sections xmi:id="_sruW3gjqEdyj5bYZ0eCR5g" name="Discover rule from code" guid="_sruW3gjqEdyj5bYZ0eCR5g"> |
| <sectionDescription><p class="MsoNormal" style="MARGIN: 3pt 0cm">
 |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Discover rules from current application code.
 |
| This elicitation method is time consuming and does not lead to great results. The analyst needs to study a lot of line
 |
| of codes, and procedures (most of the time in old computer language) to find some if statement that are linked to
 |
| business decision. Depending of the design and code structure of the application this work can take time. It is
 |
| important to do not forget the context of execution of the application when the if statement is executed, some
 |
| variables have can be set that may change the implemented "business rules". The different variable names set for a
 |
| concept may lead to difficulties to understand a rule.</span>
 |
| </p>
 |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm">
 |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Code mining tools exist on the market which help
 |
| to extract if statement and the variables meaning. It is important to keep in mind that rule written in the past may
 |
| not be relevant any more.</span>
 |
| </p></sectionDescription> |
| </sections> |
| <sections xmi:id="_sruW3QjqEdyj5bYZ0eCR5g" name="Document the business rules with some first level of meta data" |
| guid="_sruW3QjqEdyj5bYZ0eCR5g"> |
| <sectionDescription><p>
 |
| Use template for writing rule description during the discovery phase.
 |
| </p>
 |
| <p>
 |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span
 |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial; mso-bidi-font-weight: bold">To document the rule try to
 |
| use the language of the business ("problem domain") rather than the language of the technology ("solution
 |
| domain")</span></span>
 |
| </p>
 |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; tab-stops: 54.0pt">
 |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">The following rule is as stated by a business
 |
| user in a car rental industry:</span>
 |
| </p>
 |
| <div
 |
| style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 3pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; MARGIN-LEFT: 36pt; BORDER-LEFT: gray 1.5pt solid; MARGIN-RIGHT: 0cm; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-element: para-border-div">
 |
| <p class="ISISCodeParagraph" style="BACKGROUND: #f3f3f3; MARGIN: 6pt 0cm; mso-add-space: auto">
 |
| <font face="Courier">“Each driver authorized to drive a car of group K must be over 29”</font>
 |
| </p>
 |
| </div><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" />
 |
| <br />
 |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
 |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A rule developer may better think to document the
 |
| rule as</span>
 |
| </p>
 |
| <div
 |
| style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 3pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; MARGIN-LEFT: 36pt; BORDER-LEFT: gray 1.5pt solid; MARGIN-RIGHT: 0cm; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-element: para-border-div">
 |
| <p class="ISISCodeParagraph" style="BACKGROUND: #f3f3f3; MARGIN: 6pt 0cm; mso-add-space: auto">
 |
| <font face="Courier">If the age of the driver is less than 29 and the requested group of the reservation is K,
 |
| modify the authorized attribute of the driver accordingly</font>
 |
| </p>
 |
| </div></sectionDescription> |
| </sections> |
| <purpose>Discover the business rules from the different sources</purpose> |
| </org.eclipse.epf.uma:TaskDescription> |