By Samantha Wade, Associate Director – Operational Services Group, Infoverity, Inc.
When it comes to MDM projects, many companies have clear objectives about what they want to achieve: Namely, they desire to create an orderly process for organizing, analyzing, using, and managing their master data such as product, customer, supplier, or location information.
However, what’s generally less clear is how to make this vision a reality, including the tools and steps that are necessary to make an MDM project successful. Frequently, software packages from large vendors make it seem that the product itself will solve this issue for companies. It’s as if they are implying that just by adopting the product, the path to MDM success will be smooth. However, that’s typically not the case.
Instead, it would be more accurate for companies to view the software packages as templates that they need to customize and make their own for MDM to work. The chances of success for an MDM project can be greatly improved by using Agile methodologies that allow companies and users to implement the project in incremental steps that allow them to truly understand what they need. There is no one-size-fits-all approach that will work for every business — but this adaptability is the core benefit and principle of Agile development and why it is such a good fit for MDM projects.
This blog examines the best way to use Agile for MDM projects. It’s a hybrid Agile approach that we at Infoverity refer to as Water-Scrum-Fall, a term first originated by Forrester Research. The three parts of the approach can take a company smoothly from planning to deployment on an MDM project in a way that builds buy-in and understanding across the organization.
The Essence of Agile
First, it’s worth explaining why Agile is effective for MDM projects. Each MDM project is different and will necessitate unique responses to the specific problems of the individual organization it is trying to address. Fortunately, Agile does not have to be executed in a rote, strict format. The principles of Agile can be applied to almost any project because they are so adaptable. Agile concepts can be embedded anywhere such as iterative development, feedback loops, and user stories.
One of the main points of Agile is to ensure that a company’s existing bad habits culturally and organizationally do not prevent a project from progressing. Agile emphasizes working software over detailed requirement documentation. Agile and Scrum focus on eliminating distractions and instituting short development and feedback cycles to ensure projects move forward. With Agile, development and iteration also go hand-in-hand: research indicates that users are generally unable to provide full and comprehensive requirements before the project starts. Rather Agile asserts it is far more effective to build step-by-step, incorporating feedback along the way, to ensure the best outcomes.
Why Most MDM Projects Fail
To understand why Agile is so effective for MDM projects, it’s also worth identifying why most MDM projects fail. Typically, the most common failure point emanates from a lack of engagement from the business — that includes everyone from the C-suite on down to the users and developers tasked with carrying out implementing and working on the project. This often results from a lack of up-front buy-in and a lack of clarity about the core objectives of the project. The Water-Scrum-Fall Agile approach fosters buy-in through its incremental nature.
Water-Scrum-Fall: How To Improve The Likelihood of MDM Success
Applying Agile to MDM projects is an effective way to overcome these obstacles — especially when companies use the Water-Scrum-Fall approach.
As mentioned early, Agile prioritizes incremental development and gains. For MDM projects to succeed, at least at the beginning, companies need to progress in little steps that help to connect end users to the business value the project is intended to create. We have found a hybrid Agile approach to be the most effective and refer to this approach as Water-Scrum-Fall. There are three stages to this process:
- Water: This is the beginning of the project and covers the planning and initiation phase into the design phase with the objective of clarifying and prioritizing high level goals for the project. During this stage, which is more design heavy than most Agile projects, companies should establish:
- Program-wide, high-level agreement on the core objectives for the project
- The dependencies for the project including timing, management, and budget
- Hardware and base configurations of the MDM platform necessary to enable iterative work in the following phase
- The reporting mechanism to relay status, risk, and problems swiftly
- Outline the major elements of the MDM program for example draft the data high-level quality rules or drafting procedures to control data inputs and outputs.
- Scrum: This stage takes the project from the design to testing phases. This phase should include iterations that complete all the development work the team has the time and budget for prior to the final phase. The goal of this phase is to begin work and enable rich feedback from the business by empowering them to review pieces of working software. During this stage, companies should conduct:
- Sprint planning that prioritizes and finalizes user stories and assigns story points
- Development and testing to execute the work using user stories and acceptance criteria. For example, develop and test a data quality rule or integrate a new data source.
- End of sprint review in which business owners review the working version of the user stories and provide feedback to the project team
- Retrospective sessions to ensure the project has continuous improvement and reinforce team bonding and norming
- Fall: This stage helps to complete the MDM project, taking it through the testing and deployment phases. In this phase all the tested parts come together so that a company wide MDM launch can be achieved. Unlike other applications, MDM must be launched in a big bang because so many people and functions are involved. During this stage, companies should perform:
- Integration testing that is coordinated across all teams and defect resolution
- End-user acceptance testing to provide the last round of feedback and contribute to an enhancement backlog
- End-user training refine any training developed and delivered previously and make training resources available to end-users
- Scheduled live and cutover deployment that coordinates activity across the business — for an Agile team, this may just involve the coordinated enabling of the code
A Clearer Path Forward
With MDM projects, companies are often not starting from scratch — they know where they ultimately want to go, they just don’t know how to get there. Using the Water-Scrum-Fall method recognizes that a big picture is in view, but improves the prospects of MDM projects succeeding because it doesn’t lock into a too many design details for components too early — there is constant iteration and refinement to ensure users understand the project and are getting what they need out of it.
With the Water-Fall-Scrum Agile approach, buy-in builds over time as users see each small step forward in the project. By the time it comes time for deployment, the individual elements of the project have been proven and tested, and users are satisfied. The project can then be launched all at once, which is necessary in MDM projects — once it is deployed, it’s not possible to turn on and off little pieces of it. And even after launch, Agile can still be employed as a way of organizing operational services after the launch and to address stability and operational problems, with enhancements that once again can be deployed incrementally.