2003 ODTUG Business Rule Tools Shootout Report
The Oracle Development Tools User Group (ODTUG) invited a
number of vendors to participate in a Business Rule Tools Shootout, the results
of which would be presented at the 2003 ODTUG Business Rules Symposium held on
The shootout was conducted in two phases:
The following report details the process, information gathered, and results of the Shootout. A presentation based on this information was given at the Symposium by Roland Berg and Bonnie O’Neil.
Roland Berg, ThinkSpark
Bonnie O’Neill, Westridge Consulting
Gladys Lam, BR Solutions
David Hay, Essential Strategies, Inc.
Joseph Hudicka, Information Architecture Team
Mary Cauble,
The evaluation team consisted of six industry experts each with experience in the development of rule-based systems, requirements analysis, rule specification, and enterprise architecture. Each of the experts brought with them a slightly different point of view based upon his or her individual experiences in identifying and documenting business rules and the development of rule-based systems.
Joining this group of experts on the evaluation team was a
group of IT professionals from
The case study used for this shootout makes it unique compared to most industry evaluations. Many case studies used for this type of evaluation are oversimplified, contrived and really do not accurately reflect how the tools would be used to solve real-world problems.
The case study used for the shootout is an actual project
underway at
The case study involves a project initiation and tracking system. The primary users of the system are customers of the Southwest Texas State University IT shop and the members of the IT shop themselves. When someone involved with the University wants to initiate a project, they enter it into the job costing system. The project request is then reviewed by a committee. If the review committee feels that the project is appropriate, the request is handed over to a technical staff member so that the level of effort required to complete the task can be estimated. This estimate includes both the manpower and physical assets necessary to complete the project. After the estimate is complete, the review committee determines whether or not the task should be undertaken. At this point, the request is closed or a project is created.
When a project is created, a project manager is assigned. The project manager partitions the tasks and assigns the appropriate resources. While the project is ongoing, staff members working on the project charge time to the tasks to which they are assigned. They also record any vacation or sick time on their timesheets. At any point in the process, team members or customers involved with the project or the work request, can record notes about the project or its tasks.
Each of the vendors received an information package describing the case study. This package included a definition of the evaluation criteria, a system requirements document, an entity-relationship diagram, and detailed definitions of the entities and attributes contained in the diagram. The vendors were told to use the case study documentation provided as a guide. The data model provided was merely intended to communicate the business problem and their solution did not need to implement the model exactly as shown. This gave the vendors the flexibility necessary to implement the case study in a manner that would best highlight the capabilities of their tools. The vendors had between four and five weeks to complete the case studies and prepare the reports.
The following deliverables were requested as part of the shootout:
A portion of the information provided to the vendors is presented in the Appendix.
The Business Rules Approach to system development involves several important premises:
The members of the evaluation team were asked to rate each of the products against each of the evaluation criteria, prepare a report commenting on each of the individual products, and document their overall impressions of the products relative to each other.
One of the most interesting points to come out of the demonstrations and evaluations is that the definition of what constitutes a business rule varies somewhat depending upon the perspective with which the problem was approached. This became evident in two different areas. First, the differing perspectives and approaches of the vendors make it appear that they are actually solving different problems. Second, the backgrounds and experiences of each of the evaluators had a similar influence.
The products can be loosely classified into three groups:
Three of the products are external rule engines which interface with the system through the database, business, or user interface layers. One of the products integrates tightly with the Oracle database.
As a result of the differences in strategy and technical approaches of the four tools evaluated, it is difficult to conclude that any one product is better than the others. In fact, each of the products provides a viable solution for addressing the definition and implementation of business rules. Each of the tools has strengths and weaknesses that affect its appropriateness for use in a particular environment.
The selection of an appropriate tool must be based on the types of people using the tool, their skill levels, the overall objective of the project, and the architectural constraints placed on the solution. As a result, this discussion will not only focus on the capabilities of each of the tools, it will attempt to characterize the environments in which each of the tools will perform best based upon the opinions of the evaluators.
This report is organized by product. Each product section contains a short descriptive narrative and comments from the reviewers.
Most reviewers found it difficult to assess certain criteria given the short length of time allotted to complete the evaluations. For example, it is difficult to get a feel for performance or even thoroughness of documentation. Most, if not all, of the reviewers did not get a chance to look at any documentation, other than what was provided to us by the vendors, namely an overview of the shootout requirements and the answers to our case study. Therefore, ratings were based only on the materials submitted and may or may not reflect the tool’s overall documentation.
It was also difficult to rate performance, since there was no specific information about either how long the demonstrated solution took to build or how fast the application runs in a production environment. One of the criteria concerned industry standardization. Since there is no standard representation of rules, the comments were based upon how easy it would be for a non-technical (but semantically literate) business person to understand the rules.
Due to the fact that each tool is trying to solve a different problem, each tool needs to be judged with its individual goals in mind. Most of the reviewers seemed to favor tools in the first category (user interfaces focused on gathering business rules in a non-technical way).
Blaze Advisor is a part of the Fair Isaac Business Science™ suite of
Enterprise Decision Management tools. Blaze Advisor is a business rules
management tool that provides the ability to use expert judgment to implement
and deploy business rules to make use of policies, practices and procedures in
operational business decisions.
Of the four products evaluated for this shootout, Blaze Advisor is the most mature. It has been out in the marketplace for a long time (formerly Neuron Data), and it appears to be quite robust. It also appears to do quite well for impact analysis and conflict resolution. Complex rules seem to be supported by Advisor. Browsing capability for rules seems to be thorough in Blaze. Especially noteworthy are the decision trees and decision tables. Advisor supports a central rules engine storing rules in different formats.
One reviewer expressed concerns regarding Advisor’s complexity. It appears to be able to be set up only by Java programmers. It is not clear whether you can build an application in its entirety without traditional programming or whether you must build the front-end using Java. Apparently a Java-like language is used. Although Blaze Advisor is a powerful tool, power is often bought with a price—complexity. Ease of use is often sacrificed.
It is not known how well the tool holds up to managing a large-scale application. It would be nice to see a published benchmark dealing with number of rules, number of concurrent users and database size. It is also not known how Advisor would handle integration with legacy systems. For example, how does Advisor perform if you already have an application and you would like to implement rule management using a phased approach?
The purpose of having multiple reviewers was to get different views and perspectives. The comments help to explain the reviewers’ thought processes. In some cases, different interpretations of the requirements themselves may account for the difference in evaluation.
Not all of the reviewers expressed comments for each requirement. The chart below lists the comments provided:
Req# |
Requirement |
Rater 2 Comments |
Rater 4 Comments |
Rater Comments |
1 |
Gathering & reporting of analysis rules |
Intuitive, structured interface |
Seems to be pretty good; a strong point |
|
2 |
Generation of the database |
Rule engine does not require Oracle RDBMS |
Generates a rule base |
|
3 |
Generation of database triggers |
Independent rules engine can be accessed by triggers. |
With the caveat that I don’t think placing rules in triggers is a good practice, the tool offers a way to do it (although clumsy) |
|
4 |
Generation of process application code |
|
Strength of the product |
No support of workflow process |
5 |
How security is handled in the tool |
|
Seems to be pretty good |
|
6 |
Configuration management |
Ideal rule set navigation. |
Seems to be pretty good |
|
7 |
Integration with database |
Tight integration without dependency on database. |
Good but complex |
|
8 |
Industry standard rule representation |
Working closely with OMG |
With the caveat that there is no standard rule representation at the moment, tool provides various ways to see a rule like decision trees |
Natural language and decision tables |
9 |
Rule re-use |
|
Very good |
Rules can be reused within an application |
10 |
Performance |
|
Seems to have nice features like event rules |
|
11 |
Scalability for complex processes |
|
Seems to be robust in this area |
|
12 |
Learning curve |
Natural language support in addition to technical notation. |
Seems to be high |
Natural language |
13 |
Reporting from repository |
Reporting includes conflict identification in addition to standard repository outputs. |
Seems to be pretty good |
Decision trees and tables, rule sets |
14 |
Open API |
Limited explanation of API |
A strength of their tool |
|
15 |
Level of effort required |
No development savings projected, though maintenance is drastically improved. |
Very high; appears to require a programmer to get it started |
|
16 |
Scalability of number of users |
Benchmarks not provided. |
Don’t know |
Limitation |
17 |
Development required |
Requirements are suited by typical developer pc |
Complicated |
Flexible |
18 |
Deployment required |
Highly diverse deployment platform support. |
Complicated |
Flexible |
19 |
Ease in changing rules |
|
Pretty good, but some “rules” are functions; In my opinion, functions are not rules |
Rules in one place |
20 |
Organization & visibility of rules |
Ability to seek rules by context. |
Seems to be pretty good, but complex |
|
21 |
Impact Analysis |
|
This is an area where they traditionally shine; nice navigation |
Rule management capabilities |
22 |
Rule interaction/conflict |
Limited explanation |
Conflict resolution is another Advisor strong point. Very good |
Some detection at analysis time |
23 |
Potential for integration with other systems |
|
I’m not sure of all the details here, but because their infrastructure is so technical, I would presume integration is pretty good |
|
24 |
Description of architectural approach |
Diagrams require a bit more explanation. |
Seems sound, but very technical |
Rule-centric, rule integrated architecture |
25 |
Impact of tool on SDLC |
Requires modification of SDLC |
Pretty good but technical; not totally convinced that a business person can really write functions |
User front-end can support some business analysis activities |
26 |
Documentation of tool |
On-line doc is a plus. |
Stuff they provided to us was pretty good |
|
27 |
Different types of rules supported |
|
Technical, AI-based rule types and functions. Business people would have a hard time identifying with them |
More flexible |
CDM
RuleFrame is a framework for the structured implementation of business rules that
supports the development of logical three-tier internet applications. CDM
RuleFrame is a combination of concepts, process, software architecture and
utilities that is supposed to enhance productivity and implement the business
logic tier.
This tool was developed in a “skunkworks” fashion by Oracle consultants out in the field who saw the potential of the business rules approach and wanted to shoehorn Designer in order to take advantage of it. It was pseudo-productized, but not marketed at all by Oracle and included as a free addition to Designer. RuleFrame enables developers to manage rules in the Designer repository as repository objects. The forward-looking Oracle consultants who developed RuleFrame saw the potential of the business rules approach for building flexible applications, and wanted to see Designer organized in this way. RuleFrame is a great step forward in accomplishing this.
RuleFrame by no means enables rule modification by business people. Code must be manually entered. There is no code generation functionality. If the ultimate goal is to provide a tool that can be used by business people to capture their rules themselves without programming, CDM RuleFrame does not meet this goal.
Designer itself is a very powerful product but difficult to begin to use (high learning curve). If a development shop is already using Designer and would like to extend it to begin to track business rules, RuleFrame is one way to accomplish this. However, this process requires writing the business rules as code, as well as considerable maintenance to ensure that the relationships are properly in place. For developers skilled in Designer, this is an alternative that leverages the existing investment in the tool to provide some rules management.
Req# |
Req Name |
Rater 4 Comments |
Rater 5 Comments |
1 |
Gathering & reporting of analysis rules |
Good means of using Designer to use repository to store rules |
|
2 |
Generation of the database |
Very database centric |
|
3 |
Generation of database triggers |
With the caveat that I don’t think placing rules in triggers is a good practice, the tool offers a way to do it, much better than Blaze Advisor |
|
4 |
Generation of process application code |
You must add the code yourself; the product provides templates only |
Oracle Workflow |
5 |
How security is handled in the tool |
Uses Oracle DBMS security and that of Designer |
|
6 |
Configuration management |
Same as that of Designer |
|
7 |
Integration with database |
This is the main strength of this tool |
|
8 |
Industry standard rule representation |
With the caveat that there is no standard rule representation at the moment, rules are just documentation and don’t execute; the code that you write executes |
System code |
9 |
Rule re-use |
Targets code re-use; not totally clear if this is accomplished the way they intended |
Only data rules are reused |
10 |
Performance |
Code performs based on how you write it |
|
11 |
Scalability for complex processes |
Not really clear |
|
12 |
Learning curve |
Very high if not Designer literate; even Designer aficionados will need to learn the rule categories which may seem obtuse |
DBMS and code |
13 |
Reporting from repository |
Very good; this is what the tool was designed for, repository management |
Data constraint rules no rule management capabilities |
14 |
Open API |
As good as Designer’s |
|
15 |
Level of effort required |
Must write code |
? |
16 |
Scalability of number of users |
Not sure |
Unlimited |
17 |
Development required |
Must write code |
Limited - Oracle only |
18 |
Deployment required |
After code is written, generate an application using Designer |
|
19 |
Ease in changing rules |
Must change the code itself |
Code changes |
20 |
Organization & visibility of rules |
Good visibility within Designer |
|
21 |
Impact Analysis |
From what I can see, not very good; this is because the tool really wasn’t designed for this |
Does not support rule management properties |
22 |
Rule interaction/conflict |
Does not provide a vehicle for this (at least that I could see) |
Not supported |
23 |
Potential for integration with other systems |
As good as Designer |
|
24 |
Description of architectural approach |
Good shoe-horning of existing product, but does not solve the overall goal |
Data centric architecture |
25 |
Impact of tool on SDLC |
|
Systems developer |
26 |
Documentation of tool |
Provided limited documentation answering our case study; not very descriptive |
More general Oracle usage than RuleFrame usage |
27 |
Different types of rules supported |
Types of rules are based on technical, database-oriented categories and are difficult to grasp. RuleFrame does provide help to guide users into deciding which category each rule should be |
Limited |
BRIM® enables developers to generate a complete system with little hand coding. Business rules are articulated and placed into a repository. From the repository, the database and code are automatically generated. Generic applications provide immediate ability to use the system without any traditional application development. They also allow you to validate the quality of the business rules. Once these rules are validated, core applications can be built faster than in traditional systems.
This tool is solving a different problem than any of the other tools evaluated. It deals with the business semantics very differently. Rules are represented in a UML model and the process model (which is an enhanced UML process model) but are not represented in a grammar format. The premise behind the tool is that such grammatical sentences will become unmanageable because there are too many in any system to be represented in natural language in a way that is useful.
This tool essentially generates an application completely, including the database structure. It is very innovative, and seems to defy characterization and categorization. It is very exciting in its potential. The problem it is solving is that of coping with rapid changes in the business rules in an organization. BRIM® allows for total rule flexibility. This was very impressive! One reviewer said of all the tools, this one seemed to have the greatest future potential.
Classification of the rules is done by workflow. The relationship between business rules and workflow has been recognized in the industry, but coupling them completely as BRIM® does is new. Most business rule analysts see rules as a separate component to the workflow. BRIM® does not really attempt to deal with business semantics, apart from the workflow or process flow diagram. Analysis rules are essentially “documentation” (like use cases) and would have to be mapped manually to the implementation rules. It is not clear how this would be accomplished.
Req# |
Req Name |
Rater 2 Comments |
Rater 4 Comments |
Rater 5 Comments |
1 |
Gathering & reporting of analysis rules |
Assumes manual translation of analysis to technical rule
syntax without consideration for language based translation. More suited to highly technical
professionals. |
Not really geared towards analysis rules. They are
essentially documentation |
|
2 |
Generation of the database |
Based on Oracle and generates highly efficient back-end
implementation. |
Excellent |
|
3 |
Generation of database triggers |
Achieves remarkable performance for trigger based
implementation. |
With the caveat that I don’t think placing rules in
triggers is a good practice, BRIM generates database-oriented stuff including
specialized triggers. |
|
4 |
Generation of process application code |
|
Excellent. This is what BRIM does best. |
Some support of workflow process |
5 |
How security is handled in the tool |
|
Seems to be very comprehensive |
Use Oracle structure |
6 |
Configuration management |
|
Seems to be comprehensive but technical; can be mismanaged |
Rules
constraint in data. Rules can be duplicated. |
7 |
Integration with database |
|
Excellent |
Oracle
only |
8 |
Industry standard rule representation |
Based loosely on PL/SQL, not a rule based syntax. |
With the caveat that there is no standard rule
representation at the moment, the rule semantics are difficult and embedded
in the process flow diagram. Does use UML |
System
syntax |
9 |
Rule re-use |
Rules are atomic and easily shared. |
Can be done but must be “coded” this way |
Reuse at
code level (not rule level) |
10 |
Performance |
Highly optimized for Oracle, not available for other
databases. |
Has a good story but needs to be objectively evaluated (we
did not have time) |
|
11 |
Scalability for complex processes |
Has demonstrated ability to process thousands of rules. |
Seems like it would be very scalable |
|
12 |
Learning curve |
Highly technical professionals will grasp the tool fairly
quickly, but end users will struggle. |
Seems to have a steep learning curve since the semantic is
not pseudo English |
Complex
syntax |
13 |
Reporting from repository |
|
Not sure; didn’t really see any reports (left the demo
early) |
No rule
management capabilities |
14 |
Open API |
Report did not expand on this capability. |
Seems to have this |
|
15 |
Level of effort required |
While the effort may not be significant, navigation is
challenging and therefore more apt to mistakes. |
Seems to be fairly complex for a business person to
understand how to specify a rule |
|
16 |
Scalability of number of users |
|
Probably good scalability, as you would get in traditional
Oracle app |
|
17 |
Development required |
Heavy development requirements for client pc's |
Difficult for a business person, not very intuitive
paradigm |
Limited |
18 |
Deployment required |
Easily incorporated into existing or newly implemented
Oracle platforms. |
Probably easy to deploy |
|
19 |
Ease in changing rules |
Navigation to find a specific rule is difficult. |
Very flexible, can change rules easily |
System
syntax, rules maybe replicated |
20 |
Organization & visibility of rules |
see 22. |
Not clear how the organization of these rules would go
over to business people; I’m thinking not that great |
|
21 |
Impact Analysis |
|
Not convinced that this is a non-issue |
Doesn’t
support rule management |
22 |
Rule interaction/conflict |
Alerts for potential impact would be nice enhancement. |
Not convinced that this is a non-issue |
Detection
at generation time |
23 |
Potential for integration with other systems |
Provided other systems are also Oracle-based. |
I am thinking that this point refers to “can I construct a
rule in the tool and have a previously existing app call that rule?” I don’t
get the sense that this would be done well in BRIM. |
|
24 |
Description of architectural approach |
|
Good, sophisticated architecture; thorough coverage of it |
Data-centric architecture |
25 |
Impact of tool on SDLC |
Scope Creep is surfaced but no recommendation for
determining how detailed rules should get. |
Seems to support our goal of continuous requirements
gathering |
System
developer tool |
26 |
Documentation of tool |
|
Documentation for the Case Study was very thorough |
|
27 |
Different types of rules supported |
|
Classifications based on position in the workflow and not
on business categories |
Limited |
Logist is a decision-making system that enables organizations to capture human knowledge and thought processes in the form of computerized rules. Logist allows organizations to build applications that process knowledge and expose it to the users of the organization, to customers, vendors, and partners, via a GUI or WUI front-end.
This tool seemed to be the favorite of the reviewers. Logist has a great user interface, and presents the easiest method for changing a rule of the tools reviewed. It uses a lexicon and is very linguistically oriented, expressing rules in structured English and providing a template to edit rules so that the user need not be a linguist to use it effectively. The wizard guides the user in selecting lexical elements with which to construct the rule. It has wonderful navigation and impact analysis facilities, enabling the user to find the rule in several different ways through rule families (rule group and rule class) and a tree structure. You can also see all of the rules using a specific building block. Alerts are very nice, providing management by exception. The alerts are built-in, and criteria for yellow and red alerts are set by the rules. For example, a rule may specify a yellow alert if a certain numeric threshold is reached. When the application is running and a yellow alert is reached, the user can drill down into why the alert was shown and the content of the rule.
Rules are built using grammar templates, and the grammar is extensible. Definitions of terms are provided by the user, and these terms can then be reused as components in other rules. If the rule is classified as a definition, it is executed first.
Logist also offers version control, check in and check out. Older versions of the rule base can be displayed, and you can see the differences in a specific rule. Logist provides the ability to logically partition the rule base into runtime files. You may not want to include all the dependent rules in a runtime file. Caution should be exercised since this can lead to problems.
Req# |
Req Name |
Rater 2 Comments |
Rater 4 Comments |
Rater 5 Comments |
1 |
Gathering & reporting of analysis rules |
|
Excellent—strong point of tool |
I am very impressed with the traceability support. |
2 |
Generation of the database |
|
|
Export schema |
3 |
Generation of database triggers |
|
With the caveat that I don’t think placing rules in triggers is a good practice, the tool offers a way to do it (although clumsy) |
Use plug-in components |
4 |
Generation of process application code |
|
|
No support of workflow process |
5 |
How security is handled in the tool |
|
|
More flexible |
6 |
Configuration management |
|
|
Rules resides in one place |
7 |
Integration with database |
Real time or batch mode rule assessment |
|
Supports more DBMS however more work to integrate |
8 |
Industry standard rule representation |
Exploring standards, but have not advocated any particular rule set yet. |
With the caveat that there is no standard rule representation at the moment, |
Template form |
9 |
Rule re-use |
|
Lexical element reuse—Great |
Same rule is reused in runtime |
10 |
Performance |
Built-in load balancing |
Don’t know |
|
11 |
Scalability for complex processes |
No benchmarks |
Don’t know |
|
12 |
Learning curve |
Training time is acceptable. |
Seems to be very easy to learn; template-driven |
Template |
13 |
Reporting from repository |
Flexible user-defined report interface. |
Good |
Traceability capability. Rule management capabilities |
14 |
Open API |
Cross-platform API availability. |
Seems robust—it is probably possible to hook rules into legacy apps |
|
15 |
Level of effort required |
Not convinced that this is simple task. |
Seems easy to learn |
|
16 |
Scalability of number of users |
Hardware bound. |
Don’t know |
Limitation |
17 |
Development required |
Too general. |
Seems easy to use |
Flexible |
18 |
Deployment required |
|
Not sure |
|
19 |
Ease in changing rules |
This interface was dynamite. |
Strong point of tool |
Rules in one place |
20 |
Organization & visibility of rules |
Probably the best interface for navigating through rule base. |
Excellent |
|
21 |
Impact Analysis |
|
Great navigation |
Rule management properties can be added in meta model |
22 |
Rule interaction/conflict |
Rule relationship graphs were neat. |
Excellent; relationship graphs nice |
Detection at analysis time |
23 |
Potential for integration with other systems |
|
Seems to be able to integrate due to API |
|
24 |
Description of architectural approach |
|
Very thorough |
Rule- centric, rule integrated architecture |
25 |
Impact of tool on SDLC |
Conforms to SDLC |
Seems to accomplish our goal: users can add/modify rules, simplifying SDLC |
Supports some business analysis activities |
26 |
Documentation of tool |
Seems to be mostly document based as opposed to context. |
|
|
27 |
Different types of rules supported |
|
Seems to support most types |
More flexible |
The review committee appreciated the cooperation from all of the vendors for their participation in the shootout and for allowing us to provide a case study for all of them to solve. Three of the vendors actually provided solutions to the case study. The fourth vendor gave us a thorough demo but said that their main developer was ill and so they could not complete the case study. All vendors provided written responses to our questions. All provided us with a demonstration, and several provided two or more demonstrations to accommodate all of the reviewers.
To summarize there are three goals that the business rule approach and the tools evaluated are trying to achieve:
It should be emphasized that one clear conclusion stemming from the review of the participating tools is that the tools are solving similar problems from different points of view and with different objectives. It is therefore impossible to state that one product is necessarily better than the others. Each product has a viable position within the business rule product space.
At this point in the evolution of tools supporting rule-based development, all of the tools ultimately must drill down to some level of actual programming (writing code) either in proprietary languages or common languages such as Java or PL/SQL. While most of the tools offer some form of code writing assistant, they still require programming and therefore need some level of technical proficiency on the part of the user. All of the tools reviewed require skilled analysts/users and require formal training in order to get the most from them. This means that rule specification has not yet reached the point where the task can be passed to the business person.
At this point in time, Fair Isaac’s Blaze Advisor and ESI Logist come closest to achieving all three goals, however, both are external rule engines that bolt into and support the application system being developed. Both tools provide mature, highly polished user interfaces that, while complex, appear to be understandable and usable. They are an excellent choice for those wanting to document their business rules and migrate existing systems toward a more business rule-driven approach as well as for the development of new systems.
Oracle RuleFrame doesn’t attempt to bridge the gap between business users and IT professionals, but it helps Designer manage information more effectively to produce more flexible systems (points one and three). RuleFrame focuses on the technical user. It does, however, provide an extensive rule classification scheme that is useful in helping the technical user develop an understanding of the types of rules and how they should be supported in a database. Unfortunately RuleFrame neglects process-oriented rules entirely.
BRIM® is perhaps the most intriguing of the tools available. Focused on providing the ability to build systems faster, it takes what appears to be a somewhat more technical approach than the other tools using Unified Modeling Language (UML) class diagrams and activity diagrams to model and collect the business rules. These diagrammers are more familiar to the technical person but they can also be easily learned and understood by the business person. BRIM® also takes an interesting approach in that it allows the business user to define the rules while the technical can implement those rules through the same interface. This approach has real promise in that it does not require the business user to become a programmer. It allows the business person to focus on the specification of rules while leaving the programming to the technical staff. This may be the best balance that can be achieved at this point. The developer is able to see the business person’s specification of the rule in the same screen that is used to implement the rule. BRIM® has added flexibility in that its functionality can be extended to support any analysis methodology in use by the organization, whether this consists of text based requirements documents, use cases, or the yet undiscovered silver bullet methodology. The extension of the BRIM® repository in this manner provides a means of tracing the implementation of business rules back to the analysis work leading to their discovery. A comprehensive and extensive tool, BRIM® is best suited to developing new systems, although it can also be used to extend existing systems with a little creativity.
All of the tools evaluated are still developing and maturing. Exciting times are ahead for us as we begin to incorporate them into our environments. It will be fun to see them respond to new challenges in the future.
Due to length
considerations, the entity and attribute descriptions have not been included. A
copy of these can be requested from info@dulcian.com
.
ODTUG 2003—Business Rules Tools Product
Shootout
Business rules products support some
portion of the business rules of a project.
This evaluation will help us to ascertain which rules your product
supports and how it supports them. We
are tying to understand how the business rules are implemented and how your
product can best be used to build a system. The goal is to determine how each
product can support a specific list of business rules common to many
organizations. The case study will provide you with a small system and a
reasonable number of rules to implement.
The case study for the business rules
product shootout is a Work Request Processing system. It is an actual work-in-progress provided by
the information technology department of a university. It represents a reengineering project that
is underway at the university.
Business Problem to be Solved
The university wants to track work
requests, group them into specific projects, and track the time and money
resources allocated to them.
The business problem has two aspects:
General Description
The system allows any member of the
university community to request some type of project. Members include employees, students, and
alumni.
Once a request is entered into the
system, it is reviewed by a committee to decide whether or not to create a
project based upon the request. The
committee sets the priority for the project.
When a project is created, a project
manager is assigned and the tasks/subtasks necessary to complete the project
are identified. Some projects have a
limit on the types of tasks that they can contain. Resource requirements can be recorded against
the project or the task.
Resources are assigned to the tasks
and, as work is performed, timesheets are created to record the work applied to
a task/project.
This environment is very typical of
one into which a business rules tool may be introduced. The documentation being provided is excerpted
from actual project documentation. It consists
of the following:
·
A simple
requirements document, which provides a description of the high-level business
requirements and rules
·
An
entity-relationship diagram that provides a conceptual view of the planned
system
·
An
entity-definition report, which provides definitions for all of the entities in
the model
·
An attribute
report, which defines the attributes shown in the model
Business rules may be extracted from
any of these documents.
It is not necessary to implement the
specific data model provided. It is
necessary to provide support for all of the business rules identified in the
Work Request System Requirements. You should build some or all of a system to
support these requirements.
The evaluation of the system will be
done by knowledgeable technical people, so you do not need to spend a great
deal of time or effort creating an elaborate user interface design. The
evaluation team is really more interested in the way in which the business
rules are supported.
You also do not necessarily need to
complete the system to be evaluated well in the product shootout. The goal is
to communicate to the evaluation team how your tool works. We suspect that the more system you build the
easier it will be to evaluate your product, but if time pressure is an issue,
it is better to build a portion of the system well than an entire system badly.
The requirements in the Work Request
System Information zip file are adapted from an actual system that is currently
in development. The data model included is only to be taken as a
suggestion. It was one modeler’s logical
data model based on the requirements. Do
not feel obligated to build to this model. It is included only to help convey
one method of building the system.
The following is a list of the
criteria that will be used in evaluating the deliverables submitted (Word
document and demo):
1. Written report: Create a Word document addressing each of the criteria listed
above. This will help the team to
understand your approach for each area.
2. Working system: You do not need to deliver the system itself to the
evaluation team. We will schedule web
demos for the team. If you do not have a
facility for this, we suggest looking into the Go to My PC software or a similar
product. You will need to support up to 8 different evaluation team members
viewing your presentation.
The Written Report should be
delivered to
Questions regarding the product
shootout should be e-mailed to
Work Request System Requirements
Overview
Work requests are initiated by a user. The service request is entered by the user
and published to the identified list of stakeholders. All work requests must be reviewed, approved
and prioritized by a committee.
Authorized personnel create projects from sets of approved service
requests.
Projects are divided into tasks and sub-task by authorized
personnel. They can also give these
tasks statues, priorities, time estimates, resource estimates and resource
assignments. Authorized personnel can
estimate time and resource needs at the project, task and sub-task level. Estimated staffing needs are based on job
codes, while estimated equipment needs are based on equipment types. Assigned resources may include staff and/or
equipment.
A person doing work on a project fills out a timesheet
logging hours against specific tasks.
A person may do work
that is not applied to any project.
Detail and summary reports can be generated on demand from
the Job Costing system for service requests, project management and
timekeeping.
REF |
REQUIREMENTS |
|
Service
Request |
1.0 |
A service request
may be entered by any user. |
2.0 |
A service request
must have an originating person and a sponsoring department. |
3.0 |
A service
request must contain:
|
4.0 |
Completed service
requests must be published to their stakeholders. |
5.0 |
Any user can give
feedback on any service request. |
6.0 |
Service request
must be approved and prioritized by committee before becoming a project |
7.0 |
Cancellation and
rejection of a Service request must be allowed at any time prior to approval. |
7.1 |
Service request can
only be cancelled by the originating person or sponsoring department. |
7.2 |
Service request can
only be rejected by the originating person, sponsoring department or approval
committee. |
8.0 |
Projects originate from approved
Service Requests and may only be created by authorized personnel. |
8.1 |
Projects cannot
exist without at least 1 associated service request. |
|
|
|
Project
Management |
1.0 |
Allow for resource
(staffing and equipment; i.e., hardware, software, etc.) planning and
assignments based on estimated and actual needs. |
1.1 |
Allow for the
assignments of staff who report to multiple supervisors and organizations. |
1.2 |
Allow for multiple
task assignments of staff. |
2.0 |
Project planning
must track projected staff assignments based on job description. |
3.0 |
Project planning
must track equipment; i.e., hardware, software, etc. assignments based on
category. |
4.0 |
Task
estimated time cannot exceed the estimated time of the related project. |
5.0 |
Tasks can be broken
into sub-tasks. |
5.1 |
Sub-task
estimated time cannot exceed the estimated time of the parent task. |
6.0 |
Tasks or sub-tasks
may only be created by authorized personnel. |
7.0 |
A person cannot be
assigned a task activity without first being associated with an Organization. |
7.1 |
A Project Manager
must have authority over an individual to assign that individual to a task. |
8.0 |
The assignment of
tasks must allow for either a restricted (individual) or non-restricted (any
available) assignment. |
9.0 |
Equipment; i.e.,
hardware, software, etc. data will be supplied by a Materials Management
system. |
10.0 |
Resources assigned
to a task must have appropriate characteristics/skill sets. |
11.0 |
The types of tasks
created under a project are to be restricted to those task types appropriate
to the project. |
12.0 |
Project manager
must be able to request automatic notifications based on task status and time
expended v. time projected. |
13.0 |
Project manager
should be able to define task or sub-task estimates as hard (cannot exceed)
or soft can exceed). The system should
notify the project manager if hard constraints are violated. |
|
|
|
Timekeeping |
1.0 |
Compensatory,
vacation and sick time balances will be supplied by Human Resource. |
2.0 |
A person can only
charge time to an active task and not to projects (enhancement, development,
research) or non-project type activities (administrative and maintenance). |
3.0 |
Must allow for the
entry of timekeeping comments regarding assignments. |
4.0 |
Vacation/Sick/Compensatory time taken
may not exceed available balances. |
5.0 |
Time charged to a
task in excess of time projected for the task must be approved by the project
manager. |
6.0 |
Total hours in excess
of 60 should result in notification to the worker’s supervisor. (Vacation, sick and holiday time do not
count in this calculation) |
7.0 |
Total hours less
than the norm for the period should result in notification to the worker’s
supervisor. (Vacation, sick and
holiday time do count in this calculation) |
|
|
|
Reports |
1.0 |
Must be able to
group both summary and detail reports by any or all of the following: ·
Service
Request ·
Project ·
Task ·
Organization ·
Person ·
·
Category
(Administrative, Maintenance, Enhancement, Research, Development) |
|
|
|
General |
1.0 |
Staff may have
multiple job descriptions. |