TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPassBlogs
Home  >  Detail: Business Rules and Data Requirements



A StickyMinds.com Original
Article Picture
Business Rules and Data Requirements
Keeping Both Oars in the Water

By Mary Gorman

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: If you hear that someone doesn't have "both oars in the water," you know he's out of control, he doesn't "get it," or he's going in circles. Why? To move forward in a rowboat, you need both oars in the water to steer and to gain speed. In this week's column, Mary Gorman explains how this concept applies to modeling requirements.


Rally Software
Imagine how the "both oars in the water" applies to modeling requirements. To gain velocity with requirements analysis--and control of your process--you need to row with two oars in the water. Documenting behavioral requirements (through use cases or stories) might get your boat under way, but you'll lose direction and speed without both "oars"--your data and your business rules.

Let's explore how business rules and data provide the oars for your requirements elicitation and analysis. We'll start with a user story: "As a customer, I want to pay for my purchase using a gift card."

Out to Launch
First, look at business rules. Requirements are full of nouns (the terms that represent a person, place, thing, or concept). By defining each term in our sample story--"customer," "purchase," and "gift card"--you are actually specifying business rules. Think about it. Each of your stakeholders probably defines "customer," "purchase," and "gift card" in her own way. By defining these terms from the organization's point of view, you help everyone understand what the terms mean and how to use them consistently throughout the life of the project and product.

Our story also implies some fact rules. We need to ask our business experts whether the following statements are true: A purchase is paid by a gift card and (the converse) a gift card pays for a purchase. These fact rules specify a relationship between two terms and may be visualized on a data model, a.k.a. a fact model or entity-relationship diagram.

While you're building a shared vocabulary of business terms, imagine grabbing one oar which we'll call the data oar. For each term, consider whether you need to capture business data. Facts about the gift card might include the date it was purchased and its face amount. These attributes can be added to the data model and captured in the project's data dictionary (more about that later).

There is a great resource on business rules, The Business Rules Manifesto, which reminds us that "Terms express business concepts; facts make assertions about these concepts; rules constrain and support these facts."

In the Deep Blue Sea
Let's pull harder on the other oar, our rules oar. Consider these types of rules: constraints and derivations. When a customer is paying for a purchase using a gift card, what if the total amount of the purchase is greater than the gift card's balance? Can the customer pay the balance in cash or with one or more credit cards? As you clarify these rules you'll uncover and analyze related data requirements.

We hear that a purchase sometimes is paid by one or more gift cards. The "sometimes" implies that there must be a story about paying for a purchase by means other than a gift card. And the fact that a gift card sometimes pays for one or more purchases leads us to ask what happens if a gift card is never used? Is there a story about that?

Rough Water
In another conversation with the business expert, we learn that a gift card must be activated before it can be used to pay for a purchase. Whoa, hang on! We're hearing a number of other views of the gift card. The water is getting choppy!

To analyze the states of the gift card, we can dip into our user requirements toolkit and fish out a state diagram. This diagram is a powerful tool used to understand the possible lifecycle states of the gift card (purchased, activated, expired, etc.) as well as the events and stories that move it through its states. Rest assured, building a state diagram will uncover more data requirements, such as the attributes "date activated" and "date expired." You'll also learn additional business rules appropriate for each state. For example, when a gift card expires, what rules must be applied to any remaining balance? Now you have both oars slicing through the water!

A quick note about the data dictionary: This repository of data attributes can include rules specific to each attribute. For example, the "gift card status" attribute has valid values of purchased, activated, and expired. The data dictionary may also reference business rule statements that constrain an attribute or business rules that state how to derive the value of an attribute.

Going Solo, or Working as a Team?
As you've seen, using both oars in combination provides significant value. That's true whether you're rowing solo or working as a team. On a small project, you can model data and rules with one analyst covering all models. On large projects, I've seen the team allocate rules and data among specific people, such as a data administrator, business analyst, rule analyst, process modeler, or business expert. Each offers specific skills to support their shared responsibility of delivering a complete set of requirements. That's fine, as long as the rowers keep the two oars--data and rules--moving in sync.

Better Together
Avoid unproductive requirements, which I call "circling." Elicit and analyze the behavior, business rules, and data in tandem, and you'll deliver comprehensive and integrated requirements faster.

Further Reading
Business Rules Group and Business Rules Manifesto.

The Software Requirements Memory Jogger: A Pocket Guide to Help Software and Business Teams Develop and Manage Requirements, by Ellen Gottesdiener. Reference for details on leveraging the User Requirements roadmap and associated models.


About the Author
Mary Gorman, CBAPTM, Senior Associate at EBG Consulting, assists project teams to explore, analyze, and build robust business and system requirements models. Mary serves on the Body of Knowledge (IIBA BOK®) committee of the International Institute of Business Analysis and is the leader of the Requirements Elicitation subcommittee. She can be reached at mary@ebgconsulting.com and www.ebgconsulting.com.

Back to Top
 

StickyMinds.com Weekly Column From 10/13/2008 

Member Comments
Add Your Comment
 
Comment:    
by jaideep khanduja 10/14/2008

Well said Mary, using both oars is as important as using them in appropriate synchronized manner. The article is one of the classic approaches for development as well as testing. Thanks for such an insight in a good logical sequence. In fact, I was so engrossed while reading this article that the end was like a jerk to bring me out of it.

I wished the article was longer.

And thanks for the link to the “Business Rules Manifesto.”

Author's Response:
10/24/2008    
Jaideep, I appreciate your comments. You made an important point about synchronizing testing of business rules and data requirements! It’s impossible to test one without addressing many aspects of the other.

I’ve found the “Business Rules Manifesto” to be a very effective tool when talking to business folks about the “principles of rule independence”. Of particular relevance are Articles 1.1, 1.2, 3.5, 4.1, 4.2, 5.1, 7.1, 8.1, 8.3, 9.1, 10.1. 10.4, and of course 8.2 “Rules always cost the business something”!



 
 
Comment:    
by Sanat Sharma 10/14/2008

Agree with Mary's viewpoint. She really gave the best example about "both oars in the water". But sometimes, I feel that as an individual, you have to work as "both oars" within your working environment. That situation is very messy but I enjoyed it and still working and enjoying.

As far as Business Rules are concern, all of them stand on three factors - Vision, Mission and Policies.

-- Sanat Sharma

Author's Response:
10/24/2008    
Thanks for your comments Sanat. Yes multi-modeling can be ‘messy’. And being comfortable with the ‘messiness’ while iterating over the models may be difficult for new multi-modelers and for the project manager!

I’ve found it helpful to set the expectation that the various requirements models will be ‘works-in-progress’ throughout the elicitation and analysis work. We will not finalize one model without exploring and detailing other models. For example, the business rules are messy until we study related data requirements, verify the business rules are enforced by stories and of course trace the business rules to policies.


 
Back to Top



 
Ads By Google
What's This?
 
 



Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2010 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


TechExcel, Inc.




STAREAST 2010 


Better Software Conference