Blaze Advisor 6.5 springs forward, falls back

Verification and automated testing for business rules bring more reliability to rule services; if only the new tools were easier to use

In Blaze Adviser 6.5, Fair Isaac incorporates advanced rule management features such as rule verification and testing, customizable lifecycle management tools, and automated deployment of analytical models. Building upon the three-part architecture adopted in the 6.x line and now standard across the industry, Version 6.5 improvements will help address the needs of large, enterprise-class customers in managing business rules.

[ See also: InfoWorld Technology of the Year Awards Application Development winners ]

Fair Isaac has added more than 20 new features and improvements to this release. One of the most useful is the verification and testing framework. This consists of two parts: a verification tool to detect common logic errors and an automated testing tool that is similar to other code-driven, "xUnit" testing frameworks. Performance continues to be the best among the commercial BRMSes (business rule management system) according to our benchmarks.

For large scale, enterprise-wide applications, Blaze Adviser is a top choice due to the breadth and depth of the feature set. For smaller, tactical projects, however, the complexity of the product may tilt the scales toward lighter-weight options.

No-excuses test tools

The verification tool is impressive. It performs a static analysis on rules and functions to detect common errors. Think of lint for rules. In my tests, the tool was even able to detect some advanced programming errors such as infinite loops and semantic errors, and it provides a hypertext link to the part of the rule containing the error. Although range and value checking are always important, a tool like this makes a good first line of defense against common errors.

Click for larger view.
Unit testing is accomplished with BrUnit, a xUnit framework for testing business rules. BrUnit is accessible from within the Blaze Advisor IDE, or the RMA (Rule Maintenance Application) for business users, and follows xUnit conventions -- setup(), teardown(), and so on. This means that any developer familiar with JUnit, for example, will have no trouble developing test cases for BrUnit.

Test results are displayed in a panel similar to the JUnit display in Eclipse, with a summary of tests run, results, and an overall progress bar. Having a testing framework embedded into the rule authoring environment makes testing a great deal easier and increases the chances that business users will actually run tests.

Rule lifecycles will invariably differ across organizations and projects, and Blaze 6.5 makes managing this process somewhat easier by providing a set of tools to assist in the movement of rule projects through the various stages of the rule lifecycle. An example of this might be in moving through development, staging, and production environments, but could also include testing environments of various sorts. Another good use for these tools is managing large rule repositories, where different teams author different parts of the repository. Using these tools, a team can manage its part of a project independent of others, and on differing lifecycle timelines.

Usability quirks and irks

These features are not without a price. The tools are difficult to use and difficult to set up properly. There are two main reasons for this: complexity and usability. The complexity is unavoidable with a tool that performs these types of functions, and the system does allow you to save settings and manage them as a project artifact, so once set up properly, things become easier to manage.

The usability of the GUI is another matter. The more complicated the tool, the more user-friendly the interface needs to be. It seems that engineers, rather than GUI specialists, designed the Blaze IDE, and that they had certain conventions in mind about the way things should work. The learning curve is rather steep, and the absence of error checking in the IDE makes it easy for new users to shoot themselves in the foot. The system happily allows you to create objects that can’t be used. If you’re not careful with each button click and keystroke, you can end up having to redo your work.

The absence of error checking is, in my mind, the most serious deficiency in the new tools; however, the general lack of attention to usability detracts from what is otherwise a great product. The usability quirks are often small, but when added together amount to a great deal of annoyance. Three quick examples:
Click for larger view.

You have to click repeatedly many times in a row to add filter conditions. How about a two-pane window for adding entity types?

Whenever you create a new folder in the repository, you have to go back and select it again in the file browser dialog. Why not automatically move the focus to the newly created folder?

And finally, generated deployment shell scripts always have improper permissions.

GUIs are not easy to create, so it’s understandable that Fair Isaac would focus on things like runtime deployment and the rule engine, which are unaffected by any of these quirks. But employing a usability expert when designing the tools and observing how users interact with them would go a long way toward improving their usefulness.

Importable analytics
Automatic deployment of analytic models into the rule engine is new to this version, as is the ability to import PMML (Predictive Model Markup Language) models in their "native" rule metaphors. For example, PMML scorecards are imported as score models, and segmentation ART (Adaptive Random Trees) models are imported as decision trees. This allows the models to be tweaked in the Builder before deployment. The new import process also takes advantage of the metainformation available in models created by Fair Isaac’s
Model Builder for Predictive Analytics. For example, you can trace the models to their author and learn details such as the date of creation and the outlook of the data used to train the model.

Blaze Advisor 6.5, despite being a point release from 6.1, contains many significant new features. Some of these features, most notably the rule lifecycle maintenance tools, are still a bit immature. But overall this release represents a major upgrade and should be seriously considered by anyone running older versions.

InfoWorld Scorecard
Rule Management (30.0%)
Developer tools (10.0%)
Setup (10.0%)
Value (10.0%)
Performance (20.0%)
Ease of development (10.0%)
Documentation (10.0%)
Overall Score (100%)
Blaze Advisor 6.5.2 9.0 9.0 8.0 9.0 9.0 6.0 8.0 8.5