2. Authors
As Director of Perficient’s national Business Process Management (BPM)
practice, Kevin Feldhus provides leadership in developing and
implementing Perficient’s BPM strategies with integrated enablement plans
for sales and delivery. Kevin is a business-focused, tool-agnostic BPM
professional with years of senior-level executive consulting experience. He
has been focused nearly 15 years on using BPM as a method to bridge the
communication gap between business and IT by leveraging a background
in finance and IT consulting to create customized business focused BPM
solutions. He has led multiple strategic BPM engagements, including
strategy and roadmap, assessment and implementation projects and led all phases of the BPM
practice including marketing, alliances, training, recruiting, and communications
Eric Roch is General Manager of Perficient’s Enterprise Application
Integration (EAI) national business unit and Principal, SOA/Integration
Solutions. Eric has more than 20 years of experience across IT including
executive-level management within industry and consulting, as technical
architect, and in application and systems development. His executive
leadership experience includes serving as Chief Technologist, SOA National
Practice Director and GM of Perficient’s TIBCO EAI practice. Eric’s related
business experience includes IT strategic planning and the management of
consulting organizations. He has served as technical architect for EAI, SOA,
eCommerce and multi-tier distributed systems. He is a regular industry speaker and author and
maintains the popular Business Integration and SOA blog. Eric has a M.S. in Management of
Technology from the University of Maryland.
Best Practices for Master Data Management with Business Process Management and Service-Oriented Architecture t 2
3. Which Comes First – Process or Data?
It may sound a little dramatic, but data is the life blood of any organization. Every day we need data
about our customers, products, services and how we are performing. The success of a business is
dependent on the quality of the data that supports it. Data is usually produced or modified or
removed due to a business process activity, so we not only need to understand the business
activities, but the data inputs and outputs.
Unfortunately, an ever-present problem in most businesses is bad data, and the expense of cleaning
up duplicate and erroneous data can wreak havoc on the ROI for automating many business
processes. There is also often the challenge of master data having no system of record. Master data is
often scattered across multiple systems with different formats, levels of accuracy and update timings.
When analyzing an end-to-end business process for automation, there are often system-to-system,
system-to-human, and human-to-human interactions. These interactions might also occur outside of
your firewall in the cloud. Dealing with data quality issues across these interactions is a challenge.
For example, in a system-to-system interaction a human might have to become involved to resolve
a data quality issue. In human-to-human interactions there might be data ownership and
governance concerns. And if the data is in the cloud, it could be third-party data that has to be
reconciled with internal data.
In the face of cleaning up bad data to automate a business process, many attempts are abandoned
as not feasible due to cost and/or time constraints. But there are techniques for fixing data on the
fly, so to speak, versus a big bang effort to cleanse data. Also, it is possible to create a solution that
will largely prevent new bad data from being created. These techniques can be attractive since they
create a timely solution and no time is spent cleansing data that may no longer be relevant to the
business – purging or deprecation becomes a secondary issue.
Getting Started
So, where do you begin? A good first step is to model the current-state business processes from the
perspective of data and to identify data issues through capturing current pain points. By focusing
the modeling initially on creating a hierarchical model of business activities around a common
business purpose, and then capturing the data inputs and outputs and the system of record (if
known), you can capture the specific data-centric issues in a straightforward way. This approach
does not require the creation of detailed workflows, although they may be useful to drive a further
level of detail to gain a more complete understanding of the data issue.
Best Practices for Master Data Management with Business Process Management and Service-Oriented Architecture t 3
4. Once the data-centric issues are captured, analyze the issues for common patterns. One of the key
advantages of business modeling is to discern common patterns – common patterns in activities,
data flow and yes, even current pain points. Typically you may find data error patterns such as:
1. Missing data
2. Inaccurate data
3. Lack of a system of record
Once the common patterns of data errors are recognized, you can create common technology-
aligned processes to handle current and future data errors. In addition, create strategies to
potentially consolidate disparate systems and spreadsheets. For example, if in modeling the current
state you have identified 20 systems where data is represented, look at the basic data types
(customer, product, service, financial, etc.) and determine if the data can and should be
consolidated into one system. This provides a straightforward method to gain a business centric view
of data issues before you begin to apply any technological solutions to resolve the issues.
Leverage Technology
Technology can also help by creating an abstraction layer between the business process and the
underlying mess of data. There are tools available (e.g. Composite Software) that support the
concept of data virtualization. These tools make delivering data as a service much easier than
writing code that is tightly coupled to the underlying data sources and structures. Automated
business processes can then consume these data as services.
Data virtualization is used to create information as services. And if you consider your overall SOA,
information services are a large number of the services that are needed to run the business.
Simplifying information as a service is a big first step in achieving SOA and overcoming data access
complexity. However, information as a service does not cleanse data – other techniques are needed.
Information as a service can help prevent new bad data from being introduced since through the
data abstraction layer, all relevant data can be updated while hiding the complexity of doing so.
One technique we use to correct bad data is exception management. When a data discrepancy is
noticed – either by a system-to-system interaction (such as an ESB message flow) or by a human in
a workflow – the data error is treated as an exception.
Best Practices for Master Data Management with Business Process Management and Service-Oriented Architecture t 4
5. A generic exception handler is a utility service that can handle data exceptions but also any “should-
not-occur” exception in a software component. So all of your automated business processes would
check for bad data and raise an exception if found. The exception handler would route the exception
to a human or fix the data in an automated way. Once the data is corrected the exception handler
can restart the process at the proper step.
A more holistic approach to correcting the data is using master data management (MDM) tools from
vendors such as IBM, Oracle, TIBCO or Informatica. For example, if you are using a generic
Business Process Management System (BPMS) product to automate the quote-to-order process and
within the process bad product data is discovered, an exception can be raised and an MDM product
data management workflow can be executed within the MDM tool - invoked via the exception
handler. Once the product data is corrected then the quote-to-order process can be resumed.
MDM offers domain-specific (e.g. product, customer, location) workflows for adding new master
data. Where these workflows differ from the generic workflow capabilities of a BPMS is the tool’s
ability to manage the governance and state of the master data. A good example of this is the
introduction of a new product.
Example: New Product Introduction
New product introduction is a collaborative effort. The master data might include engineering
specifications, marketing materials, and location-specific pricing. The introduction of a product will
have a lifecycle and approval process. Product design might be collaborative with an engineering
team and their customer(s). Web content will have to be created and then approved before
publication. There might be price differences and regulatory concerns in different locations. You
might want to offer different product bundles by location based on delivery capabilities, regulations
or customer demand. Then before publishing product data (to an Internet catalog, for example) all
the data needs to be validated and approved.
To build a workflow to handle new product introduction and product changes from scratch with a
generic BPMS product would require a large effort. And you would have to build not only the
product workflow but also tools that come with MDM products to visualize, govern and manage
the state of the data across multiple sources.
MDM solves the problem of introducing new bad data. And by using exception management within
business processes, existing bad data can be fixed using MDM for specific problems found in
executing process instances.
Best Practices for Master Data Management with Business Process Management and Service-Oriented Architecture t 5
6. Summary
Data quality issues do not have to derail your SOA and BPM efforts. Begin with understanding the
current business process and data-related issues, then apply multiple tools and techniques to resolve
those data issues and implement SOA as the glue that binds everything together.
The business analyst, business modeler, process analyst or however you define the role is dependent
on knowing not only the process activities and the role performing them, but also on understanding
the data inputs and outputs and their system of record. Data quality issues and master data are key
components to a business process and the business analyst needs to take focus not only on
activities, but on data. This provides the link for businesses to gain a better understanding of their
data and data quality issues. Hopefully this increases their willingness to work on identifying and
resolving data quality issues.
If data is the lifeblood of an organization, and you understand the data, you understand the process
and the requirements for automation. So which does come first – process or data?
Best Practices for Master Data Management with Business Process Management and Service-Oriented Architecture t 6