CMM(Capability Maturity Model):
is an industry-standerd model for defining and measuring the "maturity" of a software company's development process and for providing direction on what they can do to improve their software quality.it was developed by the software development community along with the software engineering institute(SEI).
CMM software Maturity Levels:
Level1:Initial: The s/w development process at this level are adhoc and often chaotic.The project's success depends on heroes and luck.There are no general practices for planning,monitoring, or Controling the process.It's impossible to predict the time and cost to develop the software.The test process is just as adhoc as the rest of the process.
Level2:Repeatable: This maturity level is best describled as project level thinking.Basic project management processes are in place to track the cost,shedule,functionality, and quality of the product.Lessions learned from previous similar projects are applied.There is a scense of descipline.Basic software testing practices,such as test plans and test cases are used.
Level3:Defined: Organizational,not just project specific,thinking comes in to play at this level.Common management and engineering activities are standerdized and documented.These standerds are adapted and approved for use on different projects.The rules are not thrown out when things get stressfull.Test documents and plans are reviewed and approved before testing begins.The test group is independent form developers.The test results are used to determine when the s/w is ready.
Level4:Managed: At this maturity level,the organizations process is under statistical control.Product quality is specified quantitatively beforehand (for example, this product wont release until it has fewer than 0.5 defects per 1,000 lines of code) and the s/w isn't released untill that goal is met.details of the development process and the s/w quality are collected over the projects development, and adjustments are made to correct deviations and to keep the project on plan.
Level5:Optimizing: This level is called "optimizing"(not "optimized")because it's continually improving from level 4. new technologies and processes are attempted,the results are measured, and both incremental and revolutionary changes are instituted to achieve even better quality levels.Just when everyone thinks the best has been obtained.the crank is turned one more time, and the next level of improvement is obtained.