Literate Process Modeling

Author(s)

President, BPMPros LLC

Thirty years ago, Donald Knuth introduced the notion of literate programming.   He wrote “Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.”   His premise was that over the lifetime of any successful program, far more hours would be spent reading it for purposes of maintenance and enhancement than were originally spent creating it.  Furthermore, most of this would be by people other than the original author.  If this is true, a little more effort in documentation by the original author will be paid back many times.  We believe these principles are even more important in Process Modeling than in traditional programming. 

Many vendors don’t like to admit this, but an executable BPM process model is a computer program.  It is a set of instructions which direct the actions of the system.  It is defined largely in a graphical notation and uses constructs which are closer to the business domain than the computer, but it is still a program.  More so than traditional programming, BPM methodologies embrace continuous improvement.  Since the process model is easy to modify, the barriers to change are lower and organizations should take advantage of this to continuously improve their business.  To be successful, this requires that process models be easy to understand and to modify.  Unlike traditional programming, the business stakeholders will interact directly with the “program code”, the BPMN model.  This requires that the model be created not only for execution by the computer and understanding by technical professionals, but also for correct understanding by business people with limited training and understanding of the modeling notation. 

We have found that one of the more common causes of failure in BPM projects is that when a process is deployed to production, its behavior does not match the expectations of the business users.  This can occur even when business users are involved throughout the full development lifecycle.  They review and approve process models based on a limited understanding of the behavior of the various modeling elements.  In the extreme, this causes a loss of confidence in BPM as a strategy and death of the BPM initiative.   The gap in precision of model comprehension will never completely disappear, but there are ways to reduce it.  Borrowing from Knuth, we lump these practices under the label Literate Process Modeling.  The rest of this article will discuss practices which facilitate literate process modeling.

The first step is for an organization to establish modeling standards.  Every tool is different, and most implement only a subset of the full BPMN standard, so it is not possible to propose a universal set of recommendations.  Each organization must define guidelines appropriate for its tools, business domain and organizational culture.   Defining standards is not enough, they must be enforced.  We have found peer reviews very effective at several stages in the process.  The first review should be early, when the process is perhaps 50% defined.  A final review before deployment is essential.  For complex processes or ones that had many changes additional reviews may be necessary.  This need not be a burdensome process, for a typical process it should only take 10-15 minutes.  A simple spreadsheet checklist is very useful in assisting the reviewer to remember all of the standards.  It should not contain more than 25-30 items.  The act of forcing the author and reviewer(s) to sign-off on the review is powerful in ensuring that the standards are taken seriously and followed.

The second step is training.  Process creators will likely need the vendor’s training on the specific tool, but all stakeholders should be given training in the organization’s modeling standards and the peer review process.  This training should be developed and delivered internally.  Obviously this training must be given near the beginning of the program.  For the initial program and for new team members, we have found it valuable to repeat it in a few months, after everyone has had some hands on experience.  The standards, and particularly why they are preferable to the alternatives will be better appreciated at this time.

As with traditional programming, additional of textual documentation is essential.  In traditional programming languages, comments in the source code are used.  In Knuth’s literate programming platform cweb, this is reversed and the code is interspersed in a descriptive text document.  The primary BPMN support for documentation is the Text Annotation.  Annotations are placed in the process, near the elements they elaborate.  The text is visible without further searching.  In general, annotations should be used to explain anything which is not obvious to the non-expert stakeholder.  Splitting gateways are a good candidate for explanation as are system activities.   We prefer to keep the text of individual annotations fairly short, 15-20 words maximum.  We have seen processes where there were paragraph length explanation of nearly every activity, event and gateway.  In these processes, the annotations took up so much space that they actually obscured the flow of the processes.  We have generally found that a number of annotations in the range of 50-100% of the number of functional elements to be sufficient without crowding out the other elements. 

BPMN is a large, complex standard.  It often includes multiple ways to model the same behavior, and includes some elements whose behaviors are quite opaque.   We find that it is best to pick one and use it consistently.  In choosing between alternative notations, always select the one which most explicitly communicates the intent.   This will often result in a model with more elements, but this is a small price to pay for improved understanding.

 There have been several controlled academic experiments to evaluate the impact of different notations on process understanding.  One common finding is that all behavior should be made explicit.  For example, BPMN allows branching and joining of flows without gateways by having multiple flows in and out of activities and events.  The exact behavior of these is defined by secondary notations for default flows and conditions.  While these are sufficient for the process execution engine and for expert modelers, business people often misinterpret these.   

Process modeling best practices is a topic far too large for a short article such as this one, and we will be exploring other aspects in future articles.  We hope that this has improved your understanding of what is a good process model and that you will begin to apply some of these ideas in your organization.

Similar Resources

Enhancing Your Team’s BPM Capabilities: The Value of External Expertise

Enhancing Your Team’s BPM Capabilities: The Value of External Expertise

