Intelligent Information Management
Vol. 4  No. 6 (2012) , Article ID: 24808 , 8 pages DOI:10.4236/iim.2012.46037

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

Guoping Zhou, Weimin Shao

College of Computer Engineering and Science, Shanghai University, Shanghai, China

Email: swm1956@vip.sina.com

Received August 19, 2012; revised September 19, 2012; accepted September 26, 2012

Keywords: CMMI; KPAs of CMMI Level 3; Software Engineering; Project Management

ABSTRACT

The paper researched and analyzed the characteristics, deficiencies and reasons of a management system of a software enterprise project to design a software project management system based on CMMI 1.2, thus helping the enterprise to improve development and management efficiency of software project and reduce the risks and costs on project development. It studied CMMI model version 1.3 which is recently released by SEI, analyzed its characteristics and told the difference between version 1.2 and version 1.3. In addition, an improvement proposal and a solution of the software project management system were given from multiple perspectives.

1. Introduction

Because of the complexity, large-scale and diverse projectors, the process of software manufacture urgently needs scientific management and definition. Meanwhile, the increased size of the project which leads to the exponential growth of the project data makes the traditional manual controlled project management methods appeared to be inadequate. The research on the new management system and new process is urgently needed to effectively enhance the company’s management capability [1]. These special requirements of the software industry promote the rapid development of enterprise project management tools.

CMMI can help enterprises to integrate their original independent functional system, to identify the goals and steps for process improvement, to strongly guide the quality control process, and to provide scientific and rational reference data used during the assessment of the current process [2,3]. Therefore, it is significant for a software enterprise on improving the project management and the efficiency of product development to make the CMMI theoretical system be well reflected in the project management tools and effectively assist the enterprise to improve management system and project development process.

2. The Basic Structure of CMMI

2.1. Capability Maturity Model of Integration (CMMI)

In 2003, Software Engineering Institute of Carnegie Mellon University (SEI) released the new generation version of Software Capability Maturity Model (SWCMM)-integrated Capability Maturity model (CMMI) based on the research of SW-CMM and combined with the development characteristics of today’s software industry. The biggest difference of CMMI and CMM is that more key practices of highly application values have been added to CMMI to perfect the process improvement.

5 maturity levels of CMMI are: Initial level, repeatable level, defined level, managed level and optimized level.

2.2. CMMI Three Level Process Areas

The CMMI process areas are divided into four categories: Process management, project management, engineering, support.

Compared with SW-CMM, following process areas are added to CMMI:

Process area added to Capability Maturity level 2: Measurement and analysis;

Process area added to Capability Maturity level 3: Requirements development, technical solutions, product integration, validation, decision analysis and solutions.

In order to meet CMMI Capability Maturity level 3, the process areas of CMMI levels 1, 2 and 3 are needed to be achieved in the same time.

The simplified model of SPP (Simplified Parallel Process) [4] has provided the software process implementers with 58 standard document templates as standard document used during the project implementation process. On the request of CMMI and combined with the characteristics of the staff in domestic software enterprises, the SPP model has divided into 20 kinds of SPP major roles. When using SPP, the enterprises can map the roles of SPP to the original positions in the enterprise or establish new positions based on SPP roles.

3. The Design of Software Project Management System Based on CMMI

3.1. Project Management System Workflow

Based on the relationship among the 3 level process areas of CMMI and the key practices set by CMMI level 3, combined with the original business structure of a software enterprise’s R & D department, we define a set of new project management system workflow which can both meet the CMMI level 3 specifications and realize smooth transition from current management system of the software R & D department, as shown in Figure 1.

3.2. The Entire Functional Structure of the Project Management System

The software project management system consists of project management functional area and system functional area. The project functional area consists of six modules: Project management module, project development module, technology support module, document management module, daily management module and employee management module. The system functional area consists of user management module, document management module and role management module.

3.3. The Design of Main Modules of the Software Project Management System Based on CMMI

According to the requirements of the entire project structure and CMMI 3, the system mainly consists of system management module, project management module, project development module, technology support module, document management module, staff management module and daily management module. The requirements of CMMI 3 are reflected during the realized process of each specific module.

3.3.1. Project Establishment Management

Project establishment management is the beginning of the system workflow as the product concept stage. Meanwhile, project establishment management belongs to project management in CMMI. The purpose of project establishment management is to adopt the project establishment proposal in keeping with the best interests for the agency and make the proposal become a formal project through project establishment management. Project establishment management can also avoid project establishment proposal be adopted without best interests for the agency and avoid wasting resources, money and time of the agency. The key practices of project establishment management stage of project management consist of project establishment proposal, project establishment evaluation and project preparation. Department managers and project managers are involved as staff roles in the project establishment management stage.

