160 likes | 393 Views
Software Process Improvement Using Capability Maturity Model. By Ritesh Reddy Nagaram. Introduction:. Organizations which are developing software processes are facing many problems regarding the need for change of already existing structure.
E N D
Software Process ImprovementUsingCapability Maturity Model By Ritesh Reddy Nagaram
Introduction: • Organizations which are developing software processes are facing many problems regarding the need for change of already existing structure. • There are many issues that have are being raised to develop a process. To overcome the issues many models have been published. • One of the best and most popular model in use is Capability Maturity Model [1,2].
Software Process Improvement: • A software process is a collection of artifacts, attributes, activities, methods and procedures. • We use software process to build up a new software or maintain a already existing one. • In the way of developing or maintaining a software, introducing new methods for further refinement of product quality is called Software Process Improvement.
Software Process: A Process is defined in 3 steps: 1)Policy: It represents general statements or guidelines of an organization. 2)Process: It describes about “what to do” in the process. It has a overview of key areas like key activities, planning, staffing, scheduling, risk management etc. 3)Procedure: It describes about “how to do” in the process. It identifies tools, methods and techniques to be used in the process [3].
Capability Maturity Model (CMM): • CMM is a model used to improve the software process of an organization. • It was first described by Watts Humphery. • Later it was developed by Software engineering Institute at Carneige Mellon university. • It is the most popular and efficient model used for software process improvement [2].
Stages of CMM [4]: Fig 1 Phases of Capability Maturity Model (CMM)
Initial: • It is the starting phase of the process. • It is the stage where the process is ready to be nurtured. • Documentation not yet prepared. • Initial knowledge about requirements, cost, schedule will be discussed [4].
Repeatable: • For consistent results some of the processes in the project are repeatable. • Key Process Areas are 1)Requirement Management. 2)Software Project Planning. 3)Software Quality Assurance. 4)Software Configuration Management. 5)Software Project Tracking and Oversight. 6)Software Subcontract Management [4].
Defined: • Its prime focus is on tailored engineering and process management. • Defined processes are subject to change as the time progress. • Key Process areas are: 1)Organization process Focus. 2)Integrated Software Management. 3)Software Product Engineering. 4)Training program.
5)Organization Process Definition. 6)Intergroup Coordination. 7)Peer Reviews [4].
Managed: • The main focus of this phase is about the quality of processes and products. • Key Process areas are: 1)Quantitative Process Management. 2)Software Quality Management [4].
Optimizing: • This is the final and important phase of the process • The focus in this phase is to increase the process performance continuously. • Key Process areas are: 1)Process Change Management. 2)Technology Change Management. 3)Defect Prevention [4].
Conclusion: • CMM is the best model for process improvement. • Step by step procedure makes it easy to implement. • Covers all the important areas of the process. • Good Documentation.
Future Enhancements: • CMM is a very good model for big organizations, but what when coming to smaller ones. • Quality Assurance or Checking should be done at the end of every phase. • Importance to staffing should be given. • It cannot be assured with defined results but gives the most efficient result.
References: [1] Beth Layman, “Planning for Process Improvement” Implementing an Organizational Software Process Improvement programme, P.279-288. [2] Cusick, k, “The System Engineering Capability Maturity Model: Where to start?” Aerospace and Electronics Conference, Volume 1, P. 410-416,1997. [3] Mark C. Paulk, “An Overview of Software CMM” Using the Software CMM in Small Organizations, P.1-13, 1998. [4]http://tarpit.rmc.ca/cficse/2001/resources/sei-experience-process-impr-tr008_95.pdf