Best practices mdm_bpm_soa


Published on

Perficient white paper on applying BPM with SOA and MDM.

Published in: Technology, Business
1 Comment
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Best practices mdm_bpm_soa

  1. 1. A B U S I N E S S P R O C E S S M A N A G E M E N T W H I T E PA P E R NOVEMBER 2011Best Practices for Master Data Management with Business Process Management and Service-Oriented Architecture SUBSCRIBE TO PERFICIENT BLOGS ONLINE BECOME A FAN OF PERFICIENT ON FACEBOOK FOLLOW PERFICIENT ON TWITTER DOWNLOAD PERFICIENT WHITE PAPERS Copyright © 2007-2011 Perficient, Inc. All rights reserved. This material is or contains Proprietary Information, Confidential Information and/or Trade Secrets of Perficient, Inc. Disclosure to third parties and or any person not authorized by Perficient, Inc. is prohibited. Use may be subject to applicable non-disclosure agreements. Any distribution or use of this material in whole or in part without the prior written approval of Perficient, Inc. is prohibited and will be subject to legal action.
  2. 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. 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. 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. 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. 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