The PMBOK refers to the business of managing the requirements of a project as Scope Management while SEI refers to it as Requirements Management. This is partly because the SEI narrows its focus on the software requirements of the system or application being built while the PMBOK uses the term Scope to refer to all the work of the project. This includes administrative activities such as producing and communicating the project progress reports and conducting status review meetings.
The CMMI refers to the group responsible for capturing and recording requirements as the “software engineering group”. This is an entity that the CMMI states should comprise a part of the organizational structure. This group will be responsible for managing software requirements outside of the project, but for the purposes of the project the person or group responsible for gathering the requirements can be someone outside the software engineering group. CMMI organizes its Key Process Areas (KPA, Requirements Management is one of these KPAs for Level 2) into Goals, Commitment to Perform, Ability to Perform, Activities Performed, Measurement and Analysis, and Verifying Implementation. Requirements Management has 2 goals:
- Systems requirements allocated to software are controlled to establish a baseline for software engineering and management use.
- Software plans, products and activities are kept consistent with the system requirements allocated to software
Goal #1 should be satisfied by a Business Requirements Document (BRD), commercial specification, or other document which captures and identifies the requirements for the system or application being built. The PMBOK refers to this document by the generic name of Requirements Documentation (keep in mind that the PMBOK was not written specifically for software projects). The first process in the Scope Management knowledge area is Collect Requirements and this is the process that will deliver the Requirements Document. The people who are responsible for identifying the customer or client’s needs are identified in the Stakeholder Register and the requirements gathered using the various tools and techniques described will be captured in the BRD. They should be uniquely identified as well, so as to establish traceability. Goal #2 is chiefly satisfied by the breakdown of the work required to produce the software which is described in the Create the WBS (Work Breakdown Structure) process.
Your organization is required to govern requirements management with a “written organizational policy”. Since this policy is outside the scope of any single project, it is not part of your responsibilities as project manager to create it. The PMBOK does make reference to such a document however; mention is made in the input section of many processes, including scope management processes, of “organizational assets”. A policy that standardizes the activities that must be performed when a software system or application is built will influence the activities in your project plan and may even provide a template for the requirements management portion of your project plan. Always keep in mind that your responsibility covers all the project work, including administrative work, not just the work of building the software system.
The policy should state that requirements are documented and reviewed by “software managers and other affected groups”. These people are the project stakeholders referred to in the Stakeholder Register. The policy also states that the plans, work products, and project activities must change to be consistent with changes in requirements. Your project should have a Change Management Plan that describes how any changes, including changes to requirements, will be handled by the project. This Change Management Plan is described in the Integration Management knowledge area and is what will ensure that appropriate plans, work products, and activities are updated when a change to requirements is approved. The Verify Scope and Control Scope processes describe how activities called for by these processes might produce a change request.
The abilities that Requirements Management calls for are:
- Analyzing the system requirements and allocating them to hardware, software, and other system components. This ability is provided to the project by the Business Analysts, or Systems Analysts who translate the business requirements (allocated requirements) into system requirements. The PMBOK does not address this activity directly; remember that it is not focused on any specific industry, so your plan must speak to this ability. Simply identify the work to produce the functional specification from the business requirements in the WBS.
- Documentation of the requirements. The documents referred to will be the Business Requirements Document, the Functional Specification, and the Detail Design Document. The BRD should uniquely identify each requirement. Each function in the Functional Specification should support one or more requirements and each requirement should be supported by one or more functions. The same rule applies to the Detail Design Document. This supports tracing requirements through to the finished products. This ability also specifies that acceptance criteria for the products must be specified.
- Adequate resources and budget must be provided for managing the allocated requirements. This refers to your project funding for human resources such as business analysts, systems analysts, programmers, software librarians, etc. It also refers to funding for any tools required to manage requirements such as configuration management tools.
- Project team members are trained to perform their requirements management duties. This refers to the work of analyzing the requirements, managing the requirements, building the software, and managing the configuration.
The first activity called for by the CMMI is the review of requirements by the “software engineering group”. Your Verify Scope process describes the various methods for doing this and they include audits, walk-throughs, and reviews by the appropriate stakeholders. This activity also calls for resources to be allocated for the work of estimating costs, building the system, testing the system, configuration management, QA, contract management/Procurement Management, and documentation support. These activities will be identified by the Create WBS process.
Activity 2 calls for the engineering group to create the plan and build the deliverables. This is simply the execution of the project plans. Activity 3 calls for changes to the requirements to be reviewed and incorporated into the project. This activity is covered by the Control Scope process. Control Scope describes how the Integrated Change Control System manages changes and implements approved changes. CMMI describes the process in somewhat more depth and calls for changes to be identified, evaluated, assessed for risk, documented, planned, communicated to affected stakeholders, and tracked to completion. Your Change Management Plan should describe these activities.
CMMI calls for the work performed to be measured so that the measurements can be used to determine the status of the requirements. The Control Scope process describes how work performance information is analyzed (variance analysis) against the plan and any variances discovered are corrected.
CMMI calls for the verification of requirements management activities. The requirements management activities should be reviewed with senior management periodically. The Verify Scope process does not specifically refer to senior management in describing how this process is to be executed so the project manager will have to improvise here. I advise holding gate meetings, phase exit reviews, or business decision point meetings to review project status with senior management who are represented by the project’s business sponsor and/or the steering committee. CMMI also calls for progress reviews with the project manager. The project manager will attend the gate reviews and will run status review meetings with the team on a regular basis.
The CMMI also calls for the Quality Assurance group to review or audit the work. Your organization may or may not have a QA group. If it does, the group may be responsible for project audits which would cover this requirement. CMMI is specific as to who must undertake these reviews and audits so your organization either has this covered or it does not; there is no opportunity for you to cover it yourself. CMMI describes what should be audited at a minimum. This includes requirements reviews, problem resolution, updating of work products and plans when requirements change, and the proper process for deciding on change and implementing the changes.
CMMI Level 2 calls for requirements management to be repeatable. In order to meet this requirement, the plans for managing the project’s scope, including its software requirements, must be documented. The schedule and WBS will be captured by your MS Project file. You should also include a written Requirements Management Plan which describes all the activities for capturing requirements, analyzing requirements, designing the system, building the system, and testing the system. Changes should be managed by a separate Change Management plan. The creation of these two plans, as described above, will meet all the criteria for CMMI Level 2 that a project is capable of meeting.
The best project management practices referred to in this article are described in the PMBOK (4th edition) and are also supported by the PMI’s PMP certification and PMP exam. The exam tests candidates on their grasp of these best practices and their ability to put them into practice to solve actual project management problems. Studying with one of the many available PMP exam preparation courses and passing the exam is a good first step towards reconciling CMM practices and project management practices.