A Systematic Review of Software Process Improvement by CMMI

Similar documents
SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor

CMMI 100 Success Secrets

A Report on The Capability Maturity Model

Software Process Improvement CMM

CAPABILITY MATURITY MODEL INTEGRATION

Process Improvement -CMMI. Xin Feng

Developing CMMI in IT Projects with Considering other Development Models

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management

The Design and Improvement of a Software Project Management System Based on CMMI

Software Development and Testing: A System Dynamics Simulation and Modeling Approach

CMMI for Development, Version 1.3

Capability Maturity Model Integrated (CMMI)

Frameworks for IT Management

Software Quality Assurance: VI Standards

CMMI for Development, Version 1.3

The Capability Maturity Model for Software, Version 1.1

ERA System Development Statement of Objectives

Leveraging CMMI framework for Engineering Services

Research on Operation Management under the Environment of Cloud Computing Data Center

Software Process Maturity Model Study

Using Rational Software Solutions to Achieve CMMI Level 2

Operation and Maintenance Management Strategy of Cloud Computing Data Center

CMMI for Acquisition, Version 1.3

Darshan Institute of Engineering & Technology Unit : 7

Software Engineering: Analysis and Design - CSE3308

Lecture 8 About Quality and Quality Management Systems

The Compelling Case For CMMI-SVC: CMMI-SVC, ITIL & ISO20000 demystified

Foredragfor Den Norske Dataforening, den

Procedia Computer Science

[project.headway] Integrating Project HEADWAY And CMMI

Software Engineering. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 16

Why Would You Want to Use a Capability Maturity Model?

Verification and Validation of Software Components and Component Based Software Systems

Fault Analysis in Software with the Data Interaction of Classes

Software Production and Lifecycle Models

Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

The Advantages and Disadvantages of Using Software Engineering Standards

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Unit 8: Software Process Improvement

LUXOFT ADVANTAGES. International Quality Standards

The V-Model. Prepared for. Prepared by. Christian Bucanac Software Engineering Student, University Of Karlskrona/Ronneby

SOFTWARE QUALITY MANAGEMENT THROUGH IMPLEMENTATION OF SOFTWARE STANDARDS

Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008

Software development process

What do you think? Definitions of Quality

Concept of Operations for the Capability Maturity Model Integration (CMMI SM )

A common core ITIL Version 3.0 and CMMi-SVC

Case Study of CMMI implementation at Bank of Montreal (BMO) Financial Group

How To Understand And Understand The Cmm

A Capability Maturity Model for Scientific Data Management

PSM. Using CMMI To Improve Contract Management Within DCMA. Guy Mercurio, DCMA Boston, MA

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies

A system is a set of integrated components interacting with each other to serve a common purpose.

Towards a new approach of continuous process improvement based on CMMI and PMBOK

A Review of an MVC Framework based Software Development

Manage the acquisition of products from suppliers for which there exists a formal agreement.

Process Improvement. Objectives

Software Engineering Compiled By: Roshani Ghimire Page 1

Plan-Driven Methodologies

The IT Service Capability Maturity Model

Software Engineering CSCI Class 50 Software Process Improvement. December 1, 2014

A Survey of Software Development Process Models in Software Engineering

Capability Maturity Model Integration (CMMI SM ) Fundamentals

Project Management Office Best Practices

Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

Match point: Who will win the game, ITIL or CMMI-SVC? NA SEPG 2011 Paper Presentation

Measuring the level of quality of IT Service Management

Process Improvement. Objectives

Function and Structure Design for Regional Logistics Information Platform

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL

Redesigned Framework and Approach for IT Project Management

CMMi and Application Outsourcing

PART ONE. About CMMI for Development

STUDY OF SPI FRAMEWORK FOR CMMI CONTINUOUS MODEL BASED ON QFD

Software Engineering: Reflections on an Evolving Discipline

Steve Masters (SEI) SEPG North America March Carnegie Mellon University

Introduction to Software Engineering

Process Improvement. Process improvement. Process improvement stages. Understanding, Modelling and Improving the Software Process

Bhattacharya Uttam, Rahut Amit Kumar, De Sujoy

Configuration Management. Software Configuration Management. Example of System Families. Configuration Management

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Using CMM with DO-178B/ED-12B for Airborne System Development

Role of Software Quality Assurance in Capability Maturity Model Integration

An Oracle White Paper. December Cloud Computing Maturity Model Guiding Success with Cloud Capabilities

Capability Maturity Model Integration (CMMI ) Overview

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

Agile Based Software Development Model : Benefits & Challenges

Transcription:

