On Business Rules project best practices – Part II – Help and Education

This entry is part 2 of 7 in the series Business Rules Project Best Practices

In my previous post, I started listing a list of best practices that can and should be used when working on a business rules project. This post is about detailing one of these practices further.

Get help and Educate yourself and your team

First, if the organization is new to business rules, get help. Chances are guidance will be required and hopefully will help you succeed with your project. Yes consultants can be expensive, but they can help you avoid some of the pitfalls on this type of project, and if you make sure your team stays close to the consultants, they should be learning so that you will eventually become independent.

This brings me to my second point. Educate yourself and your team. Yes there is a cost to upfront classes and education (in time and $) but it will hopefully help you get the most out of your rules project. The formal courses, book readings and other resources available around should give you a kick start and then working with some experienced consultants should complete this education as well as give you some practical experience within your specific environment.

Why did I combine these two topics? Because the people you get to help you should also be there to educate you with their practical experience and knowledge similarly to some mentoring.

The reasoning behind this

Of course, being a consultant and instructor myself probably gives me a bias towards this, but I will point out why I think this is important with some details below.

Suppose you are starting a project and as you are evaluating your requirements, you realize that you will need a business rules engine (BRE) (I will focus on BRE here, but this may also apply to BPM as well). Now since you are new to this technology, you start reading on the subject (which is great), and start looking at the different products out there. You might even want some of them to come in and present you their products in demos (or through webminars), etc. Because of time and effort constraints you will probably limit yourself to some 3 or 4 products and your eventual choice would be based on their presentation and marketing material. Since you are new to this technology, you might not make the right decision. Getting help at the stage of the evaluation will hopefully provide you with an unbiased opinion and make sure that your choice is based on a more educated evaluation of the products in comparison to your requirements. You might be able to get away with not getting outside help for this part, but getting help would give you a sanity check.

Now that you have selected a product or a shortlist of products, it would probably be beneficial to ask the vendor(s) to do a proof of concept* for you. This proof of concept should be a relatively simple list of requirements that you have and you want to see how each product will respond to your requirements. The help you would get from an outside consultant here would be to keep a close eye on how each product is actually responding to your requirements, and help you identify places where you should ask more questions. This is also a time where you need to educate yourself more about how each product is going to require you to work in the future.

Next you select a product, and hopefully it is the best product to fit your requirements. The best thing for you to do is to educate yourself on that product. Identify the team members that you will want to be part of a prototype* or pilot*, that is the business analysts and developers that will be involved and send them on the appropriate courses provided by the vendor. This will give them a kickstart on the product and hopefully, working on the prototype will allow them to assimilate these new skills faster. This team will also become the internal experts, and possibly evangelists and teachers for the future phases of the project.

When working on the prototype, get help from either the vendor professional services and or outside consultants so that you learn how to do things using the best technique. This prototype is an excellent opportunity to improve on the skills of the team you trained and to give them the knowledge they need to take this over in the future. Your team will be learning from the consultants and be executing some of the work.

There is always more to learn, but this route should be taking you to the path of independence from outside consultants short of getting more manpower to execute some of the work faster. The need for consultants should reduce over time except when you have very specific challenges that require specialized knowledge to accomplish.

A sample timeline

The following graph displays a sample timeline for a business rules project from the help and education perspective. The scales used are arbitrary and used for demonstration purposes only.

Help And Educate Sample Timeline

Help And Educate Sample Timeline Legend

First, the red line shows that the internal team starts small, eventually grows to involve the staff required for the prototype (or pilot) and then grows further when subsequent phases of the project continue to proceed. It shows what happens during a project, and not what would happen after the end of the project, where the internal staff might be reduced to fit only what is required for operations.

Second the blue line shows the involvement of external consultants. They get called in early in the project as to guide the team in the right direction. We eventually see a progressive withdrawal of the consultants once the project is well under way, with specialized interventions when there is a need for them.

