Tuesday, July 29, 2008

Extract the Business Rule from the Business Process

As I have worked with the BPMN modeling techniques, I have watched my process models become extraordinarily better, more valuable and more accurately communicate what is really happening; whether good or bad. Modeling people, other processes and applications as interfaces has focused me more concretely on the information flow and functionality of the interactions. Focus on these interactions is what I am seeing improve the modeling.

Also, one of the changes I have made is to explicitly extract the business rules from the process as we build the model. Each “Gateway” or decision point has a pointer to a version controlled business rule. For the process I am modeling (Technical Support and Material Return), I don’t anticipate these rules changing frequently. Despite that, I can really see the value in pulling the decision logic that is based on process data out of the process so that it can be managed independently.

Today, for me, this is a design and modeling technique. We are investigating rules engines, packaged application service availabilities, etc., but don’t have those technology capabilities yet. However, by building the models in this way, I see it as a compelling way to design better process automation in existing applications while building a case for additional layers of technology to move logic out of application and into various kinds of engines.

I think the concept of layers is the secret sauce. Designing in layers. Managing in layers. Implementing in layers. I think this also closely relates to the concept of services. Process service. Decision service. Application service.

No comments: