Six Sigma in Software Development

Over the years Quoin has achieved great renown for their consistent, high quality deliverables. Time and time again Quoin is selected to contribute to the most challenging, high priority projects by clients. This can be attributed to their successful implementation of Six Sigma roles and quality improvement practices.

Six Sigma is a detailed and structured methodology. While it is used throughout Quoin's staff, Quoin urges project managers and team members on the client side to adopt Six Sigma as well. Quoin employees help incorporate these roles into the client's organizational structure in several ways. Six Sigma is based on a people structure of three main roles: Champions, Black Belts, and Green Belts. The Champions ensure projects are linked to organizational goals, provide or negotiate project resources, and negotiate issues and overlaps between teams. This is the role assumed by the client project managers on many projects. The Black Belts are responsible for communicating frequently with the Champions and team members. They are full-time Six Sigma project team leaders responsible for implementing process improvement projects. The Green Belts act as team members and do most of the legwork in carrying out projects under the guidance of the Black Belts.

The most tangible benefits of Six Sigma can be seen in the testing phase of software development. This method was extremely successful in a scenario where Quoin was required to push out a substantial amount of new features to a web application within an 8 week timeline. When our team used the Six Sigma DMAIC approach alongside agile practices in the software testing process, the result was the achievement of desirable code quality measures with a very short lead time. Below is an overview of how the DMAIC testing process worked for Quoin.

Define phase: Quoin’s project managers and Business Analysts worked directly with the Client to understand the business requirements of the project.

Measure phase: Once the team gathered and documented testing requirements, a sprint planning period was required to determine resource needs. A sprint backlog that detailed how long it would take to complete the work was also prepared.

Analyze phase: This phase was dedicated to analyzing dependencies and defining the dimensions of testing. This included the creation of user stories and acceptance criteria, which transformed the business requirements documents into test cases and test plans. The acceptance criteria was very verbose and went through multiple scenarios for each desired user interaction. Through using the “Given, When, Then” approach for the user acceptance criteria, the team was able to define the complex requirements while using direct wording.

Improve phase: The improve phase included allocating resources for testing, modifying test plans and test cases, and executing tests. From here the team refined its efforts after seeing what worked and what didn’t work, and communicated these findings in the daily scrum meetings.

Control phase: At this final phase, Quoin reported metrics and pushed the clients project to production.