Six Sigma Methodology

Six Sigma is a methodology for improving the quality of production. It was developed by the company Motorola in the early eighties, and it is successfully applied in many software development companies. The purpose of Six Sigma is to make a product of constant quality with statistically measured estimation of defects, improvement of process for eliminating defects, and monitoring these improvements. Six Sigma is successfully applied for improving the organizations in various spheres.

While it has a successful reputation in big companies with thousands of employees, Six Sigma also may be applied in small design teams. This makes it being used by many small web development teams to improve their processes. The basis of the methodology Six Sigma is made by an estimation of deviations of actual metrics of process from a curve of normal allocation of deviations. If those or other metrics of process are in certain limits of deviations, the quality of process results also remains high. In statistics it is accepted to name a unit of measure of deviations as “sigma”.

Should there be a separate methodology for testing?

There are a lot of words said about web development and functional programming methodologies. Usually they are oriented to development mostly and do not deal very much with testing. So should testing have a separate methodology?

It is not a secret that quality software is one of the most important requirements for a customer. It often doesn’t matter the timeframe or even the budget of the project, but whether the end users will be pleased with the product developed. So the importance of testing is great and on some projects good testing is even more valuable than good development. Anyway this doesn’t mean that testing should have a separate methodology. As testing is a very agile and flexible process, which closely connected with web application development, there should be the same methodology for testing as for development.

Testing is flexible enough to choose the best process to achieve the result easily and quickly. It can be various, depending on the development methodology, project team specification and customer’s goals.
If you think of a separate testing methodology – just take all the best practices together and work out your own testing methodology!

The iterative model

The iterative development model is a cyclic software development process, developed to oppose the waterfall model and its weaknesses. It is an essential part of the agile software development and often is used in web application development.

The main idea of the iterative methodology is to produce a software system incrementally, allowing the web developers to take advantage of what was being learned during the earlier software development, and produce incremental, deliverable builds of the system. Learning comes from QA, testing, programming and coding, and use of the system. The process itself looks like that: start of the web development with a simple implementation of a subset of main and the most important requirements and iteratively enhance it with additional features until the full system is implemented. At each iteration, design modifications are or may be made and new features are added.