Sunday 24 April 2011

pattern BPMN examples

Following the articles for patterns and using BPMN intalio tools, i submit the below examples for the discussed patterns.
click on the images to see the examples

and-split pattern..


or-split pattern



xor-split pattern


Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

Tuesday 12 April 2011

Advanced Branch and Join Patterns-Multi-Choice

Earlier I have posted the basic Patterns of P4 in Real modeling Process . These were the basic patterns which we use all the time and are fundamental in process modeling. Furthermore we must mention that advanced patterns are also a necessity in modeling world as they are also used extensively.
Starting from the common pattern which is called Multi Choice, we refer to a pattern which is placed so as to choose one or more parallel branches in which each branch is taken only if it satisfies a particular condition. This pattern is also called as Inclusive Or split. The difference between exclusive and inclusive OR is that exclusive_OR allows only one branch to direct the process where inclusive OR allows more than one path to be spawned.

Synchronizing Merge

The intent of synchronizing merge is to join branches spawned by a Multi-Choice(see above). That is to wait for all active paths in a parallel to complete. This Pattern is also known as Inclusive_OR_Join. Though the idea is intuitive and this pattern can help us solve many problematic areas, many BPM products cannot support it because of its implementation difficulties of tracking which branch was executed. Languages that use the Petri-Net conception of token passing to model control flow can implement such a pattern.
As far as BPEL is concerned, it uses the principle of dead path elimination, another Petri_Net inspired concept, to solve this problem. 



Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

Continuing with Patterns- Exclusive Choice


The intent of the Exclusive Pattern is to branch from a single activity to exactly one of several paths, based on the evaluation of a condition. This pattern is known as a XOR-split.
The need for such a pattern is big and this is used widely in everyday’s activity. To understand the power of the XOR split we just give an example of a bank customer who wants to login to the i-bank. The customer gives the password and if the password is correct he is redirected to a welcome page. Otherwise if something goes wrong the customer is informed that he cannot access his account. So this behavior is modeled as an XOR split from Get approval to send welcome user page or Send rejection message. The effect is that of an if statement in the process.
Implementations of this widely supported pattern include control constructs (this can be a switch statement in BPEL and BPML) and explicit split elements(such as XOR gateway in BPMN and the diamond in UML activity diagrams).
Simple merge
The intent of a simple merge pattern is  that several exclusive conditional paths converge on a single activity, which starts executing when the one chosen path completes. The pattern is also known as XOR-Join.  A simple merge is actually the endpoint – XOR join- of a process that splits and which started by an exclusive choice. In programming we can assume that it is the end of an if statement . now in languages in which conditional processing is modeled as a control structure (such as BPEL and BPMN) the control structure can manage the merge(for example, when the switch case in BPEL completes, its selected case is quaranteed to have completed.)



Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

Tuesday 29 March 2011

Parallel Split Pattern in modeling -BASIC PATTERNS

Parallel split
After the analysis made in the basic pattern called sequence which is the most basic step in modeling and processes, we should move on to the parallel split. The intent of the parallel split pattern is to branch, or fork from a single activity to multiple parallel paths. This Pattern is also known as AND-split.
It occurs when there is a need of multiple streams to execute at the same time. An example of this would be when an employee needs to apply for vacation. The Department manager gets the application of the employee. At the same time the application is  forwarded to HR dept.  where the HR employee should update the available dates. The application approval depends on the Department manager and the HR. to let the process move on to its completion these to tasks should complete successfully.
This pattern is related to Synchronization, Exclusive Choice and Multi-Choice
Synchronization
the intent of synchronization pattern is to have several parallel paths converge on a single activity which waits for the completion of all paths before starting. The pattern is also known as AND-Join. Synchronization is common requirement for many processes. In the above example to get the process of work permit completed the activity of  final completion from the department responsible for work permits must not be started until the 2 preceding parallel activities have completed.
In languages in which parallel processing is modeled as a control structure(flow in BPEL and ALL in BPMN) the control structure itself manages the merge. For example, in BPEL when the flow in BPEL completes, its child activities are guaranteed to have completed. In languages where the merge requires an explicit join element(such as the AND gateway in BPMN and the join in UML activity diagrams) the join element performs the merge.
This pattern is related to parallel split, Simple Merge, Synchronizing Merge,Multi-Merge, Discriminator