3.3.2. Project Planning

Project planning is in the product definition stage of the system workflow and belongs to project management in CMMI. Project planning is directly corresponded to the project planning process area (PP). The purpose of project planning is to draft an action programme (project plan) for project R & D and management, thus helping all relevant people work according to the plan orderly. The key practices of project planning stage of project management consist of project estimation, project plan

Figure 1. Project management system workflow.

making, project plan approval, etc. Department managers and project managers are involved as staff roles in the project planning stage.

3.3.3. Requirement Development

Requirement development crosses through the product concept stage and product definition stage of system workflow and belongs to project development in CMMI. Requirement development is directly corresponded to the requirement development process area (RD). The purpose of requirement development is to get the needs of user and define the requirements of the product through surveys and analysis. The key practices of requirement development consist of requirement validation, requirement traceability and requirement change control. Requirement analysts are mainly involved as staff roles in the requirement development stage.

3.3.4. System Design

System design is in the product development stage of the system workflow and is related to technology support area (TS) and product integration area (PI). It belongs to engineering. The task and purpose of system design is to design the system structure, user interface, database and modules of the software system in order to build bridge between requirements and codes and guide developers of software products to meet user’s requirements. The key practices of system design consist of system structure design, user interface design, database design and module design. System designers are involved as staff roles in the system design stage.

3.3.5. Coding and Testing

Coding and testing cross through the product development stage and product testing stage of system workflow. They are involved in technology support (TS), product integration (PI), verification (VER) and confirm (VAL) process areas. They belong to engineering in CMMI. Coding and testing write and test the codes of the whole system based on system design documents. The key practices of coding and testing consist of programming, code review unit testing, integration testing, defect management and error correction. System test is a final and fully test on the whole system to ensure the final system to meet product requirements and follow the system design. Coding controllers, coders, test controllers and testers are involved as staff roles in the coding and testing module.

Iteration and repeatability frequently exist in the coding and testing stage. It is difficult for the system to define the degree of task completion. In addition, the design of the module becomes more difficult because the specific arrangements and completion of coding and testing tasks (including code quality and required time, etc.) will be used as basis for scoring in staff scoring subsystem.

We have designed a judgment method for iterative task state, which is to set an information record for each coding or testing task to record and judge the current state of the coding or testing task. Then we set different time slices for the state of project task. We can judge the state of the coding or testing tasks by testing and calculating these time slices. At the same time, the system provides the coding controllers or test controllers with the entrance to subjective scoring, which help them to further understand the distribution of tasks of coders and testers.

3.3.6. Project Monitoring and Controlling

Project monitoring and controlling is in the project management stage and is related to project monitoring and controlling (PMC) and measurement and analysis (MA) process area. It belongs to project management and support. The key practices of project monitoring and controlling in SPP consist of project plan tracing, deviation controlling and project progress summary. Department managers and project managers are involved as staff roles in the project monitoring and controlling stage.

According to the analysis, the progress of the project has the following two characteristics: Firstly, the progress of the project is mainly reflected in the progress of the submitted documents, that is, the progress of the submitted document reflects the progress of the project; secondly, the documents submitted by the different modules are different, so we can represent the progress of each module based on the progress of the submitted document. We have designed two methods in figure to display and control the status of the project: “Figure of project progress—document submitted” and “figure of project progress—module progress”.

3.3.6.1. Figure of Project Progress—Document Submitted We analyzed 42 standard documents involved in the project development process to find out the dependencies among these documents and produce a figure of document dependency relationship, see Figure 2.

Figure 2 consists of two parts. One part is a list of document number from document 1 to document 42. The other part is a tree of document dependency relationship. The figures on each node of the tree represent the number of the corresponding document. The circle on the tail of the arrow represents the premise document. The arrow starts from the premise document and points to the next level document. If the document represented by the circle on the tail of the arrow did not pass the audit, then the document pointed by the arrow will be impossible to be approved.

 

Figure 2. Project document diagram.

We change the color of the small circle of the document number to reflect the status of the document: Not submitted, submitted and approved. For the document which is not submitted, the color is gray. For the submitted but not reviewed, the color is orange. For the reviewed, the color is green.

3.3.6.2. Figure of Project Progress—Module Progress Process area involved by each module is fixed, and the type of the document happened during the practices in these areas are fixed. So we can get a figure of project status for the units of project management system modules by judging and analyzing the information of each module. The appearance of the module progress table is shown in Figure 3. The running state of the module is reflected by the state of the documents involved by the module. Changing colors are used to indicate the status of the module.

