CMM and Project Management - Tracking and Oversight
The goal of the Software Project Tracking and Oversight Key Process Area (KPA) is to provide sufficient insight into project performance so that the project manager can detect variances between performance and the plan and take preventive or corrective action. This KPA influences all PMBOK knowledge areas and is most closely associated with the Monitoring and Controlling group of processes. As with the other KPAs Software Project Tracking and Oversight is organized into goals, commitments, abilities, activities, measurements, and verifications.
The goals of this KPA relate to and support project oversight and corrective actions. The goals are that results are tracked against project plans, that corrective actions are taken when there is a variance between planned results and actual results, and that corrective actions that change the project plan are agreed to by the affected groups. The abilities and activities all support the achievement of these goals.
Commitment to Perform
Commitments to this KPA are required at the executive level. The first commitment is that a software project manager be assigned to the project. This commitment will be made by default for most IT projects. The project manager responsible for the entire project is likely to be someone who is considered a "software project manager", or at least has experience managing software projects. When larger projects require a sub-project for the creation of a software system or application to be defined, this commitment requires a project manager to be assigned to manage the sub-project. This is an organizational commitment, but might require you to identify and assign a project manager to manage the software sub-project if you are the overall project manager.
The second commitment is also at the organizational level and it is that project management follows a written organizational policy for managing software projects. PMs working out of a PMO or PMC should have such a policy to follow. If you are a project manager leading the charge for CMM/CMMI certification you should undertake the writing of this policy to govern your project and future projects for your organization.
Ability to Perform
There are 5 abilities required to meet CMM/CMMI level 2 criteria. The first ability is that software project has a project plan. The second is that the software project manager assigns work to the project team. This means not only that the project manager defines, organizes, and schedules the work in their plan, but that they direct individual team members to do the work. I believe that meeting the criteria for this ability requires the software project manager to be given the authority to direct the project resources work for the duration of the project. The best way for this authority to be officially granted is through the Project Charter which governs the project.
The third ability calls for adequate resources to be provided for tracking and oversight activities. Planning of the activities will be supported by the project's plans and schedule. Adequate funding will be demonstrated by the budget for resources to perform oversight and tracking activities being part of the approved project budget. Ability 4 requires the software project manager to be trained in managing the "technical and personnel aspects" of the software project. I would argue that there is no better way of demonstrating this ability than by the certification of the software project manager as a Project Management Professional (PMP®). The Project Management Institute oversee this certification and are recognized globally as the leaders in the area of project management certification and project management best practices. Certification of your software project manager is straight forward, providing PMI's criteria for project management experience are met. Providing they are, the project manager can choose from a host of quality PMP® courses or PMP® exam preparation training products to prepare them for the certification exam. These courses will train project managers in Project Management best practices and their implementation, as well as helping the project manager pass their exam.
The final ability calls for first-line software managers to receive "orientation in the technical aspects of the software project". CMMI defines a first-line software manager as someone who has direct management responsibility, including responsibility for providing technical direction, for staffing and activities of a single organizational unit. This definition matches the PMBOK®'s definition of a functional manager. The first-line manager should be educated in the tools, processes, procedures, and standards used for the project.
Activities called for by CMM include:
Use the project plan for tracking activities and communicating project status. The plan should be updated with information for work completed and made available to project stakeholders. Your MS Project file will satisfy this criterion and will convert your WBS/schedule to several formats that can be accessed by stakeholders who do not have MS Project on their desktop.
The project plans are revised according to a documented procedure. This procedure will be your Change Management plan, or Integrated Change Control System (ICCS). The various components of the project plan specify how changes approved by the ICCS/Change Management plan are to be implemented. The activity also calls for a review of the revised project plan.
Commitments made to external groups, and any changes to those commitments, are reviewed with senior management according to a documented procedure. In the context of tracking and oversight this activity will be described in the project's Change Management plan.
Approved changes to the software project are communicated to the members of the software engineering group and other software-related groups. Your Change Management plan, or Communications Management plan, should describe this.
The sizes of work products, or changes to the work products are tracked and corrective actions taken as necessary. CMM uses the word "size" to refer to the number of lines of code,.html pages, or pages of documentation produced. The idea is to compare the actual size with the estimates for the purpose of identifying actions required to correct the estimation procedure and future estimates.
Effort and costs are tracked and corrective actions taken when necessary. The cost management portion of the project plan will govern monitoring and controlling expenditures and identify how corrective actions are to be identified. The Change Management plan governs how changes to the cost estimates are to be made. Since software development projects frequently aren't governed directly by budgets, this may be accomplished in the Time Management plan for the project.
Critical computer resources are tracked and corrective actions taken when necessary. These will be tracked, along with other project resources, in the resource management plan.
The schedule is tracked and corrective actions taken when necessary. The Time Management portion of the project plan will describe how this happens, including the analysis of late and early delivery dates on the plan.
Technical activities are tracked and corrective action taken when necessary. Technical activities refer to the methods, procedures, and processes used to develop and test the software. Testing activities will be described in the Quality Management plan. Most of the methods, procedures, and processes associated with development of the software should be captured in the Configuration Management plan. Activities not covered by the Configuration Management or Quality Management plans should be described in a separate plan.
Project risks are tracked. This is accomplished by the Risk Management plan
Measurement data and re-planning data are recorded. This includes estimates and data associated with the estimates, plus data measuring completed work. Estimates will be captured in the WBS and schedule. Estimating tools and methods such as Function Point Analysis (FPA) will be described elsewhere.
The software engineering group conducts periodic internal reviews to track technical progress, plans, performance, and issues against the plan. The software engineering group includes the first-line managers and software project manager. This activity is covered by your weekly status review meetings.
Formal reviews to address accomplishments and results are conducted at selected project milestones. These formal reviews will correspond to your Gate Reviews.
Measurement and Analysis
The effort required to perform the tracking activities is measured