Requirements and Design Approaches for Adaptive Software

Author(s)

Managing Partner, Knowledge Partners International LLP
Larry Goldberg has over forty years of experience in building technology based companies, focused on rule-based technologies and applications. Prior to joining KPI as Managing Partner, he was Senior Vice President of Sapiens Americas, Inc., which he joined when he sold his company, PowerFlex Software Systems, Inc to Sapiens. Larry is co-editor of “The Business Rules Revolution” (Happy About, 2006), co-author of “The Decision Model - A Business Logic Framework Linking Business and Technology” (Auerbach, 2009) and co-developer of The Decision Model. Larry also served as the Editorial Director of BPMInstitute.org's “BDM Bulletin” until 2013.

In the first article of this series, the idea of an emergent environment was introduced. There are several key properties of a setting where an emergent approach for process development can be highly effective. These include environments where there is:

Lack of CertaintyDesire for AgilitySkills Disparity

Increasingly, senior executives of organizations are promoting the need for enterprise agility – they want to decrease the time between identifying a course correction and implementing the changes necessary to take it. Externally, this can take the form of shortening the time required to provision or launch a new product offering. Internally, it might be an initiative to close the books a few days sooner after the end of the quarter.

The term course correction is used here deliberately. An emergent approach is one that evolves from experience. Many leaders no longer assume they can arrive at a five year plan that will be exactly right if only followed to the letter. The business planning process has become more iterative, and in so doing, invites on-going review, revision or even abandonment of initiatives as new information comes to light.

This of course means that senior managers are having to build into their processes the ability to capture and deal with uncertainty. Professionals who deal with the management of business processes need to provide mechanisms to support that.

Emergent Environments

Uncertainty affects more than just the overall strategic planning function. Within a corporate culture there may be a reluctance to leave off practices which have worked, apparently well enough, for a long period of time. The struggle in Information Technology projects between a Waterfall and Iterative approach is an excellent example. The move to a Service Oriented Architecture is another. Organizations frequently need time, and successful experiences, to become convinced of the value of a change in fundamental process.

Skills Disparity refers to the range of capabilities within an enterprise. It describes the situation where external experts are brought in, and there is a need to transfer new skills to employees. Equally well it applies to the veteran of twenty-five years, who intimately understands the organizations history and has a wealth of knowledge about products, services and systems. As retirement looms, there is a risk that this wealth will leave the organization.  The need for processes for transferring those skills, and updating the practices where they are used, is a indicator of an emergent environment.

On some level, every environment reflects some of the characteristics described above. Having identified the properties that fit an emergent approach, the next step is to define the approach itself. The critical piece of the puzzle to resolve is how something as abstract as a strategy can become a measurable (which is to say tangible), manageable process. Patterns for Designing Good Solutions

As building architects have known since Christopher Alexander published his groundbreaking work on Patterns¹, design models have a structure and a language of their own. Design patterns are especially useful for communicating an abstract set of problem and solution elements from one concrete setting to another. Business process analysts can benefit by employing them.

One of the most significant design patterns for application in an emergent environment is the ‘Report by Exception’ pattern. Exception in this example is not as limited as a program that ‘throws an error’. Instead, the business process designer can benefit from defining the allowable parameters within which a process can operate. Only when the process finds itself operating outside the approved range of times, values, functions does it raise an exception.

Contrast this with the Polling model. Traditional approaches to monitoring status is to poll or query each entity to be managed on a scheduled basis. This ‘checking in’ approach is active and generally controlled centrally, where status results are aggregated and communicated onwards to other interested parties. The problem becomes one of bandwidth. If each polling operation takes a second and the maximum throughput of the communication channel is 100/sec, the maximum number of entities that can be managed is 100.

Under the report by exception design pattern, the same communication channel can support many more entities, to a maximum of 100 concurrently reporting exceptions!

This design pattern can be easily applied as a means for managing a large number of distributed telecommunications nodes over a network with limited capacity. But beyond managing widgets, it applies equally well to business processes and the operational entities that make up the decisions contained with them.

Modeling business process to limit the call on resources to exceptional situations makes a good deal of sense. Instead of communication channel, an example might be a call center with resources such as level three technical support. The principle still applies. By establishing the exception boundaries of a process, and building on a Report by Exception basis, it is not necessary to trap and investigate every single transaction that forms the process. The process can be observed in operation and provide notification only when certain thresholds are reached or breached.

When the GoF² published their first work on software design patterns, they defined as part of that effort ‘The Observer Pattern’. That pattern describes an approach for software programs to essentially listen for events. Other patterns, such as Event Notification provide software designers with ideas for how to code for complex situations in their environment, such as how to listen for and respond to events that fall within or outside defined parameters.

There is a direct relationship between how these patterns are used for programs and their affect on business process definition.

¹A Pattern Language – Christoper Alexander

²(Design Patterns: Elements of Reusable Object-Oriented Software (ISBN 0-201-63361-2) is a software engineering book describing recurring solutions to common problems in software design. The book’s authors are Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. They are often referred to as the GoF, or Gang of Four. – from Wikipedia)

Applying Design Patterns to Business Processes

The view taken here is focused on gathering validated requirements and communicating those prior to the detailed design or implementation of software intended to address them. In an iterative, agile environment the feedback between design and deployment is a loop. Where to start can become somewhat arbitrary. It might seem natural to begin with the plan, or the top-down objectives and flow through to elaboration and deployment, then revisit how the experience affects the plan. No doubt, in some situations this approach is exactly right.

However, since business processes frequently already exist in some form, it can be beneficial to first evaluate the situation on the ground, defining the deployment environment, and apply that to the planning process from the outset.

By linking the design patterns used for application development directly to the requirements definition, a business process analyst ensures a tighter alignment between the solution developed and the business problem to be solved.

In this case, the observer and notification patterns relate to the modeling of business decisions.

Decision Models³  provide for representing business judgment within structured families of rules, conditions and conclusions. The application of observer and notification design patterns to decision models allows for exception handling to be identified from a business standpoint. Once decisions are defined as containing the the default and exception thresholds, rules for notification, approval or alternate handling should be clear to the solution developers. They can then focus on the how, rather than discerning what needs to be accomplished by their code.

This should demonstrate the role for meta-data surrounding transactions, the rules underlying them, their exceptions and the business decisions that they affect.

Summary

Enterprise Agility does not exist in a vacuum. Lessons learned, even painful ones, do not necessarily present themselves fully formed in the minds of participants and observers at the end of a project. Skills do not reliably transfer from veteran to recruit by osmosis. These things occur as a result of managed processes.

To increase confidence that the enterprise can respond to change, can do so quickly while raising skills and practices to a consistently high level, tighter alignment with the definition of business problems and the development of software solutions is required. One way to achieve this is to apply software design patterns, such as Observer, Notification and Report by Exception to business process definitions.

Having defined some of the characteristics of an emergent environment, the next article in the series will drill down into techniques for predicting probable outcomes to emerge.

³The Decision Model – B Von Halle, L Goldberg,

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...

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

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

Author(s):

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

Article: 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...

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.