Giannis Giataganas
 IS Consultant, BPM Analyst 
Bsc in Informatics, AUEB MscIS
Athens University of Economic and Business

Friday 11 March 2011

Process patterns and the P4

As far as processes are concerned, the process community has identified and codified different sets of common problems. This action was a result of previous similar approaches taken by the programming community. Previous works on the programming patterns include the GOF’s book which is a catalog of 23 patterns related to the creation of objects, the structural relationship of objects, the behavior of objects and so on. The best thing about using a pattern is the standardization. Each pattern is documented according to a standard template with sections such as intent, motivation and known uses.
Similar approach happened by the process community and by a group of 4 which we call process 4(P4). The article workflow patterns lists 20 patterns which are used for processes. This catalog is an account of process control flow.
Well what changes from the programming approach of GOF’s documentation is that the GoF patterns are documented as object models whereas P4 patterns are spatial and visual. Process patterns are clusters or constellations of process activities arranged in just the right way to solve difficult problems.

The categories which P4 patterns are included are:
• Basic patterns
• Advanced Branch and join patterns
• Structural patterns
• Multiple instances patterns
• State based patterns
• Cancellation patterns


BASIC PATTERNS

Basic patterns cover fundamental process capabilities: running activities in a sequence; spawning, and later joining,parallel lines of execution; and branching intone of several directions based on a conditional choice. The five basic P4 patterns are:
• Sequence
• Parallel split
• Synchronization
• Exclusive choice
• Simple merge


Sequence

Intent
To run activities sequentially. For example run activity A followed by B followed by C

Need for activity sequencing
Almost every process has at least one segment of two or more steps to be performed sequentially.
And the activity sequencing is essential part of the notion of process, it is not surprising that all BPM vendors and specifications support the Sequence pattern.

We can give an example of this activity sequencing in BPEL for a registration in a service


sequence
invoke name=”give certifications”
invoke name=”get approval ”
invoke name=”update DB data”
invoke name=”send confirmation email”
invoke name=”send welcome page”
sequence
 * we removed the <> so as not to read as html code



Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

Sunday 13 February 2011

origin of BPM standards: Pi-Calculus vs. Petri nets

below we refer to the pi-calculus and petri net influence to major bpm standards. we divide the bpm standards as following:

pi-calculus influence:
- WS-CDL
- WSCI
- BPML
- XLANG

Petri-Net influence:
- BPMN
- YAWL
- WSFL

As a matter of fact, BPEL is a blend inheriting both from pi-calculus and petri nets
this is happening because BPEL has the following relationships:

XLANG---> BPEL <------WSFL

STARTING FROM PI-CALCULUS


Pi-calculus was developed by scottish mathematician Robin Miller in the 1990's and can be described as a formal language for defining concurrent communicating processes, including, but not restricted to business processes. it seems to be an advanced algrebaic system. in pi calculus system each process consists of one or more actions which can be arranged sequentially in parallel or conditional paths, or recursively. When we refer to an action we should also note if we are sending or receiving it on channels. an example will enlighten the description. when writting this language we actually write mathematical equations using predefined symbols.

The following example demonstrates interactions of a customer a travel agent and an airline(Example taken from Essential Business Process Modeling)

1 Customer(Creatorder, customer)=
2 createorder.customer(result)
3 Agent(createorder, agentok, agentfail,airline)=
4 createorder(customer).airline.
5 Agent1(agentok,agentfail,customer)
6 Agent1(agentok,agentfail, customer)=
7 agentok(result).customer+
8 agentfail(result2).customer
9 Airline(airline,agentok,agentfail)=
10 airline(agentok,agentfail).agentok<"conf no 100">
11 End2End=
12 (neworder,cust,ok,fail,air)
13 Customer(corder,cust)| Agent(corder,ok,fail,air)|Airline(air,ok,fail)


p send q on channel p
p(q) receive q on channel p
dot(.) in coding is the sequential operator
(+) conditional operator denotes that exactly one of this actions will



PETRI NETS