, pp.21-26 http://dx.doi.org/10.14257/ijseia.2014.8.2.03 A Systematic Review of Software Process Improvement by CMMI Poonam Dhankhar 1 and Anil Kumar Mishra 2 1 M.Tech (Software Engineering) 2 Assistant Professor (CSE/IT) 1, 2 ITM University, Gurgaon-Haryana 1 pdhankhar15@gmail.com, 2 anilkrmishra@itmindia.edu Abstract Project and process management is a challenging task and CMMI architecture can bring a scientific management to this task. Software systems are integrated to a wide extent. As the time passes it becomes important to maintain the software. Software organization coming up with more efficient technologies to improve the results upon their clients and stakeholders, CMMI (Capability Maturity Model Integration) is one of them. It is a promising way model for improvement and overall development of the software process. In this paper a systematic review has been done on how the CMMI can prove beneficial in software process improvement. The paper explores the software development and improvement process by CMMI. Keywords: CMMI, Development process, Software process development, Software Improvement 1. Introduction Today, Software has become a highly valuable asset in business and economic environments. The information technology and Computer technology sector is maturing and it have become important that software systems should be maintained effectively. This requires disciplined and scheduled maintenance work efforts. The need for software maintenance is increasing rapidly in each sector. Maintenance of software systems is a large post of expense in software development. Picking up an appropriate technique for which serves the overall purpose is a challenging task. The system introduces advanced CMMI concepts to the project feature extraction and modeling. It built the model with the project scope, cost, quality, resources, and integration and other aspects and feature implementation. The current traditional management scheme focus on the Project. In recent years, many software companies have implemented CMMI management model, which proves that their business has improved software development methods in order to achieve with the world connection. Software modeling approach based on CMMI could improve the project management and enable complete the project with high-quality and low cost. 2. Software Development Process A software process includes set of activities that leads to the production of a software product. These activities may involve the development of software from scratch in a standard programming language like Java or C. These days, however, new software is developed by extending and modifying existing ones and by configuring and integrating off-the shelf ISSN: 1738-9984 IJSEIA Copyright c 2014 SERSC

software or system components. Processes are nothing but activities in a certain order that lead to the product or a service. Figure 1. Software Process Model Development process is the tasks undertaken to build a system, and the management of this task, by a group of stakeholders with a single goal, who are involved in transactions over time by applying structure to their work with a set of tools and methodologies, and who inspect the outcomes of their efforts accordingly. The CMMI is a model to help set up sufficient process and keep them running and efficient over time and helping in the development process effectively. 3. Software Maintenance Process The series of actions in order to effect change during software maintenance is a software maintenance process. With the software rapid development today, software maintenance has become important trend of software development models. Development model around with the engineering project is simple, efficient, client. It also brings disadvantages: a lot of duplication labor, lack of accumulation, difficult to maintain, quality control problems. CMMI not only provide the measures to develop the software process but also the maintenance. When software is installed and running in a system in the environment, sooner or later new requirements emerge degree of quality, hence the need of overall maintenance of the software becomes important. For software to be maintainable it needs to be adaptable to changes in a cost-effective way that does not increase the probability of errors. A system with maintainability as a critical requirement should have an architecture with wide division into parts with self-contained components that easily can be modified. The well spread software process model, the waterfall model or the lifecycle model describes the essential parts of the software development process. Operation and maintenance is the last phase in the waterfall model and the longest. Apart from implementing new requirements the maintenance is 22 Copyright c 2014 SERSC

important in every phase. It helps in correcting errors not discovered earlier and improving the implementation. Categories of software maintenance: 1. Corrective changes: Maintenance to repair software faults repair software faults. 2. Adaptive changes: Maintenance to adapt the software to a different operating environment. 3. Perfective changes: Maintenance to add or to modify the system s functionality. 4. Preventive maintenance: It improves future maintenance and enhancement and aims to detect problems in future. The maintenance of the software is a ongoing activity. Also adopting CMM helps the maintenance process to a great extent. The software quality is indirectly related to how effective the maintenance of the software is. CMM provide Support management which have different measures and goals focusing software maintenance. 4. CMMI- Capability Maturity Model Integration CMMI is the abbreviation Capability Maturity Model Integration is a process improvement model developed by the Software Engineering Institute, Carnegie Mellon University. CMMI was developed from the SW-CMM which was used widely by software organizations throughout the world. Additional disciplines are included in CMMI. Software Park introduced SW CMM to Thai SW industry in 1999 and transit to CMMI about three years ago. CMMI aims to provide a systematic and an organized approach towards the development of software. Software improvement is also a part of software development; CMMI provides a framework which acts as the basis for improvement and maturity of the software. There is hundreds of software developed each day hence choosing one out of many becomes challenging therefore CMMI makes the decision easy. The SEI published in 1995 the book, The capability Maturity Model: Guidelines for Improving the Software Process. This was the start for CMMs (Capability Maturity Model) for software organizations. To evolve and improve the models for businesses three different CMM models were combined to the integrated one, CMMI. The capability model for software (SW-CMM), the systems engineering capability model (SECM) and the integrated product development capability maturity model (IPD-CMM) were combined to CMMI. In CMMI- Guidelines for Process Integration and Product Improvement, in the SEI series describes the CMMI framework in detail. In the introduction to the book the purpose of CMMI for development is said to be to help organizations improve their development and maintenance processes for both products and services. Business objectives are motivators for using the CMMI. Process helps an organization s workforce meet business objectives by helping them work smarter, not harder, and with improved consistency. CMMI can be used for: 1. Software Engineering Discipline 2. Hardware Engineering Discipline 3. System Engineering Discipline 4. Integrated Product and Process Development System architecture: In all software development, system controls electronic process through the quality. There is unified management of code and document libraries. The maturity model consists of 5 levels or stages. Each level has a defined process area on which it focus. As the Level increases from 1 to 5, the quality also increases. Each maturity level must have clear and rigorous processes and is shown as a step of stairs. Copyright c 2014 SERSC 23

