<?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="-zJrrd5jHHhFAcnOJTOW4rQ"
    name="cycle_approach,_ftAoIAjrEdyj5bYZ0eCR5g" guid="-zJrrd5jHHhFAcnOJTOW4rQ" authors="Jerome Boyer"
    changeDate="2008-01-31T13:54:35.882-0800" version="1.0.0">
  <copyrightStatement href="uma://_NFyDwAjqEdyj5bYZ0eCR5g#_hRkAkAjqEdyj5bYZ0eCR5g"/>
  <mainDescription>&lt;a id=&quot;XE_rules_development__cycle_approach&quot; name=&quot;XE_rules_development__cycle_approach&quot;>&lt;/a> &#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    The Agile Business Rule&amp;nbsp;Development methodology&amp;nbsp;details all the different activities the project team may&#xD;
    need to follow to develop a business rule application. Starting from&amp;nbsp;from rule discovery to rule set deployment&#xD;
    and maintenance, this method helps to develop rule set using an agile, iterative approach. We can group the set of&#xD;
    activities into five groups. Those groups&amp;nbsp;are used to build an iterative&amp;nbsp;development of each rule set and&#xD;
    decision service:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;div class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
            &lt;a href=&quot;./../../../abrd/disciplines/rule_discovery_FA7BDF5F.html&quot; guid=&quot;_jfdmsAsHEdyPCr4G1Tb79A&quot;>Rule&#xD;
            Discovery&lt;/a>&#xD;
        &lt;/div>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;div class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
            &lt;a href=&quot;./../../../abrd/disciplines/rule_analysis_443FDB7.html&quot; guid=&quot;_lT6WEBDJEdyJtJ3PbfdVDw&quot;>Rule&#xD;
            Analysis&lt;/a>&#xD;
        &lt;/div>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;div class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
            &lt;a href=&quot;./../../../abrd/disciplines/rule_authoring_954E2047.html&quot; guid=&quot;_qO63gBDJEdyJtJ3PbfdVDw&quot;>Rule&#xD;
            Authoring&lt;/a>&#xD;
        &lt;/div>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;div class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
            &lt;a href=&quot;./../../../abrd/disciplines/rule_validation_EE8F93A2.html&quot; guid=&quot;_trBK8BDJEdyJtJ3PbfdVDw&quot;>Rule&#xD;
            Validation&lt;/a>&#xD;
        &lt;/div>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;div class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
            &lt;a class=&quot;elementLink&quot; href=&quot;./../../../abrd/disciplines/rule_deployment_97D5B5DE.html&quot;&#xD;
            guid=&quot;_5yUT8BDJEdyJtJ3PbfdVDw&quot;>Rule Deployment&lt;/a>&lt;a&#xD;
            href=&quot;./../../../abrd/disciplines/rule_validation_EE8F93A2.html&quot; guid=&quot;_trBK8BDJEdyJtJ3PbfdVDw&quot;>&lt;/a>&#xD;
        &lt;/div>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    The following diagram represents&amp;nbsp;how&amp;nbsp;the five groups of activities can be executed in a process flow&#xD;
    using&amp;nbsp;loops to implement short iterations. The rule set will grow following these cycles to get closer to the&#xD;
    outcome expected by the business.&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;img style=&quot;WIDTH: 704px; HEIGHT: 207px&quot; height=&quot;193&quot; alt=&quot;&quot; src=&quot;./resources/life_cycle_horizontal.bmp&quot; width=&quot;710&quot; />&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>In&#xD;
    the first loop, between Discovery and Analysis, the team harvests the rules from the business process description, the&#xD;
    subject matter expert knowledge or any other source. This loop represents the first phase of the rule set&#xD;
    construction&lt;/span>.&lt;br />&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;strong>&lt;a class=&quot;elementLink&quot; href=&quot;./../../../abrd/deliveryprocesses/Cycle%201-%20Harvesting_93DF97D7.html&quot;&#xD;
    guid=&quot;_6I7r4RDDEdyJtJ3PbfdVDw&quot;>Cycle 1- Harvesting&lt;/a>:&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    A first phase includes a short time period&amp;nbsp;where the development team splits the day into two parts, executing&#xD;
    discovery workshop in the morning (2 or 3-hour sessions), then performing some analysis and documentation for the&#xD;
    remaining of the day. The team iterates on these two steps during 2 to 5 days maximum, depending on the number of rules&#xD;
    and their complexity.&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>The&#xD;
    goal is to document just enough rules to be able to start the implementation. In addition, this phase aims at&#xD;
    understanding the object model within the scope of the application and to identify and extract some rule&#xD;
    patterns&lt;/span>.&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &amp;nbsp;&lt;img height=&quot;222&quot; alt=&quot;&quot; src=&quot;./resources/cycle1.bmp&quot; width=&quot;242&quot; />&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
    &lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>The&#xD;
    starting point of the Rule Discovery is the&lt;/span> &lt;em>&lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; COLOR: #003399; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US&quot;>&lt;a&#xD;
     class=&quot;elementLink&quot; href=&quot;./../../../abrd/guidances/templates/decision_point_table_AB877257.html&quot;&#xD;
    guid=&quot;_kRoWgBDFEdyJtJ3PbfdVDw&quot;>Decision Point Table&lt;/a>&lt;/span>&lt;/em>&lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>:&amp;nbsp;&#xD;
    During the &lt;a class=&quot;elementLink&quot; href=&quot;./../../../openup/guidances/concepts/inception_phase_C4456871.html&quot;&#xD;
    guid=&quot;_0hmKgBOMEduCNqgZdt_OaA&quot;>Inception Phase&lt;/a>&amp;nbsp;(See OpenUP for more information)&amp;nbsp;the project team is&#xD;
    doing business modeling activities (not covered here) which aim at describing the business process and decisions&#xD;
    applied to the &lt;a class=&quot;elementLink&quot; href=&quot;./../../../abrd/guidances/termdefinitions/business_event_559AC1D5.html&quot;&#xD;
    guid=&quot;_4xo4Sgp1EdyPCr4G1Tb79A&quot;>business event&lt;/a>&amp;nbsp;corresponding to the scope of the business application.&amp;nbsp;One&#xD;
    important work product built during&amp;nbsp;this modeling phase is the&amp;nbsp;&lt;/span>&lt;em>&lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; COLOR: #003399; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US&quot;>&lt;span&#xD;
     style=&quot;FONT-SIZE: 10pt; COLOR: #003399; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US&quot;>&lt;a&#xD;
     class=&quot;elementLink&quot; href=&quot;./../../../abrd/guidances/templates/decision_point_table_AB877257.html&quot;&#xD;
    guid=&quot;_kRoWgBDFEdyJtJ3PbfdVDw&quot;>Decision Point Table&lt;/a>&lt;/span>&lt;/span>&lt;/em>&lt;em>&lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>&amp;nbsp;&lt;/span>&lt;/em>&lt;span&#xD;
     style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>which&#xD;
    describes the point in the process (task, activities, transition) where there is a lot of decision points involved&#xD;
    (test conditions and actions). These decision points represent potential candidate for rule sets&lt;/span>&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;br />&#xD;
    &lt;strong>&lt;a class=&quot;elementLink&quot; href=&quot;./../../../abrd/deliveryprocesses/Cycle%202-%20Prototyping_CF177184.html&quot;&#xD;
    guid=&quot;_Jd4pYTzGEdyA6a_I80swHw&quot;>Cycle 2- Prototyping&lt;/a>&lt;/strong>:&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    Once a certain level of discovery progress is done, the development team should be able to define the structure of the&#xD;
    rule project: the rule set parameters (input-output business objects), the basic sequencing of the rules, also called&#xD;
    &lt;i style=&quot;mso-bidi-font-style: normal&quot;>&lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../abrd/guidances/termdefinitions/ruleflow_27B05442.html&quot;&#xD;
    guid=&quot;__2sZYBCWEdyJtJ3PbfdVDw&quot;>ruleflow&lt;/a>&lt;/i>, and the first major elements of the &lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../abrd/guidances/templates/bom_6D3FB2B2.html&quot; guid=&quot;_sruW0gjqEdyj5bYZ0eCR5g&quot;>Business Object Model&lt;/a>.&#xD;
    The team then should be able to already implement some rules.&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    The idea is to execute the step “Rule Authoring” as soon as possible to uncover possible analysis and design issues.&#xD;
    Indeed, most of the rules look good on paper but real issues arise most of the time during implementation and test. The&#xD;
    next morning workshop session communicates the issues back to the business team. This leverages the feedback loop&#xD;
    approach and provides an efficient mechanism to build a pragmatic, adequate and business-relevant executable rule&#xD;
    set.&lt;span style=&quot;mso-spacerun: yes&quot;>&amp;nbsp;&lt;/span>&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    .&amp;nbsp;&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &amp;nbsp;&lt;img height=&quot;239&quot; alt=&quot;&quot; src=&quot;./resources/cycle2.bmp&quot; width=&quot;330&quot; />&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    The second phase still does discovery and analysis, to complete the rule harvesting.&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;strong>&lt;a class=&quot;elementLink&quot; href=&quot;./../../../abrd/deliveryprocesses/Cycle%203-%20Building_6DDB6C06.html&quot;&#xD;
    guid=&quot;_Qo-YUUXgEdy14e5PT9v3HQ&quot;>Cycle 3- Building&lt;/a>&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    From our experience based on hundreds of successful implementations of decision-support systems, executable rules are&#xD;
    more important than the ones defined on paper or in requirement tracking tools in a non-executable form.&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>This&#xD;
    agile statement is at the core of this cycle. Based on a Test-Driven Development (TDD) approach the goal of this phase&#xD;
    is to implement a set of test scenarios with real or close to real data, to test the rules within their corresponding&#xD;
    rule sets and their targeted execution context&lt;/span>.&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &amp;nbsp;&lt;img height=&quot;240&quot; alt=&quot;&quot; src=&quot;./resources/cycle3.bmp&quot; width=&quot;512&quot; />&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    The&amp;nbsp;day-to-day authoring activities can be seen as a set of little steps including&amp;nbsp;test case implementation,&#xD;
    writing rules, executing them, and doing&amp;nbsp;some validation with the team members.&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    This cycle is still using short daily&amp;nbsp;loops:&#xD;
