Archive

Posts Tagged ‘BPM’

Central control and local flexibility

Why I am looking at these MDA papers?

It is inevitable in big organizations, that there are central processes that are supported by every part of the organization. But at the same time it is desirable, to support individual processes, that respect local specialties. In this case the local units must be given the possibility to plug into the global processes. This can only be done, if the behavior of the local and the central processes is known – and by this the interaction – the choreography between them – can be defined and described. Therefore it is important to have behavior modeling languages for processes of units and of the choreography. Furthermore sometimes it is necessary to allow a local unit to describe their own processes or aspects of their own processes in their own language – a DSL – and plug them into the central processes.

If this is achieved it is a controlled powerful local flexibility with the integration into centrally controlled processes.

All of these articles and also BPMN 2.0 can help to strife towards this goal.

Answer to “Reframing the BPMN vs BPEL Debate”

April 11th, 2009 Frank Michael Kraft 1 comment

Reframing the BPMN vs BPEL Debate poses some interesting questions. I took from it:

  1. Is BPM a business Discipline or software engineering?
  2. Whose responsibility is it to implement (automate) a business process?
  3. Should we aim to move from design to deployment with no programming?
  4. Whose responsibility is it to maintain a business process?

I have some opinions on these questions.

Is BPM a business Discipline or software engineering?

In my opinion it is foremost a business discipline. It  is about managing business processes, as the term says. It is identifying processes, understand them (model them), define a roadmap for process changes, design new processes, implement and monitor then. This all can – theoretically – be done without IT. Actually most of our day to day processes (drive to work, go to the supermarket on saturdays) are without an electronic workflow (well – some might have :-) . Also the people of old had very much the same principles when they organized their kingdoms and businesses – without IT. They weren’t sending XML messages back and forth – but herolds and messengers on a horse and the like. This of course were also business processes which were also managed and clearly defined. They did not call it BPM back then, but it was in it’s essence.

But is it a question of scale and speed. In practical today’s business life it is inevitable to use IT to reach the needed performance of the business process execution and the needed information pool for the monitoring of it. Therefore the question of how to transfer modeled business processes from the business discipline of BPM to IT is crucial.

Whose responsibility is it to implement (automate) a business process?

In my opinion it is the responsibility of the process owner. The process owner in my opionion is foremost a business person. He is responsible to design and implement the business process. Design – I don’t mean necessarily the modeling with BPMN for example. This of course can be delegated. But the process owner is in the end responsible for the performance of the process and the profit it yields.

If the process owner decides, that a particular part of the process or the whole process should be supported by automation, then of course this part can be delegated.

Should we aim to move from design to deployment with no programming?

This is in my opinion unrealistic. Also it is a question of definition. What is programming and what is not programming? Typically people associate programming with imperative programming (like in C#) or with character based input. Modeling is on the other side which is more declarative and more graphical. But what about rules for example? They are character based and declarative. Also they can usually call subroutines, which are imperative. In some sense a BPMN model is also imperative. So what does this question mean? Probably it is, that it must be made easier for business experts to express which process they have and which they want. Of course it is a big benefit, if these models can be used in runtime or transformed in some canonical way into runtime. The success depend on if it is possible to express the process in the languange of the domain of the business process owner. This is why I think that Domain Specific Languages must be desiged with the greatest care and intelligence. And I think that this area is much less expoited than it could be. In my opinion much more is possible that we have achieved on the great scale already.

Whose responsibility is it to maintain a business process?

In my opinion it is the Business Process owners responsibility, who is a business person. And he might delegate it to someone of IT. However the model is the common communication channel between the two. So the model must be accurate, understandable, detailed, summary, and optimally simulateable. Especially the part of  interactive simulation has been much underestimated in my opinion, because it is able to show the behavior of a system implementation of a business process before it is implemented.

Syntactical Model Checking, Model Simulation, Verification and Governance

February 17th, 2009 Frank Michael Kraft No comments

[ad#imagead]

It is a trend to offer tooling that supports BPMN modeling together with model syntax checking and model simulation. For example see BPMN simulation and syntax checking in ARIS.

Model syntax checking can make sure, that modeling rules, that are statically checkable are kept. It is definitely a help. Especially beginners do not know all of the syntax rules and are guided by the checks. Also experts might find this feature helpful.

Model simulation can be distiguished into

  1. Interactive simulation of a single process instance and
  2. Cumulative simulation, where many process instances are created and throughput and latency are determined

Especially the ineractive simulation of a single process instance can also be a great help in understanding the model and even the modeling elements and it’s semantics.

The cumulative modeling itself is more like a determination, if the underlying business process is optimal or not.

Another category is thinkable: The verification. While cumulative simulation or single model instance simulation can not ensure, that certain attributes for a process hold, like the absence of deadlocks, verification can. Here it is decisive to find the right attributes of a process that shall be tested.

All of this are technical means to achieve better model quality, and all of these are useful. But none of these is so useful as a governance process. Just because humans can without all of these means do the same thing and they can do even more. They find problems, that even the most sophisticated syntax checker, simulator or verification routine will never find. Also what all of these methods can only find is the consistency of the model in itself (or with another model), but never can test the correspondence of the model with the real world process. This will still be left for humans for all times.

Therefore while all of these means of checking and testing are useful, because they are comfortable, they can or should never substitute a governance process.