Three states are used to indicate the running state of the module:

State 1: Not in the progress (gray). The documents involved in the module have not been submitted;

State 2: In progress (red). More than one document involved in the module has been submitted, but baseline documents have not wholly passed the audit yet;

State 3: Finished (green). All the baseline documents of the module have been submitted and passed the audit.

4. The Necessity and Feasibility for System Improvement

4.1. The Necessity for System Improvement

Above we have described the unique charm and operation principle of an excellent improvement tool for project management process, CMMI, and demonstrate a build process of a software project management system which is based on CMMI and meets the level 3 maturity.

Figure 3. Figure of project progress—module progress.

For an enterprise which attempt to improve the process management by CMMI, the system can help to achieve the desired results during the improvement of software development management process. However, for researchers, such improvements may be just the beginning. As previously described, an enterprise must establish a continuous improving culture in order to truly establish a complete set of integrated continuous improving system. No matter how an enterprise is successful, the staff must feel a sense of crisis and make efforts to do a better job, which is the premise of maintaining the competitiveness of the enterprise. In order to improve software project management system, we considered the following ways: Firstly, convert representation; secondly, enlarge structure scope; thirdly, improve maturity level; fourthly, improve based on a later version.

4.2. The Feasibility for System Improvement

Analysis of the necessity and feasibility of above solutions.

4.2.1. Convert Representation

Now the system uses a staged representation. Will it be better if using continuous representation? In fact, it is an argued issue in the industry on the choice of the CMMI representation. On one hand, if all other things being equal, a single-number scoring and a standard path for process improvement seem to bring many potential benefits. Many enterprises pointed out that the continuous representation look gives a disorderly sense as “all is OK”. On the other hand, an assessment profile may reflect actual results and implementation of a variety of practices than a single number [5]. In practical work, the enterprises consider more about practical problems when they choose between the two methods. In other words, the measurement for the choice should depend on which representation method is easier to be accepted by the staff or project managers, or which one is more suitable to the enterprise. Because the company is on the beginning of building CMMI system for project management, the visual and operational stronger stage representation method is clearly easier to be accepted by the staff and to be studied in relevant training.

4.2.2. Enlarge Structure Scope

Up to now, all the process areas and relevant practices about process improvement are involved in CMMI for development. Obviously, the SPP streamline model based on this cluster as mainly regulations has not covered all the functions of all the agencies of an enterprise. It is only confined to the field of R & D and management of software project. If we want to improve the software project management system to a completed project management system, we should establish process regulations in the field of human resource management, financial management, administration, market management, manufacturing, etc. The process improvement in each above field is very important. As a result, it is possible to consider adding other non-critical practices, and even introduce relevant process area concepts and specific practices of other two clusters (CMMI for Acquisition/CMMI for Service). At present, the CMMI-based software project management system used by the software R&D department of the company is just the urgently needed part of the entire management tools. Some other modules are in the process of design and realization, including considering to add other noncritical practices to gradually complete the functions of the project management system. It will thoroughly reduce the pressure of the project members with tedious documentation tasks if we “software” these “key documents”, that is, to integrate the work of writing “key documents” to the project management system.

4.2.3. Improve Maturity Level

This solution is the most direct and effective way to improve software project management system. To achieve CMMI 4 or even higher level, improvement or innovation must be implemented in hardware and software. To achieve CMMI 4, for example, two process areas as organizational process performance (OPP) and quantitative project management (QPM) are added compared to level 3, but level 4 requires all stages of software process should have quantified elements. Therefore, if we want to improve the present project management system based on CMMI 3 to CMMI 4 in the future, we should take into account to retain adequate interfaces for the system evolution when designing the current system, especially the system interfaces which can provide various project information and data statistics.

CMMI 4 is called quantitative management. The enterprises hope to strongly control the software production process, thus quantitative management will be naturally listed to the agenda. The projects carried out quantitative management must be similar in nature and production process, so that it may accumulate a pile of similar comparable data in a period of time and get the baseline using for project management by statistical analysis. The so-called quantitative management is to use indicators derived from empirical data to manage future projects. Therefore, the two PA which achieved maturity level 4 are complex. Take OPP for example, the workload to establish the SP1.4 function baseline and SP1.5 function model could be the same workload of several PA of maturity levels 2 and 3. The cost of human resource, material and time is enormous for the enterprises. To an enterprise which just experienced CMMI system reform, it is clearly too early.

