Also variation from this perspective is not perceived as problem in the software development because different engagements are not perceived as repetitive. Also considering the value from the Agile Manifesto “Individuals and Interactions Over Processes and Tools”, one would argue that you’ll always find variation in a software development process because it heavily relies on the skills of individuals and teams which makes them the primary source of variation. It also relies heavily on frequent and high bandwidth communication to continually manage uncertainty on the way to develop the final outcome, which almost in all cases, is intangible and not clear.Īdopting Six Sigma to produce software products or improve existing software development processes hasn’t been that popular mainly because Six Sigma has always been understood as a structured methodology for reducing variation in a repetitive production process as opposed to a human-‐centric and innovation focused process such as software development. Both Lean and Six Sigma were coupled eventually to produce what was called Lean Six Sigma, which is a systematic approach for process improvement and problem solving aiming to reduce variation, remove waste and increase capability.Ī software development project is a typical knowledge work project, which involves a lot of innovation and creativity and relies heavily on the skills of individuals and teams. Basically, the Lean philosophy in production considered the expenditure of resources for any goal other than the creation of value for the end customer to be wasteful, and thus a target for elimination. In parallel to this movement, the Lean movement was rising as well. Six Sigma gained popularity mainly in the manufacturing domain, mainly because of its origin and the fact that Six Sigma often related to an objective of reducing variation in production processes, and since reducing variation in a repetitive production process in manufacturing has been always a desirable goal to achieve, it has led Six Sigma to be a successful approach and methodology for improving processes, products quality and accordingly the business. And since its adoption at General Electric in the 1990’s, it has been widely adopted by many organizations in different domains and industries. It offers a rich set of tools, techniques and roadmaps, which aim to reducing variation, improving the quality of production processes by decreasing the number of defects and improving the capability of the processes, products and services. Six Sigma is a structured methodology for process improvement and problem solving. SIX SIGMA IN SOFTWARE DEVELOPMENT 2.1 What is Six Sigma? In addition, we will try to bridge the gap between the 2 approaches and methodologies, and focus on the areas where both can meet and benefit from each other. We will also discuss how we used agile methods in managing the Six Sigma project itself by adopting an agile-‐based iterative and incremental method called “Process Increments”. We will discuss how we benefitted from applying the DMAIC roadmap with an agile team who was adopting Scrum. In this experience report, we will share our experience in combining Six Sigma and its ‘DMAIC’ roadmap as a statistical and analytical problem solving approach with agile software development (particularly Scrum). It provides a set of tools, phases and roadmaps, which can be used by an organization to reduce variation and improve the capability and quality of its processes, products and services. Six Sigma is a philosophy, a measure and a methodology for problem solving and process improvement. Sometimes agile teams lack the bird-‐ eye/strategic approach to process improvement or problem solving. INTRODUCTION AND BACKGROUNDĪgile methods have been dominating the software development domain in the last decade, and they have proven to be successful for managing and executing software development projects, which are considered as innovative knowledge work as opposed to task work projects founds at other domains such as manufacturing.Īgile teams usually focus on quick and short-‐term improvements identified either through daily collaborations or through periodic vehicles like retrospectives. We tried to cover these aspects through telling our story in adopting both together as well as pointing out what we have learned, how did we overcome the challenges we faced and eventually what we concluded after adopting both successfully. It explores how both can benefit from each other and the gaps that are filled by mixing both of them together. This experience report is about how agile software development and Six Sigma can be adopted together.
0 Comments
Leave a Reply. |