Introducing Master Data Management, An SOA Approach to Managing Core Information
As companies struggle to become more agile by implementing information systems that support and facilitate changing business requirements, the management of core information, such as information about customers or products, becomes increasingly important. We call this information master data. In many companies, this master data is kept in many overlapping systems and is often of unknown quality. For many organizations, this situation constitutes a dilemma—it becomes increasingly difficult for organizations to implement change. Architectural approaches such as Service-Oriented Architecture (SOA) are difficult to implement when an organization does not have a common definition and management of its core information.
This chapter provides an introduction to master data and the characteristics of Master Data Management (MDM) systems. We start with a brief introduction of master data and explain why the management of master data is important to an enterprise. The second section will outline how different pressures have caused many organizations to lose control of their master data, resulting in a pool of partially redundant, sometimes unmanaged, data. Section three provides a more detailed description of the key dimensions of MDM solutions, describing the different domains of master data, the different ways in which master data management systems are used, and the different ways that MDM Systems can be implemented. The final section discusses how the management of master data can benefit an organization by providing a trusted foundation of authoritative data that can be used consistently across an enterprise and that can also evolve in a managed manner to meet changing business needs.
1.1 Introduction to Master Data Management
The management of key organizational data has always been important. Knowing who your customers are, what products and services you offer, and what the arrangements or accounts you have with your customers and suppliers is fundamental to the operation of most organizations. Whether your organization is a bank, a retailer, or a government agency, there is a core set of such data that is used across the enterprise. It is used to open new accounts, to introduce new products to the market, and to determine what products to offer customers. This data is called master data.
Master data is some of the most valuable information that a business owns. It represents core information about the business—such as customers, suppliers, products, and accounts—and the relationships between them. Each of these domains of master data represents information that is needed across different business processes, across organizational units, and between operational systems and decision support systems. In essence, master data defines an enterprise.
Master data captures the key things that all parts of an organization must agree on, both in meaning and usage. For example, it is important that all parts of an organization share an understanding of what defines a customer, which customers exist, where customers are located, and what products they have purchased or have been offered. A common understanding is useful both to prevent bad things from inadvertently happening—such as a bill getting posted to the wrong address—and to provide an opportunity for significant business benefits such as improving the ability to sell complementary products to customers. Master data is important in both operational and analytical environments. Many operational business processes touch master data—for example, introducing a new product to the market, signing up a new supplier, and adding a new phone service to a customer account. All of these processes touch many different application systems that must all share a core set of information about products, suppliers, and customers. For the business process to execute properly, this master data must be accurate and consistent. Analytical systems have similar requirements—master data often forms the key dimensions and hierarchies used for reporting and analysis of key business data. Increasingly, analytics are also being applied within operational business processes to better monitor and optimize business transactions. Trustworthy data is a fundamental ingredient of meaningful analytics.
Management of master data is not new. Most organizations have systems to store and retrieve the master data that is critical to their business. Unfortunately, many information systems have become increasingly complex in response to the pressures of growth, business changes, and technology changes. It has therefore become increasingly difficult for organizations to identify, maintain, and use an authoritative set of master data in a consistent way across the enterprise.
Many of the IT architectures1 that were used to construct existing customer information files or master product databases were designed in support of a few, typically homegrown, applications. More often than not, these applications were themselves constructed in support of a particular line of business rather than for the enterprise as a whole. As the business changed over time, it may have been easier to create a new application and database to handle the new requirements than it was to modify all of the existing applications. For example, as the Internet arose as a powerful communications mechanism, companies wanting to enable customer self-service on the Web needed to either extend their existing systems or create new applications and databases to manage this new channel of communication. Because the Web introduced the need to maintain attributes such as e-mail addresses, login names and passwords that existing systems didn't support, many enterprises found it was easier to create new applications and databases to support the Internet channel than it was to extend existing systems. In other words, it was more expedient to build a new system and figure out how to synchronize it with existing systems than it was to extend the existing ones. Although not ideal, doing this may not be a problem if you only have a few simple information systems—but in a larger enterprise, especially one that has grown through multiple mergers and acquisitions, the situation can quickly become problematic. Information Technology (IT) systems, often easier to extend than to change, become increasingly complex with many point-to-point integrations and partially redundant information systems. For example, it is not unusual for a large financial institution to have more than 20 systems that maintain information about customers. Attempting to synchronize customer information across such a large number of systems can result in an unmanageable number of point-to-point integrations—a rat's nest of information flows.
The existence of these partially redundant data stores results in additional complexity throughout the systems architecture of an organization—not to mention additional IT costs. The definitions of what might appear to be common terms, such as "supplier" or "product," will likely be different within the different systems. The data itself may be inconsistent because of systems enforcing different rules for data validation and cleansing. It is therefore difficult for a business to achieve a complete and consistent understanding of master data that is spread across multiple systems if those systems lack the proper controls and integration.
This situation leads to several consequences. Perhaps the most fundamental issue is the quandary for users and applications—where should they go to find and use accurate data? Is there an authoritative source that can be trusted? Without an authoritative source of master data, business processes can become more complex to develop and implement when a complete and accurate view of master data is not available. Similarly, implementing decision support systems can also be tricky without well-known sources for trusted master data.
A second consequence is architectural brittleness—making a small change in one system can have a significant impact on many other systems. Analyzing the scope and cost of a potential change across a complex web of interconnected systems can be difficult. This difficulty is significant, because changes are frequently required to support new business requirements, to support mergers and acquisitions, and to integrate new applications. Indeed, this architectural brittleness significantly impacts the organization's ability to evolve and change according to market pressures. Supporting the growth of a business in terms of operational throughput or geographical distribution yields similar issues. Distributing master data through large clusters of computers requires careful design to manage the synchronization of the master data. The final issue is IT cost—redundant data requires redundant storage as well as the communications and computational infrastructure to maintain it.
The business consequences are perhaps even more significant. When master data is spread across multiple systems in an unmanaged way, there may be multiple competing views of master data: different customer lists, lists of suppliers or product definitions. Without a complete and authoritative set of master information, it is difficult for enterprises to optimize their relationships with customers and suppliers across different product lines; it is difficult to rapidly introduce new products to the market or to relate sales performance to product categories. For example, we have worked with large enterprises where customers in one business unit were suppliers in another—consolidating customers and suppliers into a common Master Data Repository allows the businesses to more effectively negotiate favorable contracts.
In an ideal world, there would be a single place where all common master data in an organization is stored and managed. The data would be accurate, consistent, and maintained in a coherent and secure manner. All updates would take place against this single copy of master data, and all of the different users of master data would interact with this single authoritative source of information. For customer data, such an arrangement means that all applications that use customer data would go to a single source; the data stored there would be the customer data used, for example, to open and close accounts across all lines of business, for provisioning accounts, and for all marketing and analysis.
A single source of master data represents three important capabilities: an authoritative source of information, the ability to use the information in a consistent way, and the ability to evolve the master data and the management of the master data to accommodate changing business needs. A suite of services can then be created around this master data that allows the data to be seamlessly integrated into business processes and analytical environments. Together, these three capabilities provide organizations with a powerful foundation for efficient business execution.
An authoritative source of master data can be trusted to be a high-quality collection of data that follows a well-defined and agreed-upon structure. The data has been standardized (e.g., all address information follows the same format). Duplicates have been rationalized. The currency of the information is maintained through continuous or periodic updates. The information is complete, secure, and accurate.
Authoritative master data exposed through reusable business services provides the organization with the flexibility to exploit master data in new ways by enabling applications to follow repeatable, defined patterns of usage for operating over this data. For example, in a banking environment, customer profile information maintained as part of the master customer data can be used consistently across all of the different ways that a customer may interact with the different parts of a business—the branch teller, the call center representative, and the Web—to ensure a smooth and consistent customer experience. Each of the supporting systems would use the same business service to retrieve customer information. As new opportunities to interact with the customer arise—for example, via a customer's cell phone—again, the same services could be once again reused, because both the data and their method of use have been agreed upon.
A critical element in this ideal world of master data is flexibility. As business requirements, regulations, and implementation technologies change, we often find that the definition and use of the master data needs to evolve along with it. Again, in our ideal world, this type of change would be a nondisruptive change to our environment. For example, if a retailer decides to open up stores in a new country, it should be easy to extend the definition of its products to accommodate additional information, such as new currencies and new regulatory requirements. At the same time, we don't want this simple data model change to break existing applications. The master data environment must thus support a smooth evolution of both the data structures as well as the services that manage the behavior of the master data. In addition to supporting evolution, the ideal system also supports the extension of the environment, for example, to add new domains of master data, and the linkages between them, in a nondisruptive manner.
The goal of Master Data Management (MDM) is to enable this ideal world. Through a combination of architecture, technology, and business processes, MDM provides an approach to incrementally reducing the amount of redundantly managed information and providing information consumers throughout an enterprise with authoritative master data. MDM Systems that focus exclusively on managing information about customers are often called Customer Data Integration (CDI) systems. MDM Systems that focus exclusively on managing the descriptions of products are called Product Information Management (PIM) systems. MDM Systems that enable multiple domains of master data, and that support multiple implementation styles and methods of use, are sometimes also called Multi-Form MDM Systems. The different technical characteristics of MDM Systems will be described in Section 1.3.
A Master Data Management strategy addresses a wide variety of business and technical concerns within an enterprise. It is often wise to address these concerns incrementally. Incremental deployment allows significant value to be provided as each phase of an MDM project expands the capabilities of the MDM System by integrating additional systems, extending the kinds of data managed, or providing new ways in which the master data may be used. The ideal MDM implementation represents a state of management that organizations may approach over time. An incremental approach allows benefits to be seen and measured throughout the many phases of an MDM implementation project. For these reasons, MDM projects are key strategic initiatives with measurable benefit to the entire enterprise.
MDM is a key facet of a broader enterprise information management strategy. MDM plays a key role within an information architecture as a provider and custodian of master data to the enterprise. This broader strategy must map from the business imperatives to the current and future IT environment. For example, the business need to cross-sell between different lines of business in a large organization may drive the need for MDM. Other drivers, such as the need to comply with Anti-Money Laundering regulations, require banks to apply a broader suite of technologies that are architected in such a way as to detect and respond to potentially fraudulent activities. These examples reveal the broader need to define an enterprise information management strategy and the architectures to support it.
This book provides a comprehensive guide to architecting MDM systems. It includes architectural principles, a reference architecture, patterns, and properties of MDM Systems. We have chosen to approach MDM from the perspective of Service-Oriented Architectures (SOA), and more specifically, from the viewpoint of treating information as a core set of business services within an enterprise architecture. This approach helps us to address the following three underlying principles—that an MDM System:
- Provides a consistent understanding and trust of master data entities
- Provides mechanisms for consistent use of master data across the organization
- Is designed to accommodate and manage change
Achieving these MDM goals requires MDM software that is capable of both managing master data and providing master data to a community of users and systems. These goals may also lead to organizational change to support the implementation of business practices that properly manage and exploit the master data.
We will explore these principles in further detail throughout this chapter, and they will be woven throughout the rest of the book as a set of underlying assumptions that define the nucleus of an MDM System. In the next sections, we spend more time on why MDM is an important aspect of an enterprise's information architecture. Section 1.3 introduces key technical characteristics of MDM systems, setting the stage for the deeper architectural discussions in subsequent chapters. The final section discusses the business benefits of an MDM system using the three principles described above.