4.2.4. Improvement Based on Later Versions

We think this solution is the most realistic and feasible improvement. In October 2010, the SEI official released CMMI 1.3 version. Because the R & D was earlier than the release of the version, the system R & D team was still based CMMI 1.2 when they designed the software project management system. Next, we will focus on the new guidelines of the maturity level 3 model based on the new version for system improvement.

4.3. Improvements Based on CMMI 1.3

As previously stated, the new version of the CMMI model is highly concerned about the definition of high maturity levels (4, 5) and has made significant adjustment in its process area. But it does not mean that the new version of the model has no strong points in the low maturity level. Let us take a look at the improvements which CMMI 1.3 make in the process areas and practices of maturity levels 2 and 3, and how these changes can help to improve the software project management system.

Firstly, the process areas change in the maturity levels 2 and 3 [6], as shown in Table 1:

There are 11 maturity 2 and 3 process areas have significantly changed. Combined with the SSP model and further streamlining results, the process areas involved in software project management system are 6. The major changes of these process areas are shown in Table 2.

Based on the above improvements in CMMI 1.3, we can try to improve the software project management system from the following aspects:

• In the sub-module of project establishment management, add the document “qualification assessment on staff of project R & D” to ensure that each R & D team is allocated with equally staff in the aspects of age structure, educational background, fields of knowledge, etc.

• In the sub-module of project monitoring and control, add the document “report on project progress” to highlight the importance of milestone review. At the same time, add the document “report on customer participation and feedback” and create relevant roles to ensure that the customers or final users can fully participate in the project monitoring and controlling process and have enough rights to make advices on project development process.

• In the sub-module of requirement development, add the document “table of user needs sorting” to sort the needs according to the user’s attention to the product functional and nonfunctional requirements on the basis of analysis of the survey report. The document should be implemented by the role of project manager and timely tracing during the project development process.

Table 1. The change of maturity levels 2 and 3 process areas in CMMI 1.3.

Table 2. SG or SP changes of the process areas related to the software project management system in CMMI 1.3.

• In the sub-module of configuration management, further improve the document “configuration management” to involve project R & D environment, important property, etc.

• Further clarify or improve the relevant systems in corporate employee handbook or training handbook, including: Organizational structure of the project, rights and responsibilities of the project manager and members, rules of team behavior, allocation checking mechanism of inside plan and task, communication method, report method to outside and the customers, etc. The purpose is to build organizational level criteria to guide the management of the project team.

It should also be highly noted that most of the practical documents in software project management system, including the documents needed to be improved or added have not realized automation. Through using these “key documents”, CMMI model can constraint project management and implementation activities. But for a project management system, this method has not maximized the work and management efficiency of the project management staff. Therefore, in future system design and improvements, we should focus on how to “software” these “key documents”, that is, to integrate the work of writing “key documents” to the project management system in order to thoroughly reduce the number of tedious documentation tasks on project members.

5. Conclusions

The system has 3 prominent features in functional design: Firstly, control and management technology of the development process based on the information of the project development document is used. We also produced the figure of the document dependency relationship. Then we use the figure to realize the control of the project development workflow by analyzing the information of project documents which meet the requirements of CMMI. Secondly, the authors designed and implemented a task management module based on the time slices of cross-iterative coding and testing. Finally, according to the scoring rules of software development department staff given by the software company, we designed and realized a staff management module which could automatically score the staff depending on how the employee completes the project, their daily performance and evaluation by the project manager.

Further improvements proposed in this paper for the system provides some researches and reference for the next phase of work of the project R&D team to provide. The specific improvement solution and its feasibility need to be studied by the team. The team should make decision-making and implement the solution on the basis of further research of the inside company system running state.

REFERENCES

  1. P. Weaver, “Effective Project Governance the Tools for Success,” Project Management Institute of New Zealand, Annual Conference, Auckland, 2005.
  2. Software Engineering Institution, “What is CMMI?” 2011. http://www.sei.cmu.edu/cmmi/general
  3. Pragma, “ProcessMax for CMMI Level 3,” 2007. http://www.pragmasystems.com/news/97
  4. R. Lin, “The Improvement Method and Standard of CMMI 3 Software Process,” Electronic Industry Press, Beijing, 2003.
  5. D. M. Ahern, A. Clouse and R. Turner, “CMMI Distilled,” 3rd Edition, Addison-Wesley Professional, New York, 2008.
  6. S. C. Zhong, “A Junior Analysis of the Change of CMMIDEV1.3 in Process Area Level 2 and 3,” 2011. http://www.cnies.com/index.aspx