Figure 2. CMMI The maturity model consists of 5 levels or stages. Each level has a defined process area on which it focus. As the Level increases from 1 to 5, the quality also increase. Figure 3. Levels of CMMMI Each maturity level must have clear and rigorous processes and is shown as a step of stairs. 1. Initial: At maturity level 1 process are ad hoc and uncontrolled. Organizations on maturity level 1 significantly exceed budgets and cannot hold timeframes in schedules. They do get products finished but it all depends on heroic achievements of employees and successes are hard to repeat. 24 Copyright c 2014 SERSC

2. Managed: At level 2 processes and practices based on policies are established. Projects are monitored and managed according to skills of employees, documentation, stakeholders etc. 3. Defined: At maturity level 3 processes are described in more detail compared to level 2. The processes are more sophisticated; more organized and have an organizational identity. 4. Quantitatively Managed: At maturity level 4, the organization establishes quantitative objectives for quality and process performance and uses them as criteria in managing processes. 5. Optimizing: Maturity level 5 focuses on continually improving process performance through incremental and innovative process and technological improvements. It is the role of the Executive in an organization to understand the CMMI implementation. It has certain responsibilities such as: a. Make commitment by announcing CMMI policy. b. Sending staff to learn Intro to CMMI course. c. Sending staff to learn Project Management course. d. Sending staff to learn Quality Assurance course. e. Sending staff to learn Configuration Management course. f. Allocate recourses to acquire project management and CMMI tools. And last but not the least is to select pilot projects for implementation. In a process there are certain components in the CMMI model. There are 22 process areas in CMMI. Examples of process areas related to software development Project Planning(PP) Requirement management(reqm) Configuration Management(CM) Risk Management(RSKM) Figure 4. CMMI Components To say that CMMI gives greater support for software development is not that obvious. CMMI does not get too involved in certain technological factors or unique activities. The processes and procedures are the means to the goal and have main focus. So as a conclusion higher CMMI maturity levels give more mature processes, in a general way, and there is the possibility to focus on maintenance processes and there is explicit support for this in half the process areas. Copyright c 2014 SERSC 25

5. Conclusion Since there is different project and software process type, there is different management mode and flow. The idea behind CMMI is to exactly abstract and model different project flow. The preliminary research work becomes extremely important. This system has the following characteristics: 1. It is the powerful model with simple operations. 2. A wide problem areas related of software process get a solution through CMMI. 3. Effective and ease development, maintenance and improvement are the primary goals of this model. CMMI is not the answer to all the troubles and challenges occur during the process of software building but to an extent CMMI proves to be a boon for software organizations. CMMI aims to provide the organizations a complete way to develop the software in an effective manner. It is not limited to just software but hardware and other aspects of an organization. The rest of the process areas may also benefit the maintenance work, in terms of a overall thought through approach to every aspect of the work of an organization and to a lot of helping functions around the specific maintenance tasks. Acknowledgements I would sincerely like to present special thanks my guide Mr. Anil Kumar Mishra for his guidance and support. The guidance provided by sir began from day 1 where he guided me about the future aspects and core understanding of the same as well. The paper was developed with feasible suggestions duly incorporated in consultation with sir and his constant faith in me helped me to come out with such an excellence. The paper was completed and is a success with the mental support provided by colleagues, my family and faculty of computer science department who supported me mentally and technically. The paper was a great achievement to us in understanding the practical aspects of CMMI and its approach in software development and improvement. References [1] B. Han and Y. Fang, North China University of Technology, ISSN 0033-2097, (2012). [2] A.-S. Jansson, UPTEC, (2007). [3] D. R. Goldenson and J. Jarzombek, Software Engineering Technology. [4] K. Malaivongs, SEI, (2010). [5] C. Mellon, Software Engineering Process Management Program, Version 1.3, CMMI-DEV. [6] R. Kneuper, (2010). Author Poonam Dhankhar M.Tech( Software Engineering) ITM University, Gurgaon (Haryana) pdhankhar15@gmail.com 26 Copyright c 2014 SERSC