Author(s):

Editor & Founder, BPMInstitute.org, BAInstitute.org and DBIZInstitute.org

Enhancing Your Team's BPM Capabilities: The Value of External Expertise In today’s dynamic business environment, managing and improving business processes is critical for any organization aiming to maintain a competitive edge. Many companies consider handling Business...

Exploring Shared Data Model and Notation (SDMN) and Its Role in BPM+

Exploring Shared Data Model and Notation (SDMN) and Its Role in BPM+

Author(s):

Editor & Founder, BPMInstitute.org, BAInstitute.org and DBIZInstitute.org

Exploring Shared Data Model and Notation (SDMN) and Its Role in BPM+ Introduction In the evolving landscape of Business Process Management (BPM), the introduction of Shared Data Model Notation (SDMN) marks a significant advancement. As businesses increasingly seek to...

Embracing the Future: Low-Code and No-Code Platforms in BPM+

Embracing the Future: Low-Code and No-Code Platforms in BPM+

Author(s):

Editor & Founder, BPMInstitute.org, BAInstitute.org and DBIZInstitute.org

Embracing the Future: Low-Code and No-Code Platforms in BPM+ Introduction In the realm of business process management (BPM), low-code and no-code platforms have emerged as transformative tools, reshaping how organizations develop applications and manage workflows....

Featured Certificate: BPM Specialist

Everyone starts here.

You're looking for a way to improve your process improvement skills, but you're not sure where to start.

Earning your Business Process Management Specialist (BPMS) Certificate will give you the competitive advantage you need in today's world. Our courses help you deliver faster and makes projects easier.

Your skills will include building hierarchical process models, using tools to analyze and assess process performance, defining critical process metrics, using best practice principles to redesign processes, developing process improvement project plans, building a center of excellence, and establishing process governance.

The BPMS Certificate is the perfect way to show employers that you are serious about business process management. With in-depth knowledge of process improvement and management, you'll be able to take your business career to the next level.

Learn more about the BPM Specialist Certificate

Courses

  •  

 

Certificates

  • Business Process Management Specialist
  • Earning your Business Process Management Specialist (BPMS) Certificate will provide you with a distinct competitive advantage in today’s rapidly evolving business landscape. With in-depth knowledge of process improvement and management, you’ll be able to take your business career to the next level.
  • BPM Professional Certificate
    Business Process Management Professional
  • Earning your Business Process Management Professional (BPMP) Certificate will elevate your expertise and professional standing in the field of business process management. Our BPMP Certificate is a tangible symbol of your achievement, demonstrating your in-depth knowledge of process improvement and management.

Certification

BPM Certification

  • Make the most of your hard-earned skills. Earn the respect of your peers and superiors with Business Process Management Certification from the industry's top BPM educational organization.

Courses

 

Certificates

  • Operational Excellence Specialist
  • Earning your Operational Excellence Specialist Certificate will provide you with a distinct advantage in driving organizational excellence and achieving sustainable improvements in performance.
 

 

OpEx Professional Certificate

  • Operational Excellence Professional
  • Earn your Operational Excellence Professional Certificate and gain a competitive edge in driving organizational excellence and achieving sustainable improvements in performance.

Courses

Certificate
  •  

  • Agile BPM Specialist
  • Earn your Agile BPM Specialist Certificate and gain a competitive edge in driving business process management (BPM) with agile methodologies. You’ll gain a strong understanding of how to apply agile principles and concepts to business process management initiatives.  
 

Business Architecture

 

Certificates

  • Business Architecture Specialist
  • The Business Architecture Specialist (BAIS) Certificate is proof that you’ve begun your business architecture journey by committing to the industry’s most meaningful and credible business architecture training program.

  • Business Architecture Professional
  • When you earn your Business Architecture Professional (BAIP) Certificate, you will be able to design and implement a governance structure for your organization, develop and optimize business processes, and manage business information effectively.

BA CertificationCertification

  • Make the most of your hard-earned skills. Earn the respect of your peers and superiors with Business Architecture Certification from the industry's top BPM educational organization.

Courses

 

Certificates

  • Digital Transformation Specialist
  • Earning your Digital Transformation Specialist Certificate will provide you with a distinct advantage in today’s rapidly evolving business landscape. 
 

 

  • Digital Transformation Professional
  • The Digital Transformation Professional Certificate is the first program in the industry to cover all the key pillars of Digital Transformation holistically with practical recommendations and exercises.

Courses

Certificate

  • Agile Business Analysis Specialist
  • Earning your Agile Business Analysis Specialist Certificate will provide you with a distinct advantage in the world of agile software development.

Courses

Certificate
  • DAS Certificate
  • Decision Automation Specialist
  • Earning your Decision Automation Certificate will empower you to excel in the dynamic field of automated decision-making, where data-driven insights are pivotal to driving business innovation and efficiency.