Google

Sunday, November 4, 2007

USING DMAIC FOR IMPROVED SOFTWARE DEVELOPMENT


One of the key tools in the Six Sigma "toolkit" is its problem solving methodology. DMAIC stands for Define, Measure, Analyse, Improve and Control. The key to the success of this methodology is its focus on using data-driven tools to identify what is to be changed and then to monitor the actual impact of changes in a feedback loop.

As IT managers we may feel that our existing project and development methodologies already provide the tools we require and that Six Sigma has nothing new to teach us. Experience with numerous IT projects and with leveraging Six Sigma into the IT project space has shown clearly that Six Sigma really does have something to offer!

Note that the DMAIC methodology is highly iterative and will often loop multiple times through 2 or more steps.

Define

What is the problem we are working on, and why? Who is the customer and what are their requirements? How is this currently being done and what are the benefits of making the improvement?

Too often, IT projects start with an assumption that something "IT" needs to be done and take for granted the fact that a new system is required, or that changes to an existing system are necessary. Unfortunately these projects often discover far too late that they were solving the wrong problem, or in fact that no problem even existed, and the project is cancelled or the system falls into disuse despite significant sums of money and large amounts of well-intentioned effort being invested.

Even when the problem (or "business requirement") is well defined, the approach taken to solving it may be based on inefficient or outdated assumptions which are never challenged because "that is how we do things here...".

With DMAIC we start be reviewing these fundamental assumptions and focus on the goal of understanding the needs of the customer and how we can best improve delivery of them.

The Define phase will typically result in at least draft versions of the following:

1. A business case - Why are we doing this?
2. Problem / opportunity and Goal statement - What is the problem and what are the expected results?
3. Constraints / assumptions - What limitations or expectations are being made?
4. Scope - What is "in bounds" for this project
5. Players and roles - Who are the stakeholders and what are their roles?
6. Preliminary plan - What are the overall phases and when will they be completed?

Measure

This step has two main objectives:

1. Gather data to validate and quantify the problem/opportunity identified in step 1 above.
2. Begin collecting facts and numbers that offer clues about the causes of the problem or the solution to an opportunity.

Accurate and comprehensive collection of data is a key element of the Six Sigma process and must be done thoroughly and completely.

In typical IT project methodologies the project defines "test cases" which are examples of how a system might be used and the expected behaviour. Six Sigma goes beyond this by identifying the key indicators of customer satisfaction with the overall business process, enabling the role of any IT based improvement to be understood in the larger context of the business and its ability to serve customers.

Analyse

In this step the data that has been collected is analysed using a variety of statistical methods and team-based processes in order to find the "root cause/s".

Six Sigma provides a wide variety of tools for assisting with data and problem analysis, collected from many disciplines and earlier methodologies, which are well tested and understood.
Improve (Implement)

Once the potential root causes/s have been identified (and only then) the team begins to find creative solutions and implement them. The rigour of defining and measuring the key indicators early in the process enables the impact of these improvements to be monitored accurately.

It is tempting (and usual) for teams to leap into a project at the "Implement" stage. DMAIC provides a robust framework for ensuring that initiatives that reach implementation are most likely to add value to the business and can be measured to determine their actual impact as opposed to the expected outcomes.

Control

The final step looks at how the improvements that the project has made can be sustained and maintained over time. It also ensures the organisation learns from any mistakes or big wins on this project and that these are fed back to other teams.

For IT based projects this step will include full handover of documentation and support responsibilities, detailed post-implementation reviews and ensuring that management supports the ongoing success of the project.

No comments:

 
Google