During a Six Sigma symposium, speaker after speaker presented good information on Six Sigma concepts, tools and approaches to use when working on a Six Sigma project. If these Six Sigma tools, approaches templates, etc., are good for Six Sigma projects, why not use them in day-to-day software development and IT processes?

Learning Objectives

It is necessary to learn things beyond current knowledge and experiences whenever embarking on a new project. The learning objective matrix can help identify, plan and document such needs. This is done early in the life cycle to discourage users from jumping to solutions based on current biases. If project managers bypass this critical thought process, they often are forced to rework plans and deliverables during the life cycle causing disruption in the project. The matrix contains three simple aspects: 1) what does the company need to know, 2) where will the company get the needed information and 3) how will the company get the information? The learning objective matrix keeps managers from drawing conclusions before the proper time in the life cycle.

Plan Population Using Customer Matrix

The customer matrix helps plan and assure that the correct representatives are included in requirements gathering activities such as interviews and observations. Segment the population into specific areas, e.g. geographical regions. Then consider the types of participants to cover, for example expert users, new users and difficult-to-satisfy users. Doing this graphically in a matrix makes it easier to see holes in the planned interviews and make the proper corrections.

Context and Needs Data Analysis

The Six Sigma community often speaks of new or changed requirements – there is even a metric called requirements volatility. About 85 percent of the time there is not a new or changed requirement but rather a missed requirement due to poor handling of needs and context data. A business should regularly reevaluate its needs to ensure the requirements are accurately identified.

Prioritize Requirements

People comment it is not necessary to prioritize requirements but instead do everything. That is until the delivery date approaches, and they are not done. Then the priorities are based on what can be released. Prioritizing at the beginning of the project, specifically picking the top priority rather than leaving it to random chance at delivery, is the better option. Several Six Sigma tools help with prioritizing – options for setting correct priorities run from simple prioritizing, to the analytical hierarchy process, to quality functional deployment (QFD) and Kano analysis.

Figure 1: Assessing Priorities with Kano Analysis
Figure 1: Assessing Priorities with Kano Analysis

Value Stream and Process Mapping

Most software/IT projects include some type of flowchart or map to depict the flow of transactions or algorithms through a system or module. Also helpful, but seldom done during development are value stream maps isolating value-added, non-value-added and wait time. Many process flows look good on paper, but when reviewed with an eye to waste and wait time, significant issues can be isolated. In one Green Belt project, a team was trying to decrease the cycle time of a significant process from 14 days to 4 days. After reviewing a value stream map, the team discovered that most of the cycle time was waste and wait time. They recast the goals to reduce the time from 6 days to 2 days and successfully completed their project.

User Stories and Scenarios

Use cases have been around in rational unified process (RUP) and other methodologies for a long time, but are infrequently used with other methodologies. Companies often, instead, use the term “user story.” The user scenario approach can help solidify requirements and design needs by looking at what the system should do via various scenarios rather than looking at general functional requirements.

Identifying Y-to-x Relationships

For all projects, Six Sigma or not, companies need to know the factors that will drive success or cause failure. The final product will be more robust and better satisfy customers if these factors are identified early in the process via y-to-x charting and validated through data and tools.

Monte Carlo Modeling/Design of Experiments

Once project managers identify potential design factors and drivers, Monte Carlo modeling and design of experiments can validate them.

Failure Mode and Effects Analysis (FMEA)

Failure mode and effects analysis (FMEA) is a must-do item for any project. This analysis should be done at least twice during the development life cycle: 1) after design plans have been completed and 2) just prior to release of the product. A FMEA can identify potential failure modes in the current design. Identifying these issues with severity, occurrence and detection at a project’s start allows managers the option of modifying the design to soften or eliminate these issues. The second FMEA shows which severity, occurrence and detection weaknesses are remaining in the system. Passing this information to a help desk and customer service allows them to respond to customer needs when these failures occur.

Figure 2: FMEA Example
Figure 2: FMEA Example

Process Capability (Cp)EvaluationCp and Cpk (process capability index) are not just for the factory. Most projects have performance measures that must be tracked and measured. Data such as online response times, uptime/reliability numbers, backup/restore cycle times, etc., can use the process capability numbers to validate these requirements. After release, these values can be part of a control plan.Control Charts for MonitoringWhen developing a new system, project managers must define some measures that customers and/or customer service personnel can monitor after implementation. Control charts provide a simple approach for this. Companies may already be tracking Cp or Cpk numbers for online response times, uptime/reliability numbers, backup/restore cycle times, etc. SummaryThe above is not an exhaustive list of Six Sigma tools, techniques and approaches that can be used in everyday development processes, but it is a good place to start. According to some senior software/IT leaders, using these concepts daily on all projects justifies the investment in training. Integrating a few tools at a time may lead to amazing results.

About the Author