Third, we see a Green line that might show additional manpower required to achieve some of the work in the timelines set by the project. This is an optional involvement that is required only if the internal staff is not sufficient to meet the deadlines, etc. This does not suggest that extra help will absolutely reduce timelines, the usual laws of adding people to a project still apply, but sometimes external help is required.

Finally, in purple, we see the evolution of the internal knowledge of the team that is involved. This is also for demonstration purposes and does not intend to imply that the team will not learn what they need faster (or slower).

In summary

  • Get help: to start in the right direction and to learn from people with experience.
  • Educate yourself: to be more efficient and to be autonomous sooner

On Business Rules project best practices – Part I – Introduction

This entry is part 1 of 7 in the series Business Rules Project Best Practices

Over the years I have seen things go well in projects that involved business rules, and I also have seen things go not so well. I am sometimes asked for “best practices” or practices to avoid, so I figured I would document some of them in the series that will follow.

In this post, I will introduce the best practices that I will cover in more details in future posts. Please note that some of these best practices can be performed in parallel to other ones and they are not necessarily presented in order. Whenever possible through the series I will provide references for what I write.

Here is a global view of the practices

Whenever I can I will refer to other articles and resources that complement the contents of the best practices.

During this series, I am hoping to get some questions and comments that will help improve the contents of the posts, this blog is hopefully going to become an interesting resource on the topic.

*This best practice is to me the most important stepping stone to a successful project. It is introduced later in the series, but if you were to choose only one of the best practices, this one would probably have the largest impact. Some will disagree with me but then again, this is my opinion… 🙂

On Business Rules Categorization – Part V – Rule Classification part 2

This entry is part 5 of 5 in the series Business Rules Categorization

This is the fifth of a multiple part on the topic of business rules categorization.

In previous parts we followed my path to creating a rule classification which I detailed in my last post. In that post I also mentioned that I would try to relate this classification to other works from Ronald G. Ross and this is what this current post is about.

Classification compared to System/IT versus Business Rules

In an article titled “Are all Rules Business Rules? Not!”[1] Ronald G. Ross presented criteria for identifying business rules and differentiating from System /IT Rules. Based on that criteria and some thinking on my part, I attempted to cross reference the classification I proposed with those “types” of rules.

  Rule Category Business vs System/IT
1 Rules for data transformation System/IT
2 Rules for referential integrity System/IT
3 Rules for data validation System/IT
4 Rules for security System/IT
5 Rules for presentation System/IT
6 Rules for workflow or business process Business
7 Rules for decisions Business
8 Rules for rating engine Business

So the first five categories would probably not classify based on his criteria, but if you go back to the post where I presented the classification, my justification for putting these “under business jurisdiction” still holds.

Classification compared to the BRS Rule classification[2]

       

 

Rule Category Rejec-
tor
Produ-cer / Compu-tation Produ-cer / Deriva-tion Projec-tor / Enabler Projec-tor / Copier Projec-tor / Execu-tive
1

Rules for data transformation

       

X

 
2

Rules for data integrity

X

       

X

3

Rules for data validation

X

         
4

Rules for security

X

         
5

Rules for presentation

     

X

X

X

6

Rules for workflow or business process

     

X

 

X

7

Rules for decisions

X

X

X

X

X

X

8

Rules for rating engine

 

X

       

As can be seen in the table above, we can actually match the types of rules expected in this categorization to the BRS Rule Classification.

What’s next?

So now what is next? Well, in an enterprise, once you have identified the types of business rules that apply to you, there are a few things that come next.

  1. Which tools are you going to use to document and manage these rules? Different tools might be required for different categories of rules, it all depends on your requirements
  2. What is going to be the life cycle for each type of rule?
  3. What kind of governance do you need in your environment?

I might attempt to address these topics at a later date.

 

[1] Ronald G. Ross, “Are all Rules Business Rules?  Not!” Business Rules Journal, Vol. 8, No. 5 (May 2007), URL:  http://www.BRCommunity.com/a2007/b345.html

[2] Ronald G. Ross, “The BRS Rule Classification Scheme”, http://www.brcommunity.com/b086.php?zoom_highlight=brs+classification+scheme