&lt;/p>&#xD;
&lt;ul style=&quot;MARGIN-TOP: 0in&quot; type=&quot;disc&quot;>&#xD;
    &lt;li class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in; tab-stops: list .5in; mso-list: l0 level1 lfo1&quot;>&#xD;
        Loop on Authoring and Validation to develop test cases and rules&#xD;
    &lt;/li>&#xD;
    &lt;li class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in; tab-stops: list .5in; mso-list: l0 level1 lfo1&quot;>&#xD;
        Loop on Analysis, Authoring and Validation to author executable rules, complete the analysis, do some unit testing&#xD;
        and address/resolve issues.&#xD;
    &lt;/li>&#xD;
    &lt;li class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in; tab-stops: list .5in; mso-list: l0 level1 lfo1&quot;>&#xD;
        Loop on a bi-daily basis on Discovery, Analysis, Authoring and Validation. The discovery will be used to complete&#xD;
        the scope of the rule set and address the issues identified during implementation.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    The cycle 3 should finish after 2 to 3 weeks. The goal is to release the rule set within an integrated development&#xD;
    build in order to start testing the business application with the decision service. The rule set should only be 40 to&#xD;
    60% complete. Business users or rule writers will then elaborate and complete it in cycle 5 (Enhancement). But at the&#xD;
    end of cycle 3, the Object Model used with the rule should be at least 90% complete, and the project structure should&#xD;
    be finalized.&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>It&#xD;
    is still possible to execute this cycle multiple times, if the size of the rule set is bigger than what can be done in&#xD;
    three weeks (exactly 40% of the size of the rule set cannot be done in three weeks).&lt;span&#xD;
    style=&quot;mso-spacerun: yes&quot;>&amp;nbsp;&lt;/span> In this case, it is recommended to still time-box this cycle to three weeks and&#xD;
    deliver a concrete build to the QA or validation team for review and execution. Then embark on another build for the&#xD;
    next 3 weeks.&lt;/span>&lt;br />&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;span style=&quot;mso-spacerun: yes&quot;>&lt;strong>&lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../abrd/deliveryprocesses/Cycle%204-%20Integrating_13C589B7.html&quot; guid=&quot;_Jv_BsT5VEdyA6a_I80swHw&quot;>Cycle 4-&#xD;
    Integrating&lt;/a>&lt;/strong>&lt;/span>&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>The&amp;nbsp;goal&amp;nbsp;of&#xD;
    this cycle is to deploy the rule set under construction to the execution server&amp;nbsp;to test it with an end-to-end&#xD;
    testing scenario. The integration of the decision service and the&amp;nbsp;domain object model is an important task. Data&#xD;
    is sent to the rule engine to fire rules and infer decisions. During the previous phases the development team develops&#xD;
    a set of test scenarios with realistic or real data which will trigger rule execution. Those test scenarios will be&#xD;
    executed during the integration phase to support end to end testing. In the future they will serve as non-regression&#xD;
    test suite.&lt;/span>&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &amp;nbsp;&lt;img height=&quot;160&quot; alt=&quot;&quot; src=&quot;./resources/cycle4.bmp&quot; width=&quot;208&quot; />&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;strong>&lt;a class=&quot;elementLink&quot; href=&quot;./../../../abrd/deliveryprocesses/Cycle%205-%20Enhancing_41EF2FB1.html&quot;&#xD;
    guid=&quot;_06x9gUXgEdy14e5PT9v3HQ&quot;>Cycle 5- Enhancing&lt;/a>&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    It can be seen as a more mature phase where the goal is to&amp;nbsp;complete the rule set, and to maintain it.&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &amp;nbsp;&lt;img height=&quot;188&quot; alt=&quot;&quot; src=&quot;./resources/cycle5.bmp&quot; width=&quot;600&quot; />&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;br />&#xD;
