Enhancing Value: How Lean Six Sigma Complements Agile Software Development
Software development companies constantly strive to deliver as much value as possible for customers, who find their organizations consumed by technological advances. Agile software development, which is a flexible and collaborative process that delivers working software incrementally rather than in totality as a final product, allows customers to realize value quickly.
Some developers are extracting even more value by adding the concepts of Lean Six Sigma to their software development processes. At a high level, Lean methodologies streamline a process by reducing waste and eliminating unnecessary steps. Then a Six Sigma approach is added to the mix to specifically look at reducing defects to solve problems more effectively.
Lean accelerates Six Sigma so that solving problems is faster and more efficient.
What “Lean” Entails
Many believe Lean methodology has a lot in common with Agile software development, primarily the concept that reducing waste increases value. Agile addresses how people collaborate to create software in iterations across the life of the project. Applying Lean concepts to that process makes it as efficient as possible.
Toyota was the first company to fully embrace Lean in automobile manufacturing. The company noticed a lot of clutter around factory workstations and tackled it using a “5s” approach.
- Sort
- Set in order
- Shine
- Standardize
- Sustain
For developing software, 5s entails making sure development stories are prioritized, structured clearly, written with standardized nomenclature that is clear to everyone, and that when the process meets all the requirements it will be used again and again. Sustaining a lean process is essential, but not easy without someone taking ownership.
What Six Sigma Entails
Adding Six Sigma concepts to a Lean approach delivers value by looking for ways to greatly reduce defects. The concepts are data-driven, with the goal of cutting defects so they are so they are statistically six standard deviations from the mean within the nearest specification limits. Very few companies achieve a Sigma value of six, which means only 3.4 defects out of one million opportunities.
Most companies start out with a mid-range Sigma value and try to improve from there. It begins by understanding what a ‘defect’ really means in the process and determining how much value that defect is costing the organization.
- Eliminate the simple defects that are costly to correct.
- Know what the defects entail and how often they occur.
- Know how much value it can add to the organization if the defect is improved.
Attacking Process Defects
Six Sigma utilizes DMAIC methodologies to attack process defects.
- Define
- Measure
- Analyze
- Improve
- Control
Data analysis is critical and control charts keep team members focused on progress. In terms of quality, establish a benchmark with upper and lower limits. When performance is charted over time, take note of the larger dips and spikes.
Automation is important in defect prevention as well. The more automation there is in a process, the better. When you have control of a process, then you would move on to your next bigger effort. Do not move on without the following in control:
- Documentation
- Process ownership
- Monitoring
- Automation
Value is always at the center. Team members need to consider the value of what they are doing and why they are doing it, which means keeping the customer front and center in their actions. The voice of the customer is key.
To Recap
Most people are probably utilizing various Lean Six Sigma concepts in their software development activities already, just not in a formalized way. But capitalizing on the ultimate value requires a top-down culture that embraces process improvement. Quality must be a culture that is instilled in each person of the company. When top executives or department executives see that process improvement will either make or save money, it will become a priority.