InfoQ

News

InfoQ Article: When and How to Formalize Business Rules

Posted by Deborah Hartmann on Sep 04, 2006 07:58 AM

Community
Agile
Topics
Customers & Requirements,
Artifacts & Tools
Tags
Complementary Practices,
Collaborative Technologies,
Business Architecture,
Rules Engines
The differences between "Agile software development" and "Business Agility" often cause confusion. Sometimes an organization says it needs business agility as a way of giving itself permission to use Microsoft Excel to solve a problem, to use end-user programming tools or otherwise avoid its IT organization. Sometimes business agility is used as a synonym for adopting a Business Process Management System (BPMS) or using a diagramming notation like BPEL. Sometimes there is an unspoken assumption that adopting SOA will result in agility.

For even the most complex systems, however, agile software development can deliver business agility - this is especially true when the practice combined with the right development technology.

James Taylor has written an article for InfoQ on use of business rules engines to enhance Agile teamwork. But aren't business rules the same as requirements? No, not really, he says, and goes on to show how agile development processes can work just as well for business rules as they do for other kinds of requirements. 

Surely every system has rules... how do know when a rules engine is actually justified? He offers several rules of thumb. Look for:
  • Lots of rules - hundreds or thousands
  • Rules that change often - monthly, weekly, daily or even hourly
  • Rules that are very complex or interact in complex ways
  • Rules that require domain knowledge to understand - legal rules and medical rules for instance
For teams whose systems have one or more of these characteristics, it might be worth taking a look at Taylors' approach.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

No comments

Reply

Exclusive Content

Tapestry for Nonbelievers

A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.

Pete Lacey on REST and Web Services

In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.

Segundo Velasquez and Agile as Seen Through the Customer's Eyes

Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.

Fine Grained Versioning with ClickOnce

David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.

Implementing Manual Activities in Windows Workflow

Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.

Markus Voelter about Software Architecture Documentation

In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.