the petri network was developed by the mathematician Carl Adam Petri, is a formal graphical process modeling language that can design systems as diverse as train track switches and business processes(Essential Business Process Modeling book). you can easily find information on petrinets and their rules searching the internet. there are tools available to use to draw petri nets. be careful because they may have some similarities with state machine diagrams but they have different functionality and should not be compared.


Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

Monday 17 January 2011

Modeling needs fantasy

after we have taken the necessary steps to develop the overall concept of a bpm project, there is a time that we come to modeling. i admit that modeling is a creative and interesting task. i am fond of this creative task. After all it's the outcome of all the work done earlier in a BPM project.. and i am referring to the phases that exist before modeling. all the analysis takes flesh and bones when it comes to process modeling. i strongly believe that good modeling technics and good modeling tools are not enough to design good and efficient processes. it's pure architecture. Well the work of a process modeller is not exposed to public view and the truth is that one can hardly understand the beauty of a good modeling process without measuring it.But what does it take to make a succesful modeling. Obviously the preliminary work must be done correctly and correct data should be delivered to the modeling team. But there are a lot more than the above.
there are so many modeling technics, so many different angles and perspectives you can distinguish in process modeling. The modeler has it's way to reach the required result. Process Modeling is architecture and modelers should understand that...
it's good to use different kind of models and diagrams, to have a lot of aces through your tools. Models should create value to the organization. what does it need? In my opinion, an important component is FANTASY. One must be able to see beyond the obvious. It's important to conscript the fantasy and the design skills by putting your own touch. Modeling is not just putting things together and creating workflows, redesigning processes but it's also an art of making flexible processes, of succesfully letting the work easily flow through well defined diagrams, of placing correct nodes and simplifying the processes, of imagining new ways that can be consorted with the organization vision and mission.

Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

Sunday 16 January 2011

People change management in BPM projects

Good companies react quickly to change
great companies create change
Move before the wave!! change before you have to.
(Hriegel and Brandt, 1996)

During a bpm project, unless it's an extremely small and isolated project, culture will need to be dealt with. however we need to pay attention to those who use culture as an excuse to get away with the process of change. it's the leadership's responsibility to create the right conditions so as to pass change without pain in the organization. And pain comes easily into the organizations lifecycle if we dont pay attention to change management basics. But be carefull because change management is not a strict and predefined series of steps. It has to do with PEOPLE. And when culture needs improving then it always be as a result of some part of the organization processes, structure or people management systems not responding or changing as required. These issues are usually the root cause, and the culture is the outcome. Within a BPM project, always remember that the project outcome is the goal, and any cultural change that may be necessary is a result of the process goals.Some cultural change is essential as part of a succesful project. However cultural change is not an end in itself.

Here we provide a process of how to assist these 'ordinary managers and workers' to become prepared for, and accept change.


process steps

1) resistance to change

the only person who likes change is a wet baby. (Mark Twain)

And he is right because there are reasons to support this:
a)fear
b)feeling powerless
c) effort and pain to change
d) absence of self-interest


2) why change? what's the leadership role

Michael Hummer stated in 1993 that'coming up with the ideas is the easy part, but getting things done is the tough part'. And he is absolutely right. The gatekeepers of change are the people involved. there can be the best processes and BPM systems, but if people refuse to use them, or use them poorly then the project will not be succesful.
there are two methods that can be applied for the change to take place and become acceptable from the people.
a) there must be a crisis and it's the job of the CEO to define and communicate that crisis, its magnitude its severity, and its impact.Just as important, the CEO must also be able to communicate how to end the crisis-the new strategy, the new company model, the new culture.
(Gerstner, 2002)

the second method is more subtle, and requires leadership to have people understand that there is a problem and inform them of the magnitude of the problem and why it is essential to change.

the people within the organization do not need rah-rah speeches; they need leadership- direction, consistency,momentum, and persistence. they want leaders who will focus on solutions and actions.

There is important to exist a person responsible for these changes. a LEADER. this person should and must always be ready to provide answers for the following questions:

what is change intended to achieve
why the changes are necessary
what will be the consequences of these changes to both the organization and the individuals?
(Scheer et al. 2003:26)


3) components of the change program

a) planning a detailed project plan
b) selection of a key personnel to get involved in the project
c) a clear understanding of the program's links to: strategy, culture, structure, new people roles, new processes and the overall BPM project.
d) a detailed communication plan outlining the way information will be delivered to all stakeholders

