Main Menu
Home
News
Contact Us
Search
Newsletter
Company
Services
Research
Workshops
BMO
Repositories
EAS
Browsers
Web Services
Shop
Best Practices


Goal-oriented Versus Procedural Business Processes PDF Print E-mail

As organizations mature in their use of Business Process Management (BPM), they will realize the need to more directly and automatically align process outcome with business strategy by relating business goals and objectives to process behavior and outcomes. However, strides towards finding a suitable and practical solution unveils the limitations of current process modeling practice.

With BPMN as a typical example, the majority of today's business process modeling languages combine a procedural way of specifying the order of activities and an event-based model. All possible courses of action must be defined at design time, which, on the other hand, poses the risk of over-specification. There might be courses of action that are never needed. In addition, as a general rule, the lower the level of abstraction and the higher the degree of complexity of a process, the bigger the chance that one ends up realizing that it is not reasonable to model a business process in detail1.

In contrast, goal-oriented processes are termed declarative in that they explicitly consider the concerns that govern a business process. At design time, the overall process goal is broken down into a hierarchy of sub-goals, each of which encapsulates one or more rule-driven procedural processes. Although, in reality, goal-oriented processes are both declarative and procedural, they are fundamentally different from purely procedural processes. An execution plan is created at run-time. During the initial stage of goal-oriented process modeling, processes are typically under-specified. However, processes can be modified and extended even at run-time.

According to general systems theory, “organizations are complex dynamic goal-oriented processes, with outcomes dependent both on the contextual situation as on the coordinated and purposeful action of different entities in the environment”.2 All of these processes work together in a coordinated way to achieve defined goals and objectives.

In more concrete terms, organizations are able to adapt to rapidly changing contextual situations only in so far as possible actions are already built into business processes. As a result, greater process flexibility is an imperative requirement. The shift from inherently static processes (i.e. procedural processes exhibiting static process flow) to dynamic processes that can evolve during execution would meet this requirement.

There are basically two approaches to realizing dynamic processes: Dynamic Case Management and Goal-oriented Process Management. The latter approach rests on the premise that goals/objectives can be represented in a tree structure with one top-level goal and a number of sub-goals. A sub-goal represents a milestone, a familiar concept in project planning. For time planning, a goal hierarchy can be presented as a Gantt chart, given that each milestone has been assigned a date.

Breaking down business processes into sub-goals (milestone goals) means defining building blocks (i.e. compositions). Each building block implements a course of action (process) that achieves the sub-goal result.

A milestone goal only starts once the previous milestone has completed. If a problem is detected during execution that jeopardizes the timely completion of a sub-goal, the process can be dynamically modified without user intervention by evaluating alternative execution paths. The executing process can be wound back to the last successfully completed milestone goal, which also serves as a synchronization point. After possibly undoing previously executed process steps, the execution engine follows a different path.

Clearly, run-time agility is supported by executing different plans for the same milestone goal, depending on the actual situation. Process descriptions are open to future modifications. Business analysts and business users can add additional processes representing plans for alternative courses of action without changing any of the existing process definitions. This approach, natural to humans, makes incremental process development a reality. In other terms, loosely coupled process modeling has arrived.

In addition, process monitoring at the milestone goal level is really meaningful, since performance metrics and KPIs are directly related to goals. Monitoring at the process step level may often prove less valuable, since late completion of a process step may not put the timely completion of the process goal in jeopardy.

When it comes to executing a goal-driven process, the ICEE generates an execution plan on the fly. A similar yet simpler concept can be found with Relational Database Management Systems (RDBMS). A software component termed 'query optimizer' attempts to determine the most efficient way to execute an SQL query. It interprets a query, creates multiple execution plans, assesses them and selects the most efficient one based on certain criteria. The query optimizer works “under the hood”, meaning that ordinary business users are not even aware of its existence.

In a similar fashion, the ICEE would generate an execution plan for a business process, starting out with the top-level business goal/objective. Like a query optimizer, it would generate alternate plans representing alternate ways to achieve a business goal. It would consider milestone goals (sub-goals) and business rules (which represent formal expressions of business concerns).

In stark contrast to traditional BPMS, goals direct process execution, and processes are goal-driven by rules, which are derived from business policies and express them. Thus, processes are capable of dynamically changing behavior as business rules change. As a result, process execution becomes highly dynamic.

1cf. Harmon, P., BPTrends, Vol. 7, No. 9, May 12, 2009

2Yilmaz, L., Ören, T. (Eds.), Agent-directed Simulation and Systems Engineering, 2009

 
< Prev   Next >
   Home