&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;p class=&quot;isisguidance&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    &lt;span&#xD;
    style=&quot;COLOR: windowtext; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>It&#xD;
    includes authoring, validation and deployment. It is still possible to do some short face-to-face discovery activities&#xD;
    with the Subject Matter Expert to address and wrap-up some issues and questions. But with this approach, the team&#xD;
    responsible for maturing the rule set to close to 100% coverage can be another team than the initial development one.&#xD;
    This team is more business-oriented. As owners of the rule set and the business policies, they can develop at their own&#xD;
    pace as they have all of the core infrastructure implemented by the development team.&lt;/span>&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;isisguidance&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    &lt;span&#xD;
    style=&quot;COLOR: windowtext; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>It&#xD;
    is important to note that there will be some needs to enhance the object model or physical data model to add some new&#xD;
    facts, attributes, or entities.&amp;nbsp;Those modifications will follow the standard release management process of the&#xD;
    core business application.&lt;/span>&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot; />&#xD;
&lt;strong>Summary&lt;/strong>&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>This&#xD;
    phase approach has&amp;nbsp;many advantages in driving the development process of a Rule Set. It involves all the key&#xD;
    stakeholders and prepares for the future maintenance. As a business application using a rule engine is, per design,&#xD;
    very agile and supportive of changes, the analysts team needs to understand early in the development process how the&#xD;
    components exposed to the rule engine work together, how to change, add, remove rules, how to deploy them...&lt;/span>&#xD;
&lt;/p>&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0cm&quot;>&#xD;
    &lt;span&#xD;
    style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt&quot;>In&#xD;
    parallel of these Rule Set development activities the software architect develops the &lt;a&#xD;
    href=&quot;./../../../abrd/guidances/termdefinitions/decision_service_6C51F997.html&quot; guid=&quot;_M0nWsAsYEdyPCr4G1Tb79A&quot;>Decision&#xD;
    Service&lt;/a>&amp;nbsp;integrated into the core business application. This decision service will use the Rule Sets&#xD;
    developed.&lt;/span>&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
