Orchestration-Driven Development (ODD) – Nothing Odd About it!

Author(s)

Sr. Architect, INTEGRITYOne Partners, Inc.
Ed Hollingsworth is an Enterprise Architect with over fourteen years experience in Information Technology and expertise in Service-Oriented Architecture (SOA) design and implementation. Creator of INTEGRITYOne’s innovative OP2EN Discovery methodology, he holds a Bachelor’s Degree in Computer Science from the University of Maryland University College, as well as a Graduate-level Certificate in Project Management. Mr. Hollingsworth has constantly championed Business Process Management (BPM) engagements at IOP and is presently in the formative stages of standing up a BPM practice area within the firm. Mr. Hollingsworth’s commitment to breaking down barriers between Business and IT is clearly evident in his client work.

Orchestration-Driven Development (ODD) represents a direct evolution of Object-Orientation (OO), with the emergence of Service-Oriented Architecture (SOA) and Business Process Management Suites (BPMS) as its catalyst.  The philosophy behind ODD is relatively simple: a business application should be a direct translation of the business process it supports.  Build your process model first, then derive your application components from this process, re-using existing components where possible.  Seems pretty straightforward, right?  You would think adoption of such a philosophy would be far more widespread.  And perhaps it would be, except for modern software engineering conventions getting in the way.

Figure 1

Figure 1  Orchestration-Driven Development (ODD)

To understand why this paradigm shift is struggling to gain momentum, it is helpful to examine its historical precedent.  When Software Engineering shifted from predominantly procedural programming to object-orientation in the 1980s, there were many who resisted the transition.  Despite the intuitive notion of modeling software after real-world objects and using these objects together to “simulate” the business system being supported, there were those who had difficulty comprehending this new approach to what they still viewed as transistor manipulation.  Despite these initial challenges, object-orientation is now a fundamental requirement of any modern general purpose programming language.

Just as object-orientation sought to decompose monolithic procedural programs into discrete software components that could be re-used throughout an application, so orchestration-driven development seeks to decompose large, unwieldy business processes into flexible service orchestrations that can be adjusted and re-composed on the fly. Over the past several years, Business Process Management Suites (BPMS) have matured to the point where process orchestrations can be aligned directly to the lines of business they support and can move from visual design to execution more easily than ever!

Traditionally, business software design has involved an often cumbersome translation of user requirements into software components that can easily lead to undesired program behaviors and unnecessary rework.  In fact, research has shown that the leading causes of software project failure can be linked directly to a misunderstanding or misrepresentation of the business requirements.  This is why ODD is focused squarely on the business process from the very beginning.  It is fundamentally imperative that IT developers are in synch with the end users of the business system, in order to deliver a system that will meet the business need.  With the recent advent of Business Process Model & Notation (BPMN) 2.0, a business-savvy process modeler can design a comprehensive BPMN 2.0 process that can be understood and approved at a high level by the business stakeholders, and then driven directly to implementation using modern BPMS tools.

Orchestration-driven development is also fundamentally based on the principles of SOA in that it relies on the service-enablement of software components that can be composed in a uniform fashion.  As a modeled process is refined into a series of service invocations and/or human interaction points, the real value of SOA is realized.  Organizations with an existing SOA infrastructure may be able to immediately leverage existing services within the enterprise to perform certain functions within the process.  In most modern BPMS packages, mediation components can be used to transform internal data structures into the message formats required by these existing services.  Services that do not exist yet can be easily identified from the process model and an interface for invoking them can be designed long before implementation even begins.  These interface specifications can then be handed off to a service development team for implementation.  Figure 2 illustrates some of the differences between the “Same Old Process” of software development and the ODD approach.

Figure 2

Figure 2  Same Old Process (SOP) vs. Orchestration-Driven Development (ODD)

ODD relies on close interaction between the business and IT teams, in order to reach a common understanding of the system’s goals.  Rather than accumulating an often disorganized and sometimes overwhelming mass of functional requirements, the business process is modeled first.  By working directly with business stakeholders to refine this model, it essentially becomes the foundation of the system architecture.  Technical constraints and infrastructure considerations are still addressed, but jointly with the modeling activities, rather than as a purely IT function performed after-the-fact.

Once a model has been agreed upon, Business and IT architects can begin decomposing the model into its constituent services.  If the organization already has a mature SOA in place, some services may already be available within the enterprise and can be directly integrated into the final product.  Interfaces are defined for any new services that are required, and one or more service development teams are assigned the responsibility for developing them.  The loose coupling inherent to this approach allows service teams to work relatively independently, provided the interface specifications are well-defined ahead of time.

Detractors of the ODD approach will claim that reliance on sophisticated process engines and SOA middleware introduces too much additional overhead.  While the introduction of overhead is indeed a concern in some cases today where performance is paramount, as BPMS platforms continue to improve, and computing performance ceases to be a barrier to the efficiency of process-based systems, we are sure to see ODD become a more widely accepted paradigm.

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.