Groupthink and Scrum

People who apply Scrum in their projects are familiar with Tuckman’s stages of group development which describe the phases a team runs through every time it is formed or changed.
The assumption is that the team members have to find their role before they can be productive. They get to know each other and conflicts are resolved during the storming phase.

Then after the norming phase often something interesting happens. When the people feel comfortable with their role they tend to avoid conflicts and discussions. This is natural and not a problem per se, but sometimes it hinders innovation and striving for the better.

In 1952 William H. Whyte already coined the term GroupThink which describes this behavior.


“Groupthink is a type of thought within a deeply cohesive in-group whose members try to minimize conflict and reach consensus without critically testing, analyzing, and evaluating ideas.

During groupthink, members of the group avoid promoting viewpoints outside the comfort zone of consensus thinking.

Groupthink may cause groups to make hasty, irrational decisions, where individual doubts are set aside, for fear of upsetting the group’s balance.”

And indeed if you work with people closely for a longer time (which is common in a Scrum setting), Groupthink is likely to happen. The consequences are underestimated risks, failing sprints and finally not delivering the promised results.

In order to avoid that, a Scrum Master should foster a healthy level of controversy among the team. He or she should encourage the team members to argue for the best solutions.
This must happen in a fair and constructive atmosphere in order not to damage the team. It requires strong interpersonal skills of the team members and the Scrum Master in particular.

Executable BPMN for Business Analysts?

People asking for the differences between BPMN and BPEL they often hear BPMN is graph oriented whereas BPEL is block oriented. But what does that actually mean and why is it important?

Block orientation means that there is no way back in the process like a goto statement. In BPEL a common workaround is to use loops to move backwards in a process. But this approach is cumbersome and creates non intuitive models. Block orientation feels natural for developers as it is how programming languages such as Java or C# work.

For business people this feels odd, cause it is not how they perceive processes in their daily business.
Business people regularly need a way to say “Oh wait, there is a problem in step X, let’s go back to step A and fix it.”.

Graph orientation means that the process can flow between tasks even backwards. In terms of Business/IT aligment graph orientation is a clear advantage as it is closer to how people think and work.

Because BPMN is graph oriented it is way better suited for business analysts than BPEL. Does that mean that with BPMN business people can create executable processes? In theory yes! And in reality?

As long as the BPMN model is purely prescriptive, people can freely connect tasks in all directions (more or less). But if the aim is to create executable process models, the BPMN semantics come into play. Although your modeling tool might allow to create all kind of links, process engines are very strict in what they can do. An executable model is like source code and as such follows strict rules.

Let’s create a simple example:

For an analyst this might look like a perfectly modeled process. The problem is that it ignores the BPMN semantics. Neither the modeling tool (Signavio) nor the process engine (Activity) complains, but at runtime the process runs into a deadlock situation. Why that?
The parallel gateway used to join the process after the execution of Task 1 and Task 2 expects two tokens. On the first run it gets two tokens and everyting is fine. If the completed gateway continues with Task 2 on the second run, the joining gateway receives only one token and the process is on hold cause the second token never arrives.

If the aim is process automation, it is essential that the process strictly adheres to the BPMN semantics.
For most business oriented people (at least the ones that I know) this is new completely new terrain.