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 more effectively solve problems. TDK Scrum Master and Business Analyst Carin Thamke recently received certification as a Lean Six Sigma Blackbelt, which designates a deep understanding of the methodologies.
“As I got into it, I discovered it was essential to my job as an analyst and a project manager,” Thamke said. “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. In one sense, 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. Thamke said Toyota was the first company to fully embrace Lean in automobile manufacturing but started small. That company noticed a lot of clutter around factory work stations and tackled it using a “5s” approach: Sort, Set in order, Shine, Standardize and Sustain.
“5s is what your Mom meant when she told you to clean your room,” Thamke said. “Start out simple and small. Clean up your work space, then move on to the next thing that needs to be cleaned up. Even though we are not manufacturing things, we are manufacturing code. So 5s your code.”
Thamke said that could entail 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. She said sustaining a lean process is essential, but not easy without someone taking ownership.
“If there is no one to own a process, sustaining will be impossible,” Thamke said. “The owner would be in a position to say when stories don’t conform to the standard and are not acceptable.”
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 ultimate goal of cutting defects 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. Thamke said 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.
“When it comes to defect-detection, make sure to cross your T’s and dot your I’s first. Eliminate the simple defects that are costly to correct. Know what the defects actually entail and how often they occur,” said Thamke. “When is comes to improving a defect, know how much value it can add to the organization. Airlines for example may not spend much time or resources on improving the inconvenience of losing luggage. But they will focus a lot on making sure the plane is safe.”
Six Sigma utilizes DMAIC methodologies to attack process defects: Define, Measure, Analyze, Improve and Control. Data analysis is critical and control charts keep team members focused on progress. In terms of quality, Thamke suggested establishing a benchmark with upper and lower limits. When performance is charted over time, take note of the larger dips and spikes. This requires a process owner; someone to champion and govern that process. So, when it looks like something is dipping or spiking, the process owner can start tapping people on the shoulder to point it out.
Automation is important in defect prevention as well. Thamke said 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. But you should not move on until that controlled process is in place,” Thamke said. “Control is in the form of documentation, process ownership, monitoring, and automation. All of that needs to be in place before moving to another process.”
Thamke emphasized that value is always at the center. Team members need to consider the value of what they are doing and why they are doing it. They should also keep the customer front and center in their actions.
“The voice of the customer is key. Anytime you are working with Lean and Six Sigma, the voice of the customer is always the most important thing. It should always be driving value,” Thamke said. “Many companies don’t have ownership of their processes. They don’t have clearly defined departments or documentation of what to do when the process starts going awry. In those cases, it’s frustrating for people who are trying to fix it. They feel the entire project is ‘on them’ to make it work when it should be a collaborative effort.”
Thamke said 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. Thamke said when top executives or department executives see that process improvement will either make or save money, it will become a priority.