4) Getting ready for change

a) create an enviroment that will allow and encourage people to change.
b) Ensure that there is feedback regarding performance and the change program

5) required behavior

there are three simple sub-steps that can assist the people change management process

a) a short clear uncomplicated message needs to be developed. win execute end team (Gerstner, 2002) provides an example of how short clear and powerful this message can be.
b) a behavioral charter needs to be developed showing the behavioral change required for change from the current to the new behavior
c) a set of principles that we will all live by within the organization must be developed.

these all must be documented and communicated to all people in the organization to have a positive result



6) how to get there

finally after we adressed all these issues, it's important to know what it takes for the leaders to get to the wanted results. Depending on the scenario, it could even take houndreds of hours to get the work done.. we should always have in mind that there are no quarantees.


The first step is to analyze the needs of the BPM project, based upon the
project scenario selected, because deciding what and how to change is critical:

● Does the project require the entire organization to change, or only
parts of it?
● Once this is agreed, determine the depth and breadth of the change
program.
● Always have ‘depth’ rather than a ‘shallow’ change effort; understanding
this will take longer and require more effort, but will yield
significantly better sustainable results.
● Always match the change program to the various aspects of the
People phase of the framework.

Stace and Dunphy (1996) provide an extremely useful summary of the
decisions and outcomes of a change program, and this is shown in Table 25.2.
In looking at and evaluating the actions to be executed during the people
change management program, always test the tasks and proposed actions
against both the project scenario selected and the following rule:

If it doesn’t:
● add-value to a customer
● increase productivity or
● increase morale
then don’t do it.

(Information taken from Book"Business Process Management: Practical Guidlines to Succesful implementations by John Jeston and Johan Nelis")

Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

Friday 14 January 2011

When should you do BPM? what are the main drivers and triggers?

John Jeston and Johan Nelis
"There are difficult questions in a generic manner
the real answer is'it depends'. it depends upon the
circumanstances of the organization and the organization
process maturity and these will vary from org to
org and from situation to situation."

So what the above tell us? it's important to know when we should start a bpm project. sometimes we ask ourselves: are the above drivers and triggers enough so as to initiate a bpm project? the organization should have mechanisms to check if some specific drivers and triggers exist in the organizations 'spine'. if that is true, then a bpm project should be applied. But that is really so general. of course as John and Johan claim the bpm project depends mostly on the organization conditions and the organizations real maturity at processes. For example, if a process-immature organization has enough drivers and triggers to justify business project management, then the next step is to define the level of bpm project and the automation needed. We should have in mind that Bpm depends mostly on the real working conditions and the org culture. Without human resources being aware of processes, a bpm project could become a total failure if not create catastrophic results in the health of the organization..
We talk about drivers and triggers but can we define and organize them? is there a way to have them in a sos-index and use it as a safety measure to alert us for an incoming bpm project? well there is no panacea and there are no absolute paths. Managers should have critical minds and should know exactly the condition of their organization. Although the above are extremely important, John and Johan through their Book "Business Process Management: practical Guidelines to Successful Implementations" categorized some of the likely drivers and triggers that may cause an organization to consider BPM as a possible solution, looking at these drivers and triggers from organizational management, employee, customer, supplier/partner, product or service, process an IT perspecives.

Drivers and triggers for the organization to consider an automated solution
may include:
● a high volume of similar and repetitive transactions
● a clear flow of high-volume transactions that need to be passed from
one person to another, with each adding some value along the way
● a need for real-time monitoring of transactions (a need to know a
transaction status at all times)
● a critical issue with processing time – that is, time is of the essence
● a need to complete many calculations within the transaction
● transactions or ‘files’ need to be accessible by many parties at the
same time.

John Jeston and Johan Nelis have created a large list of possible drivers and triggers. However, we should be careful not to over-automate processes to the extent that organization loses sight of the need for people involment. People are best at managing relationships.

"when to commence a BPM project is a difficult problem. For any given organization, it will be appropriate to start a BPM project when the right number and combination of the above drivers
and triggers occurs. This will be different for every organization, and for every
situation within the same organization".



Giannis Giataganas
IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

counter