|
|
|
Allocating resources or scheduling for an administrative function |
Accelerated process improvement framework7035809
Abstract
The present invention relates to a method and related system for assisting and expediting an organization's development of a more mature product. A preferred embodiment of the method comprises the managing of an organization developing the product, whereby the organizational management comprises managing personnel of the organization and implementing a product improvement process. The method may further comprise managing a project for developing the product and managing the delivery of the product. Furthermore, actions undertaken during the organizational management affects implementation of the project and delivery managements, and the actions undertaken during the project and delivery managements likewise affect implementation of the organizational management. This method may be implemented using a combination of both electronic hardware and software and may be implemented locally or over a network such as an intranet or the Internet.
Claims
What is claimed:
1. A computerized process for accelerating improvement to a more mature software product, the method comprising:
a) a step for managing, on a computer, an organization developing said product, said step for managing an organization comprising:
a step for managing personnel of said organization including a step for designing a performance measurement infrastructure, a step for executing organization design and development, and a step for designing and deploying training, and
a step for implementing a product improvement process as needed to include steps for creating, planning, organizing, and maintaining a Software Engineering Process Group (SEPG), and steps for managing and improving the organization's processes to include controlling SEPG project work, rolling out and supporting SEPG projects, completing the SEPG project, and controlling process improvement;
b) a step for managing, on a computer, a project for development of said product; and
c) a step for managing, on a computer, delivery of said product, said computerized step for managing delivery of the product comprising:
a step for analyzing the product;
a step for designing the product, said designing step occurring after commencement of said analyzing step;
a step for building and testing the product, said building and testing step occurring after commencement of said designing step, said building and testing step includes a step for building and testing the technology infrastructure, a step for building and testing an application, and a step for planning and executing product and acceptance tests; and
a step for deploying the product, said deploying step occurring after commencement of said building and testing step;
whereby the step for managing the organization, the step for managing project development, and the step for managing delivery occur concurrently, and whereby results from the step for managing the organization are used to modify the step for managing project development and the step for managing delivery, and results from the step for managing project development and results from the step for managing delivery are used to modify the step for managing the organization.
2. The method of claim 1 further comprising a computerized step for managing a program for implementing said step for managing the organization, said step for managing development of said product; and said step for managing delivery of said product.
3. The method of claim 2, wherein said step for managing a program for implementing comprises:
a step for justifying the program;
a step for planning execution of the program;
a step for organizing program resources;
a step for controlling program work; and
a step for completing the program.
4. The method of claim 1 wherein the step for managing personnel of said organization and the step for implementing a product improvement process are performed in parallel.
5. The method of claim 1, wherein the step for managing a project includes:
a step for planning of execution of the project;
a step for organizing project resources;
a step for controlling project work; and
a step for completing the project.
6. The method of claim 1, wherein the step for analyzing the product comprises:
a step for defining a business case;
a step for gathering and analyzing requirements;
a step for assessing deployment environment; and
a step for identifying and analyzing application and interface requirements.
7. The method of claim 1, wherein the step for designing the product comprises:
(i) a step for designing technology infrastructure, including
a step for identifying and analyzing technology infrastructure requirements,
a step for selecting and designing execution/operation hardware, and
a step for selecting and designing a development architecture; and
(ii) a step for designing an application, including
a step for designing an application architecture,
a step for designing a database,
a step for planning a testing approach, and
a step for designing a performance support approach,
whereby said steps for designing an application architecture, designing a database, planning a testing approach, and designing a performance support approach are performed in parallel.
8. The method of claim 1, wherein the step for building and testing the technology infrastructure comprises:
acquiring of physical environment assets and services;
building and testing of execution/operations architecture; and
building and testing of development architecture.
9. The method of claim 1, wherein the step for building and testing the application comprises:
deployment planning of the application;
performing of the application;
detailed designing of the application;
building and testing of the application;
developing policies and procedures; and
developing learning products related to the application.
10. The method of claim 1, wherein the step for deploying the product comprises:
a step for transitioning users and deploying policies and procedures;
a step for deploying a physical environment;
a step for deploying an application;
a step for deploying a technology infrastructure; and
a step for activating and testing a solution.
11. A computerized process for accelerating improvement to a more mature software product, the method comprising the steps of:
a) managing, on a computer, an organization developing said product, said managing of the organization includes managing personnel of said organization and the implementing of a product improvement process, wherein the managing and implementing are performed in parallel,
the managing personnel of the said organization includes designing a performance measurement infrastructure, executing organization design and development after commencement of the performance measure designing, and designing and deploying training after commencement of the executing, and
the implementing of a product improvement process includes parallel steps of (i) creating, planning, organizing, and maintaining a Software Engineering Process Group (SEPG) and (ii) managing and improving the organization's processes, wherein the managing and improving the organization's processes includes controlling SEPG project work, rolling out and supporting SEPG projects after commencement of the project work controlling, completing the SEPG project after commencement of the rolling out and supporting, and controlling of process improvement after commencement of the completing;
b) managing, on a computer, a project for development of said product, wherein said project managing includes planning of execution of the project, organizing project resources after commencement of the execution planning, controlling project work after commencement of the project resources organization, and completion of the project after commencement of the project work controlling; and
c) managing, on a computer, delivery of said product, the managing of product delivery comprising:
analyzing of the product;
designing of the product, said designing occurring after commencement of said analyzing;
building and testing of the product, said building and testing occurring after commencement of said designing, said building and testing includes building and testing of the technology infrastructure, building and testing of an application, and planning and executing of product and acceptance tests; and
deploying the product, said deploying occurring after commencement of said building and testing;
whereby the managing the organization, the managing development, and the managing delivery are performed concurrently.
12. The method of claim 11 further comprising computer directed managing of a program for implementing said managing the organization, managing development of said product, and managing delivery of said product, wherein said step of managing an implementation program comprises the sequentially performed steps of:
justifying the program;
planning execution of the program after commencing said justifying;
organizing program resources after commencing said planning;
controlling program work after commencing said organization; and
completing the program after commencing said controlling.
13. The method of claim 11, wherein the managing delivery of the product comprises sequentially performed steps of:
analyzing the product;
designing the product commencing after said analyzing;
building and testing the product commencing after said designing; and
deploying the product commencing after said building and testing.
14. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform the method steps comprising:
a) a step for managing, on a computer, an organization developing said product, said step for managing an organization comprising:
a step for managing personnel of said organization including a step for designing a performance measurement infrastructure, a step for executing organization design and development, and a step for designing and deploying training, and
a step for implementing a product improvement process as needed to include steps for creating, planning, organizing, and maintaining a Software Engineering Process Group (SEPG), and steps for managing and improving the organization's processes to include controlling SEPG project work, rolling out and supporting SEPG projects, completing the SEPG project, and controlling process improvement;
b) a step for managing, on a computer, a project for development of said product; and
c) a step for managing, on a computer, delivery of said product, said computerized step for managing delivery of the product comprising:
a step for analyzing the product;
a step for designing the product, said designing step occurring after commencement of said analyzing step;
a step for building and testing the product, said building and testing step occurring after commencement of said designing step, said building and testing step includes a step for building and testing the technology infrastructure, a step for building and testing an application, and a step for planning and executing product and acceptance tests; and
a step for deploying the product, said deploying step occurring after commencement of said building and testing step.
15. The program storage device of claim 14, wherein the program of instructions executable by a machine further performs a method step for managing a program for implementing said step for managing the organization, said step for managing development of said product, and said step for managing delivery of said product.
16. The program storage device of claim 15, wherein said step for managing a program for implementing comprises:
a step for justifying the program;
a step for planning execution of the program;
a step for organizing program resources;
a step for controlling program work; and
a step for completing the program.
17. The program storage device of claim 14, wherein the step for managing personnel of said organization and the step for implementing a product improvement process are performed in parallel.
18. The program storage device of claim 14, wherein the step for managing a project includes:
a step for planning of execution of the project;
a step for organizing project resources;
a step for controlling project work; and
a step for completing the project.
19. The program storage device of claim 14, wherein the step for analyzing the product comprises:
a step for defining a business case;
a step for gathering and analyzing requirements
a step for assessing deployment environment; and
a step for identifying and analyzing application and interface requirements.
20. The program storage device of claim 14, wherein the step for designing the product comprises:
(i) a step for designing technology infrastructure, including
a step for identifying and analyzing technology infrastructure requirements,
a step for selecting and designing execution/operation hardware, and
a step for selecting and designing a development architecture; and
(ii) a step for designing an application, including
a step for designing an application architecture,
a step for designing a database,
a step for planning a testing approach, and
a step for designing a performance support approach.
21. The program storage device of claim 14, wherein the step for building and testing the technology infrastructure comprises:
acquiring of physical environment assets and services;
building and testing of execution/operations architecture; and
building and testing of development architecture.
22. The program storage device of claim 14, wherein the step for building and testing the application comprises:
deployment planning of the application;
performing of the application;
detailed designing of the application;
building and testing of the application;
developing policies and procedures; and
developing learning products related to the application.
23. The program storage device of claim 14, wherein the step for deploying the product comprises:
a step for transitioning users and deploying policies and procedures;
a step for deploying a physical environment;
a step for deploying an application;
a step for deploying a technology infrastructure; and
a step for activating and testing a solution.
Description
FIELD OF THE INVENTION
The present invention relates to a method for assisting and expediting an organization's progression through the levels of the Capability Maturity Model (CMM). Specifically, the present invention relates to a method and related system for arranging and administering an organization's infrastructure and a project of interest so that the organization and the product may be more mature, as measured by the CMM.
BACKGROUND OF THE INVENTION
The Capability Maturity Model® (CMM®) may refer specifically to the Capability Maturity Model for Software (SW-CMM) or, more generally, to a number of other process improvement models developed by the Software Engineering Institute (SEI) and registered to Carnegie Mellon University. The SW-CMM was the first model developed by the SEI, and it originally evolved from the need for the United States Department of Defense to have another measure besides "lowest bidder" in determining who should win project bids. Specifically, the Department of Defense desired a method to better compare and distinguish well designed and shoddy, defective products. The two major usages of the SW-CMM are: (1) as a model for Software Process Improvement (SPI) and (2) as a measure of the capability to produce quality systems. Specifically, the CMM may help a purchaser differentiate properly working product from an incomplete, nonfunctioning, poorly designed product by providing information on a producing organization and its production and development procedures.
The CMM is an example of a model-based improvement approach that focuses on creation process quality. The rationale for this focus is that, unlike hardware, manufacturing software is essentially error free (i.e., the production of the disks containing the program), but the quality defects (i.e., bugs) are produced during the concept and development process. Therefore, waiting to identify defects after creation of the product is generally difficult and costly. The CMM may be used as a guideline for prioritizing limited resources on the most important, foundational improvements. In the SW-CMM, Key Process Areas (KPAs) define "building blocks" based on industry best practices. The ultimate goal is to establish "continual improvement" of the software engineering process and the resulting products, kaizen (Statistical Process Control), which is common in nonsoftware engineering disciplines. The CMM is described more fully in Mark C. Paulk, The Capability Maturity Model: Guidelines for Improving the Software Process (The SEI Series) (Addison-Wesley Pub Co.) (1995).
The Capability Maturity Model IntegrationSM (CMMISM) was developed to integrate the SW-CMM and various other existing models into a common model. The developers of the CMMI are seeking to establish common terminology between the models, as well as identifying commonality and variability. The SEI is expected to release Version 1.1 of CMMI in the near future.
The SW-CMM model defines five capability levels and identifies Key Process Areas (KPAs). The CMMI model replaces the KPAs with Process Areas (PAs). The lower levels of the CMMI and the related PAs focus mainly on management processes and industry minimal standards. Higher CMMI levels and the related PAs generally focus more on organizational and technical processes. The higher levels and their PAs also strive for "industry-best" practice.
While the entire scope of the CMMI is vast and generally outside the range of this document, the various levels of the CMMI are now quickly described. At level 0 or "Incomplete", a project has not yet started. Upon initiation and existence of the project, the project is at level 1. At "Initial" or level 1, the product conditions are ad hoc, chaotic, and high-risk. At "Repeatable" or level 2, the project may repeatedly perform some functions with difficulty. Relevant PAs to level 2 are Requirements Management (RM); Project Planning (PP); Project Monitoring and Control (PMC or PC); Supplier Agreement Management (SAM or SM); Process and Product Quality Assurance (PPQA or QA); Configuration Management (CM); and Measurement and Analysis (MA).
At "Organizationally Defined" or level 3, the relevant PAs include Requirements Development (RD); Technical Solution (TS); Product Integration (PI); Validation (Va); Verification (Ve); Organization Process Focus (OPF or PF); Organizational Process Definition (OPD or PD); Organizational Training (OT); Integrated Project Management (IPM or IM); Risk Management (RSKM or Rk); Decision Analysis and Resolution (DAR or DA); Organizational Environment for Integration (OI); and Integrated Teaming (IT).
At "Quantitatively Managed" or level 4, the relevant PAs are Quantitative Process Management (QPM or QM) and Organizational Process Performance (OPP or OP). QPM relates to the informed and correct use of rigorous statistical techniques such as statistical process control (SPC), with the focus on removing specific or attributable causes of variance, and OPP relates to the use of statistical techniques to measure process efficiency. The fifth and highest level, "Optimizing", is basically equivalent to bottom-up process improvement or continuous improvement. In CMMI, the level 5 PAs are Organizational Innovation and Deployment (OID or ID) and Causal Analysis and Resolution (CAR or CA).
The Capability Maturity Model for Software (SW-CMM) was the first, but not the only, model for improvement of software development. Some other models developed by the SEI include: Integrated Product Development CMM (IPD-CMM), which was renamed and incorporated into CMMI Integrated Product and Process Development (IPPD); People CMM (P-CMM) for Training, Career Development, and Human Resource-related issues; Personal Software ProcessSM (PSPSM); Software Acquisition CMM® (SA-CMM); and Systems Engineering CMM® (SE-CMM), which is being incorporated into CMMI for Systems Engineering/Software Engineering. Similarly, FAA-iCMM (a model similar to CMMI and incorporating elements of SW-CMM, SE-CMM, and SA-CMM) was developed by the Federal Aviation Administration.
Achieving higher levels of CMM maturity is a desirable goal in itself because it generally implies that an organization is producing a superior product and services since the higher levels of the CMM generally require the existence of infrastructure and procedures leading to better tested and developed software and other products. As suggested above, organizations also have secondary financial incentives to achieve higher CMM levels, because customers, such as the United States Department of Defense, are increasingly requiring software suppliers to have a sufficiently high CMM level (e.g., at least level 2) before being awarded a contract.
A threshold problem for many organizations is that the requirements for the different maturity levels are relatively complex to understand and implement. It is, therefore, a goal of the present invention to provide a method allowing businesses to achieve higher CMM levels without having to understand the complicated requirements of each level.
Furthermore, the process of achieving higher CMM levels of increased maturity is typically a difficult, expensive, and time-intensive process. While some of the costs are unavoidable, many of the difficulties of achieving higher CMM levels occur because the requirements for the levels do not fit well within the general operations and structure of most organizations. Drastically changing an organization's structure and operations is generally a complex and difficult process. Therefore, another goal of the present invention is to provide a method that simplifies and potentially accelerates the process of modifying an organization's operations and structure to meet the requirements of the higher CMM levels.
Similarly, many organizations also have difficulty implementing changes to achieve higher CMM or CMMI levels because the organization use of these maturity models as merely checklists of criteria. The maturity models, while serving as a measure to assess organizations, offer little guidance to organizations on implementation of the specified criteria. The random implementation of the items on a maturity model checklist results in increased time and cost for maturation in comparison to carrying out systemic changes that may concurrently satisfy multiple checklist items and assist the organization in achieving several checklist items. Furthermore, a piecemeal implementation of the CMM worsens the above-described problems of complexity and cost. It is, therefore, another goal of the present invention to provide a method by which organizations may implement systemic changes to achieve higher levels of CMM maturity.
SUMMARY OF THE INVENTION
In response to these and other needs, the present invention provides a method and related system for assisting and expediting an organization's transformation toward higher levels of the Capability Maturity Model (CMM) or other derivative maturity models. In particular, the present invention provides a method for producing a more mature product. A preferred embodiment of the method comprises the managing of an organization developing the product, whereby the organizational management comprises managing personnel of the organization and implementing a product improvement process. The method may further comprise managing a project for developing the product and managing the delivery of the product. Furthermore, actions undertaken during the organizational management affects implementation of the project and delivery managements, and the actions undertaken during the project and delivery managements likewise affect implementation of the organizational management. In another embodiment, this method may be implemented using a combination of both electronic hardware and software.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the present invention and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
FIG. 1 is a flowchart depicting the steps in a method for producing more mature products in accordance with an embodiment of the present invention;
FIGS. 2A-2J are flowcharts depicting the steps of the process stage of organization management in accordance with embodiments of the method of FIG. 1;
FIGS. 3A-3D are flowcharts depicting the steps of the personnel stage of organization management in accordance with embodiments of the method of FIG. 1;
FIGS. 4A-4F are flowcharts depicting the steps of program management in accordance with embodiments of the method of FIG. 1;
FIGS. 5A-5O are flowcharts depicting the steps of project management in accordance with embodiments of the method of FIG. 1;
FIGS. 6A-6B are flowcharts depicting the steps of delivery management in accordance with embodiments of the method of FIG. 1;
FIGS. 7A-7E are flowcharts depicting the steps of analysis stage of the delivery management of FIG. 6A in accordance with embodiments of the method of FIG. 1;
FIGS. 8A-8J are flowcharts depicting the steps of design stage of the delivery management of FIG. 6A in accordance with embodiments of the method of FIG. 1;
FIGS. 9A-9M are flowcharts depicting the steps of build and test stage of the delivery management of FIG. 6A in accordance with embodiments of the method of FIG. 1;
FIGS. 10A-10F are flowcharts depicting the steps of deployment stage of the delivery management of FIG. 6A in accordance with embodiments of the method of FIG. 1; and
FIGS. 11A-B depicts systems for implementing the method of FIGS. 1-10F in accordance with various embodiments of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
As generally illustrated in FIG. 1, the present invention provides an Accelerated Process Improvement Framework (APIF) method 10 for easing and speeding an organization's transformation toward higher levels of the above-described CMM hierarchy. The APIF method 10 generally comprises the steps of getting started 20, organization management 100, program management 400, project management 500, and delivery management 600. As suggested in FIG. 1, the APIF method 10 performs as a cycle in which actions performed during the organization management 100 help control the current steps of program management 400, project management 500, and delivery management 600. Subsequently, the actions performed during program management 400, project management 500, and delivery management 600 adjust the step of organization management 100. Each of these steps of the APIF method 10 is described in greater detail below.
In these discussions, it should be appreciated that the various steps of the APIF method 10 preferably include the creation or updating of various documentation (or monuments) that detail and verify the execution of tasks performed by the organization. These documents may be used to demonstrate compliance with the higher levels of the CMM or CMMI. Some of these documents are listed directly with the associated steps, but a complete listing is beyond the scope of the present application. A short listing and summary of some of the various documents that may be created or updated during the steps of the APIF method 10 is attached hereto as Appendix A.
The APIF method 10 begins with getting started step 20. In step 20, the organization prepares to initiate the other steps in the APIF method 10. In particular, the organization may review the requirements of the various management steps 100, 400, 500, and 600. Similarly, the organization may review the CMM or CMMI and their general requirements in order to better understand the goals to be accomplished during the various steps of the APIF method 10.
Organization Management
As illustrated in FIG. 1, Organizational Management 100 is divided into two stages, process step 200 and personnel step 300. The Organization management step 100 generally concerns activities related to the structure and activities of an organization. The process stage 200 contains the methodologies, process flows, tools, and templates to create and maintain a Software Engineering Process Group (SEPG). It should be noted that in the CMMI, the SEPG is replaced by a Process Group to allow for the inclusion of systems engineering. Thus, this application uses the SEPG to refer to a group overseeing software and non-software processes. As suggested by its title, the personnel stage 300 contains the methodologies, process flows, tools and templates to perform organizational design and development, measurement performance, and conduct organizational training.
As depicted in FIG. 2A, the process stage 200 consists of the steps of planning and organizing a SEPG, step 201; and of managing and improving the organization's processes, step 202. Step 201 is further subdivided into planning SEPG project execution (step 210) and organizing SEPG project resources (step 220). Likewise, managing and improving the organization's processes in step 202 may be subdivided into controlling SEPG project work (step 230); rolling out and supporting SEPG projects (step 240), completing the SEPG project 290, and controlling process improvement (step 203). In turn, the step of controlling process improvement, step 203, consists of conducting a super SQA review, step 250; conducting assessments, step 260; conducting quarterly surveys, step 270; and conducting process improvements, step 280.
In the planning and organizing of the SEPG in step 201, the organization first performs the planning of the SEPG project execution, step 210. While planning SEPG project execution in step 210, the SEPG defines its process improvement plan and subordinate plans for the fiscal year. Since the SEPG is a continuously operating project, plans are reviewed and updated annually, at a minimum, usually with the beginning of a new fiscal year. Step 210 begins at the initiation of the project to define the pieces of an initial project plan and all subordinate plans that should be used to manage the execution of the project. Using this information, the organization seeks to develop a SEPG project plan, a SEPG work plan, a communication and sponsorship plan, a configuration management plan, a risk management plan, and a training needs matrix, as these objects are defined in the CMM. The organization further performs decision analysis and resolution during the planning of the SEPG project execution, step 210.
One possible process for planning the SEPG project execution, step 210, is generally depicted in FIG. 2B. In an initial aspect of the planning a SEPG project execution, step 210, the organization tailors the APIF method 10 as needed. Specifically in step 212, the organization determines whether to waive or skip steps in the APIF method 10 as required by organization or the particular project. For instance, the organization skip tasks that are inapplicable to a project and therefore unneeded to either achieving higher levels of maturity in the CMM or to develop more mature products.
Another step in the SEPG project execution, step 210, is to develop a project plan, step 214. The project plan describes the project approach for the project timetable, metrics, organization, supplier agreement management, communication and sponsorship strategy, training, quality initiatives, software system development process, configuration management, logistics, facilities, tools, and purchasing. It further describes the project approach for training, metrics tracking, and roles and responsibilities on the project. The organization may also use Decision Analysis and Resolution (DAR) to develop the Project Plan, as defined in the CMMI.
The organization may further develop subordinate plans, step 216. The development of the appropriate subordinate plans, step 216, satisfies the needs of the project, such as the creation of subordinate plans for subcontractor management, risk management, communication and sponsorship, and configuration management, all of which are described in greater detail below. In the development of subordinate plans, step 216, the organization may further create a work plan. For instance, the organization may create a "bottom-up" or task-level project work plan based upon estimates where critical paths and dependencies are defined and managed within a project work-planning tool, such as Microsoft Project and Project Workbench®.
Another aspect of the SEPG project execution process, step 210, is to develop project estimates, step 218. The organization may develop project estimates, step 218, using an estimating tool as a starting point for the estimates. For instance, estimates may be developed using the following steps: (1) tailor tasks and estimating model; (2) determine estimating factor values; (3) define work packages; (4) determine a timeline for the estimate; (5) reconcile a present estimate to an initial estimate; and (6) document assumptions used to form the estimates. The organization preferably further validates any estimates by verifying estimates against estimates or actual results from comparable projects. To form accurate estimates of available resources, the organization should further consider other resource-tapping activities such as community involvement, recruiting, mentoring, and training, when evaluating resources.
Returning to FIG. 2A, the organization then continues the process stage 200 and the planning and organizing the SEPG, step 201, by organizing the SEPG project resources, step 220. During step 220, the SEPG focuses on obtaining, assigning and training its human resources, and establishing the project's other physical resources including installation of tracking tools and document repositories. This task is performed iteratively as needed to organize, mobilize and manage SEPG resources throughout the execution of the project. The organization performs step 220 as needed to organize the project's human resources, to establish other resources, to make work assignments and to any training needed to enable resources. Turning to FIG. 2C, the first step in organizing the SEPG project resources in step 220 is to refine resource needs, step 221. In this step 221, the organization defines the team organization structure, schedules the work, and defines the human and physical resource needs of the project. These tasks are performed in view of each project's requirements. By refining resource needs in step 221, the organization helps to ensure that project staffing and facilities needs are met on a timely basis without affecting the completion date and the quality of the work. The organization may complete this refining of resource needs in step 221 by: (1) determining project organization structure; (2) balancing a development schedule using human resource guidelines; and (3) refining physical resource needs that were outlined in the logistics, facilities, and tools section of the project plan formed in step 214.
Returning to FIG. 2C, the organization continues the organization of the SEPG process resources in step 220 by establishing project standards and goals, step 222. The establishment of project standards and goals in step 222 is accomplished by developing, modifying, and adopting administrative and project-specific project standards and procedures. Examples of administrative procedures are employee availability checklists, time accounting procedures, status reporting, vacation scheduling, etc. Project standards and procedures include design and development standards, and the use of project specific tools.
The organization continues the organizing the SEPG process resources in step 220 through organizing a project team in step 223, also illustrated in FIG. 2C. The selection of project team members is based on project requirements. Other elements in the organization of a project team are the finalization of the project team's organization structure and documentation in an organization chart in the project plan. The organization should further update the training needs matrix to document: (1) the training required of each project team member and (2) the proposed means for fulfilling the training. The training needs matrix is further used to track project team member training. In another implementation, organizing a project team in step 223 may further require the organization to determine, as a team, the project's mission, vision, and charter, and then to document these determinations in the project plan and orientation binder that are created as required to achieve higher maturity levels in the CMM.
Returning to FIG. 2C, another task in the organization of SEPG project resources is to establish other resources indirectly needed for the SEPG project, step 224. Specifically, the organization performs this task by organizing the physical resources, such as hardware or software, provided by program management and developing the orientation and/or training needed to support the activities of the project team. The establishment of other resources in step 224 helps create a work environment that promotes communication, collaboration, and group cohesion.
Also, as illustrated in FIG. 2C, the organization of SEPG project resources in process 220 further includes enabling resources, step 225. An organization performs this step 225 to orient and train team members, to coach and evaluate team members, and to manage the physical resources assigned to the project. The enabling of resources in step 225 aids the project manager in motivating and challenging team members, while helping to ensure that various project personnel believe their work to be important. Specifically, the organization should communicate the project's mission, vision, and charter to new team members. Large projects may also elect to formalize these items at the program level, and projects may conduct one or more meetings that include all team workers.
Referring to FIG. 2A, another element in the process stage 200 is to manage and improve the organization's processes, step 202. The first step in the management and improvement of process is the control of SEPG project work in step 230. During the control of SEPG project work in the step 230, SEPG project management monitors the execution of the project against project plan and makes adjustments as necessary. Project Status Reports are prepared for the Project Sponsor. Potential and actual problems are identified through the measuring and monitoring of progress and performance against the SEPG Project Plan. Depending on the type of problem identified, an Issue, Risk, System Investigation Request (SIR) or Change Request (CR) is logged. The SIRs and the CRs are described in greater detail below. SEPG Project management is expected to take appropriate corrective actions to resolve problems that are discovered. The controlling of SEPG project work in the step 230 is also illustrated in FIG. 2D and is now described in greater detail. The controlling of SEPG project work in the step 230 includes releasing work packages, step 231. Work packages are generally described in the CMM criteria and generally relate to the tasks and functions given to the various workers in a project. To release work packages, the organization should (1) assemble and release work packages according to the work plan and (2) communicate the requirements of the work packages to the assigned team members. The project team then performs the work needed to develop the required deliverable good. During step 231, the organization preferably acts to ensure that each team member understands assigned responsibilities, including target dates and budgets. Furthermore, the organization should implement the project so that each team member (1) is able to provide input regarding various responsibilities and (2) accepts these responsibilities.
As depicted in FIG. 2D, a following task in the control of SEPG project work, step 230, is measuring performance, step 232. The task of measuring performance in step 232 generally includes capturing actual results and calculation of metrics in order to manage performance. The capture metrics are outlined in the SEPG project plan formed in step 214 and include cost, effort, scope, quality, and schedule. The organization should further track project infrastructure and technical requirements, such as hardware, software, and performance requirements that were outlined during planning in step 210. The organization should also analyze any deviations from the project plan and identify, in a timely manner, the causes for the deviations.
Concurrent with measuring of performance in the step 232 is managing performance, step 233, as illustrated in FIG. 2D. Managing performance in step 233 generally requires the organization to manage project performance against the previously defined project and work plans. To manage project performance in view of the project and work plans, the organization proactively assesses performance, status, quality and risk. When the actual results from the development of the project do not match the plans, the organization should further determine alternative goals or actions. The implementing organization may further obtain approval for corrective actions, and then take corrective actions. The corrective actions may include, but are not limited to, work process changes, team building, training, increased or decreased supervision, work assignment changes, reassignment of team members, initiation of risk responses, the change of requests to be pursued with program management as part of the configuration management process, project replanning changes that specify needed modifications to the project plan, project plan revisions (work package changes, etc.) or escalation to program management. The organization should also reevaluate project decisions throughout the project life cycle, when various project triggers or other issues, risks, etc. arise. The organization may also manage team member performance according to organizational and industry standards and tools.
Continuing with FIG. 2D, following the measuring of performance in step 232 and the managing of performance in step 233, the organization communicates project status, step 234. During step 234, the organization generally develops and communicates project status to all project stakeholders according to the project plan. The project stakeholders include project and senior management and other affected groups. The organization may further conduct status and review meetings involving affected groups as appropriate. During the communication of project status in step 234, the organization should document meeting minutes as required for the CMM.
Continuing with FIG. 2D, following the communication of project status in step 234, the organization obtains acceptance of interim deliverable goods, step 235. Obtaining acceptance of interim deliverable goods in step 235 generally requires that the organization obtain acceptance of interim deliverables by all designated stakeholders, as appropriate, at key interim points throughout the project life cycle. Any acceptance of final deliverables takes place in connection with completing the program.
Concurrent with the above-described steps 231-235, another task in the control of SEPG project work in step 230 is to execute project management processes, step 236. The organization should execute step 236 in conjunction with other project control activities, such as measurement activities and status reporting. Also, the project management processes may occur continuously, periodically, or may be event driven. One project management process in step 236 is risk management, which addresses the identification, analysis, and avoidance/mitigation aspects of risk management on a project. During risk management, the organization may perform risk identification, during which the organization identifies, names, and describes the various risks. The organization should further generate a list of specific incremental risks in the project's risk tracking tool. For instance, the organization may document known triggers for a risk, the potential damage for each risk item, and references for the sources of risk. Another risk management task in step 236 is risk analysis, in which the organization analyzes the identified risks. In the risk analysis, the organization should classify the risks and include any additional information necessary to support the analysis. The organization may then select a rank/prioritized list of top risks. For instance, the organization may create a list of the top five risks to a project. Another risk management task is risk avoidance and mitigation. Risk avoidance activities address the sources of a risk, thereby reducing the probability that it would become a problem. For a top ranked or prioritized risk, the organization should identify how the risk can be avoided. Risk mitigation measures attack the consequences of a risk, reducing the risk's potential impact on the project. For the top ranked/prioritized risks, the organization may identify actions to reduce the impact of the risk if it occurs. The organization may also use Decision Analysis and Resolution (DAR) to assess the risks, where DAR is defined above. Many automated risk management applications are commonly available, and an organization may choose from these various risk management applications as needed to best fulfill the needs of the organization.
Another task in the execution of project management in step 236 is scope management, which addresses the acceptance of requirements to define scope and the requirements to change control process. For instance, one scope management task is requirements development. During the task of requirements development, the organization identifies and documents requirements needed to promote and ensure bidirectional traceability, so that the organization may trace requirements between the development and the testing of the requirements. As with all work products, requirements are preferably placed under configuration management (CM), as defined in the CMMI. Another scope management task is requirements acceptance, during which the organization documents and reviews requirements with all affected groups and obtains acceptance from the affected stakeholders. The organization should further establish baseline standards for satisfying the requirements. Another scope management task for the organization is making any required changes to the requirements and their baselines. The organization generally follows the project's change control process for any changes to baselined requirements. Namely, the organization submits a change request; reviews a change request; performs impact analysis, including cost, schedule and efforts impacts; determines disposition; implements change, including associated impact to other work products and activities; and notifies requester and affected groups. Again, the organization may determine if it is necessary to use DAR to assess changes in scope.
Another project management process in step 236 in the execution of the project management processes is configuration management. This task addresses the set of activities performed to establish and maintain the integrity of the project work products throughout the project's life cycle. One set of configuration management tasks relates to configuration identification activities. During the configuration identification activities, the organization identifies, names, and describes each of the configuration items that should be placed under configuration management. In particular, all work products should be placed under some type of configuration management. During the configuration identification activities, the organization generally uses the CM plan to define a baseline for the configuration items and to indicate the level of configuration management for each item.
Another configuration management process in step 236 is the configuration of control activities. Generally, the organization requests, evaluates, approves or disapproves, and implements changes to the baselined configuration items defined during the configuration identification activities. All of the configuration items should be archived and placed under the project's documented change control process.
Configuration of status accounting activities is another configuration management process in step 236. During this process, the organization records and reports the status of the project's configuration items. Similarly, the organization should further perform configuration audits. Specifically, the organization may, using the CM plan, determine the extent to which actual configuration items reflect the planned configuration items. The purpose of this task is to ensure that the entire configuration is correct and complete. The organization should further document results as required in the CMMI.
Another project management process of the execution of the project management process in step 236 is issue management and escalation. This task involves the identification and documentation of issues using an issue tracking tool, as well as a review of the issue and an analysis of any impact on deliverables, scope, contingency, resources, costs, schedule, and/or quality. Specifically, the organization should identify a resolution approval party, an issue's owner, and determine expected time frames. The organization may also determine if it is necessary to use DAR to assess the issue, as described above. The organization may further research and identify issue solution alternatives. Subsequently, the organization may refer the issue to program/senior management when: (1) the project cannot resolve the issue internally, (2) when the issue impedes the progress of a project, and when the issue is beyond the authority of the project manager to resolve. These are generally issues that: (1) cannot be resolved within a project team, (2) are resolvable with action items, (3) can be escalated to the next level, (4) Are reactively discovered during the course of development, (5) affect program/project scope, costs, schedule, projected business performance, or high level design, (6) affect multiple projects or releases, and/or (7) involve groups outside the project that affect project delivery. The organization should accordingly monitor issues status and approve or reject resolutions. At the same time, the organization should communicate resolutions to stakeholders and affected parties and take corrective action as described above in the context related to management of performance tasks.
Returning to FIG. 2D, another step during process of controlling the SEPG project work in step 230 is updating the project plan and subordinate plans, step 237. In particular, throughout the life cycle of the project, the project plan and subordinate plans (Risk Management, Configuration Management, Work Plan, Subcontractor Management Plan, Community and Sponsorship Plan) should be updated as appropriate by the organization to reflect any changes on the project that would effect the content of the documentation.
Referring again back to FIG. 2A, another task of the management and improve process 202 in project stage 200 is the rollout and support of SEPG projects, step 240. During the rollout and support of SEPG projects in step 240, new projects to be supported by the SEPG are identified and SEPG processes and tools are delivered to them. SEPG Liaisons may conduct process reviews of the SEPG-supported projects. Other project-created items referenced during the rollout and support task include the Service Level Agreement, Tailoring & Waiver Request, Metrics Workbook and Metrics Plan. The organization performs this task of step 240 to rollout SEPG processes and tools throughout the organization. The process of rollout and support of SEPG projects in step 240 is illustrated in greater detail in FIG. 2E. Specifically, the rollout and support of SEPG projects in step 240 comprises the steps of identifying new projects, step 241; assigning a SEPG liaison, step 242; conducting a project kickoff, step 243; approving or disapproving waivers, step 244; collecting project metrics, step 245; conducting best practices reviews, step 246; reporting best practices status, step 247; and conducting project close out, step 248.
Referring to FIG. 2E, during the identification of new projects in step 241, the organization should identify new projects that are in the planning stages. Then, in step 242, a SEPG rollout team leader assigns a SEPG liaison by evaluating the current workload among the available SEPG liaisons and select the most appropriate SEPG liaison for the current project. The rollout team leader preferably discusses the assignment with the SEPG liaison and sends a memo to the SEPG liaison informing him or her of the assignment, with a copy to the project manager and the SEPG program leader.
Continuing with FIG. 2E, the next step of conducting a project kickoff in step 243 is conducting a kickoff meeting, preferably within 2 weeks of notification of support to be provided by SEPG. The SEPG liaison should schedule a time to meet with the project management team to discuss the kickoff. The SEPG liaison should also ask a project manager for project documentation such as the proposal, the statement of work, estimating tool estimates, and the workplan, if available. This discussion is to establish the project organization, identify projects to support, and to ascertain the scope of the SEPG effort.
Referring again to FIG. 2E, the next task in the rollout and support of SEPG projects in step 240 is to approve or disapprove waivers, step 244. In particular, the SEPG liaison or SEPG manager should work with the project or proactively identify any area where a project may need a waiver. A waiver request template should be available through the SEPG or through the SEPG liaison. A senior management official should sign the waiver request form, thereby acknowledging its risk and impact to the project. Also, the SEPG liaison should review the waiver request form for completeness and determine the disposition of the waiver request. The SEPG liaison then forwards the waiver request form to the SEPG project manager with a recommendation for disposition. Subsequently, the SEPG liaison informs the project manager of the disposition of the waiver request.
Continuing with FIG. 2E, the next task is to collect project metrics, step 245. Step 245 may include one or more undertaking that help to ensure that the project metrics are collected in an organized and efficient manner. These undertakings may include collecting monthly project metrics, collecting best practice reviews, collecting quality review results, collecting stakeholder scorecard data, and collecting people satisfaction survey results.
Continuing with FIG. 2E, another step is to conduct best practices reviews, step 246. With the conducting of best practice reviews, the SEPG liaisons should conduct monthly best practice reviews with project management in order to track and monitor compliance with CMMI requirements. The review criteria are based on the CMMI process areas and can be found within a best practices matrix. The reviews identify nonconformance items and areas for improvement. The SEPG liaisons should review the information gathered from the team and enter comments into the notes/comments section of the first best practice review matrix. During the meeting, the SEPG liaisons and project managers should review the matrix and determine which items have been met and those that would require additional information or documentation (artifacts). Based on the review, the SEPG liaisons should complete the best practice matrix with documentation on additional information required from the project. Once the project reaches substantially complete compliance with the identified best practices, the best practice review focus becomes one of continued compliance and includes project team leaders and project team members. The SEPG liaisons should document and spot-check areas for compliance based on past reviews. These interviews may be conducted with or without project management in step 500, described below.
Continuing with FIG. 2E, the next step is to report best practice status, step 247. There are two ways to report on the best practice status. The SEPG liaison may document Non-Conformance Items (NCI) and issues in a best practice notes/comments section and submit this to project management after the conclusion of the Best Practice review, preferably within two days. The project manager generally has a short time, such as one week, to provide a response for each NCI, including a target completion date for correcting the NCI. Alternatively, the SEPG liaison may complete a best practice "Dashboard" report with updated scores, open items, and risks. The report should be sent to project management and SEPG rollout and program leaders.
Continuing with FIG. 2E, the next step is to conduct project close out, step 248. The organization may implement phase close out. In phase close out, the SEPG liaison may approve or disapprove the waivers, collect project metrics, conduct best practice reviews, and report on best practice status, etc. This process of rolling out and support of SEPG projects, along with the control of process improvements (step 203) described below, may then be repeated until the project is closed out. Next, in project closed out, the SEPG liaison works with the project manager and the management team to evaluate the overall impact and value of the SEPG program on the project. This evaluation should be done through the completion of a project close-out memo, verification of updates to the internal corporate resource by the project knowledge champion, verification of submission of the project's actual and estimated values to owners of the estimating tool via the profiling tool, collection of final project metrics, and collection of best practice and SEPG suggestions and comments.
Following the conducting of the close out in step 248, the organization may complete the SEPG projects in step 290, as depicted in FIG. 2J. To complete the SEPG projects in step 290, the SEPG Liaison reviews the Closing Memo and SQA Debrief created by projects that are complete and no longer require SEPG support. Specifically, the organization verify the completion of the supported projects, review the documentation produced in steps 230 and 240, and generate a list of best practices as desirable to produce a more mature product, respectively steps 292-296.
Referring back to FIG. 2A, another task of the management and improvement process, step 202, in the project stage 200 is to control process improvements, step 203. The control of process improvements in step 203 brings together the tasks associated with controlling and conducting process improvement. As highlighted in the methodology, the Control Process Improvement, Rollout & Support SEPG Projects, and Complete SEPG Projects tasks are iterative in nature. Once processes and tools are improved, the SEPG is responsible for delivering these new processes and tools to its projects. Improving the control process in step 203 is comprised of the following steps: conducting a super software quality assurance (SQA) review (step 250), conducting mini-assessments and appraisals (step 260), conducting intermittent surveys (step 270) and conducting process improvements (step 280).
One aspect of improving the control process in step 203 is to conduct a super SQA review, step 250. In step 250, the SEPG plans and organizes a Super Software Quality Assurance (SQA) review of its documents. A report is prepared based on the findings and reviewed with the SEPG Team. The results of this review help the SEPG to improve internal processes. The organization performs this step 250 to conduct software process and work product quality assurance reviews to verify project adherence to standards and procedures, such as any identified best practices. The quality program section of the Project Plan is described above in greater detail within the text accompanying FIG. 2B. Turning to FIG. 2F, the process of conducting a super SQA review in step 250 is described in greater detail. The first task of conducting the super SQA review in step 250 is to complete a SEPG project plan. In step 251, the process improvement (PI) team leader typically (1) identifies documents and processes to be reviewed; (2) ensures that documents in the Project Plan and Work Plan are consistent; (3) identifies Super SQA reviewers, reviewees, and review criteria, (4) identifies roles and responsibilities; (5) identifies SQA metrics; (6) references the SQA plan in the quality section of the project plan; and (7) creates the SQA Plan.
In the next step of conducting the super SQA review of step 250, the organization prepares for the super SQA review, step 252, as depicted in FIG. 2F. In one implementation of step 252, the PI team leader sets the super SQA review expectations. The PI team representative also submits reminder notifications to the super SQA reviewer based on any scheduled super SQA reviews, provides the Super SQA Reviewer with the Super SQA Reviewer training presentation and the SEPG Program SQA Plan, and provides the super SQA reviewer with standards and supporting documents to be reviewed. The PI team representative may further provide the super SQA reviewer with document owner contact and availability information, as defined in the CMMI. The super SQA reviewer then typically gathers and reviews criteria/standards and supporting documents from the PI team representative, reviews any super SQA reviewer training presentation, and schedules meetings with document owners.
Referring to FIG. 2F, the next step of conducting the super SQA review of step 250 is to conduct the super SQA review, step 253. The super SQA reviewer should review processes and documents against review criteria/standards, conduct interviews with document owners, identify nonconformance items, and follow up with the document owners as needed for meeting with the requirements of the desired CMM level. The document owner participates in the interview with the super SQA reviewer and remains available to answer questions. The PI Team Leader should also remain available to answer questions.
In the next step 254, the organization, through the SQA reviewer, prepares an SQA report to document a detailed summary of findings and recommendations, as illustrated in FIG. 2F. Specifically, the SQA Report should include an item number, the date reported, and an accurate description of nonconformance items. The SQA reviewer may further distribute the SQA Report to the PI Team Leader, and schedule discussion of nonconformance items with the SEPG Program Lead. The PI team representative also prepares and documents responses in the SQA Report, including an indication of whether the PI team representative agrees or disagrees with the reason statement, or otherwise determines the findings to be not applicable to the particular organization or project.
Subsequently, the organization should discuss nonconformance items, step 255 in FIG. 2F. In step 255, the super SQA reviewer typically schedules and conducts a discussion of nonconformance items with the PI team leader, as well as verifying an adequate resolution of nonconformance items. Likewise, the PI team leader should discuss nonconformance items with the Super SQA Reviewer and refer disagreement items for facilitation to the SEPG Program Leader. A PI team representative should update the SQA report with proposed resolution(s) and projected completion date(s) for proposed changes/actions, and update and return the report, as well as all necessary documents, to the SQA reviewer for verification. The PI team representative further creates the System Investigation Requests (SIRs) and/or Change Requests (CRs) as necessary for the CMMI. The SIRs correspond to reports created to document errors in the product, and CRs conversely correspond to enhancements in the product that are beyond the scope of the original product. A SEPG liaison may then review and resolve escalated nonconformance items.
Returning to FIG. 2F, the next step of conducting the super SQA review of step 250 is to track the super SQA metrics, step 256, by having the super SQA reviewer send the final report to the PI team leader. The PI team leader then forwards the final report and metrics to SEPG program leader, including metrics such as SQA schedule variance, and the number of nonconformance items. The PI team leader further tracks and reports on all open nonconformance items, while keeping project copies of documentation/reports.
Returning to FIG. 2A, the next step in improving the control process in the step 203 is to conduct assessments, step 260. In step 260, the SEPG coordinates activities to determine the state of an organizations processes and practices. This assessment can take many forms and can range from informal process assessments, mini-appraisals or full-scale evaluations. In any of these situations the organization can utilize outside contractors to conduct the review. Step 260 generally includes three stages: preparation, an on-site period, and wrap-up. After a series of interviews and review of documentation, the assessment results are then presented back to the organization. The organization should follow the same basic process when conducting an appraisal. In both cases, the organization may utilize an external group to execute the mini-appraisal and/or assessment. The process of conducting the mini-assessments and appraisals in step 260 is more fully illustrated in FIG. 2G.
As depicted in FIG. 2G, the first task in the assessments in step 260 is to select projects, step 261. In step 261, the organization carefully selects projects used for the assessment in order to paint an accurate picture of the organization's processes. Generally, from one to four projects should be selected for assessment. Projects may be selected using the following criteria: (1) the project should be representative of the work (present and future) of the organization, and aligned with the business objectives of the organization; (2) the project should have at least six people working on it; (3) the project should have a duration of greater than three months; and (4) the project should not have a critical activity or milestone during the on-site period. Additionally, at least one of the projects should be in the build stage. Personnel from the selected projects should also be available for interviews and presentations.
Returning to FIG. 2G, the next task in the mini-assessment and appraisal is to assess the development of an onsite schedule, step 262. The core of the assessment during step 260 is made up of the onsite period, which usually lasts from five to ten days. The onsite period consists of three basic activities: (1) gathering information through interview sessions with project leaders, team leaders, and functional area representatives; (2) mapping information to processes areas within the scope of the assessment through consolidation sessions; and (3) reporting findings and observations back to the organization through preliminary and final findings presentations. An executive session and a debriefing session is conducted to wrap up the on-site period. There is no limit to the number of hours spent on a particular activity; however, the assessment team is bound to the tasks that need to be completed before the next day. Training the assessment team is the other activity that can be considered part of the onsite period, as required, and can be scheduled just before the assessment activities begin.
As depicted in FIG. 2G, the next step in step 260 is to prepare assessment logistics, step 263. During step 263, a local assessment coordinator works with the assessment team leader to identify and prepare the logistics for conducting the on-site period. Logistical preparations include reservation of rooms for the on-site period (presentation, interview, and assessment team rooms); computer and presentation equipment (projectors, LAN connections, access to a phone, printer, copier, and general supplies); arranging for food and beverages, as well as accommodations for the assessment team, and confirming building/office access for the assessment team during the on-site period.
The next step in step 260 is to select assessment participants, step 264, as depicted in FIG. 2G. In the selection of assessment participants in step 264, a good cross section of the organization must be considered when selecting assessment participants. This is done through interviewing individuals from each selected project, including the project leader, project team members, as well as personnel from supporting groups, such as quality assurance, configuration management, and/or the database group. Individuals who have been involved in developing or maintaining software in the organization also should be included in the list of interviewees. Participants selected for the assessment should come from different parts of the project life cycle, have at least six months of experience with the organization (and at least three months with the project), and be able to articulate their observations and opinions about the organization and its projects. Selected participants preferably can dedicate from six to eight hours to the assessment activities during the on-site period. For the assessment to take place, the assessment sponsor must be present for the initial and final presentations.
Returning to FIG. 2G, the next step in the mini-assessment and appraisal is to develop organizational awareness of CMMI, step 265. The organization performs this task to train assessment participants on what the assessment will involve, how the assessment will be conducted, and what the organization expects of assessment participants. Awareness activities may include training sessions and distribution of awareness materials to everybody in the organization. The assessment sponsor, or the organization's management (if different from the sponsor), must demonstrate their total support for the initiative.
As depicted in FIG. 2G, the next step in the mini-assessment and appraisal is to collect process information, step 266. Step 266 is performed in preparation for the assessment of the collection of the documentation used in the current management and technical processes. Selected members of the organization fill out a maturity questionnaire to provide a baseline for scoping the assessment. The appropriate process documentation from both the organization and the projects being assessed should be collected to be reviewed by the team for the purpose of developing the assessment findings and observations. A documentation index should be created and, if required, the collected documents should be mapped to the CMMI process areas.
Returning to FIG. 2G, the next step in step 260 is to conduct the assessment, step 267. In step 267, the assessment team visits the organization with the objective of mapping the organization's management and development processes against the CMMI. In particular, the assessment team should be trained. The assessment team should further conduct an opening meeting and interview project leaders, team leaders, and functional area representatives. The assessment team should further review collected documentation and consolidate information gathered and map it to process areas in the CMMI. Subsequently, the assessment team should conduct follow-up interviews, as required, and prepare and present preliminary findings to management and staff. Likewise, the assessment team should prepare and present final findings to the organization, incorporating feedback received from the preliminary findings presentation. The assessment team then conducts any executive and debrief sessions and prepares a final report. At the conclusion of the assessment, the assessment team files an assessment report with the Software Engineering Institute (SEI), including with the assessment the final presentation and the summary report.
Returning to FIG. 2A, the next step in improving the control process in step 203 is to conduct a quarterly survey, step 270. The organization performs step 270 to receive feedback from projects regarding the SEPG processes and tools. During step 270, the SEPG designs and delivers a quarterly Process Improvement Survey to the projects it supports. The results of this survey are an input into the SEPG team's Process Improvement efforts. While named a quarterly survey, it should be appreciated that the survey may occur at other intervals and time periods. Results of this survey should be used to improve SEPG processes and tools. The process of conducting the quarterly survey in step 270 is depicted in FIG. 2H. The first task is to develop a survey process, in step 271, for administering the process improvement survey. This survey may be administered by the SEPG. The responsibilities for this task should be assigned to a sub-team. In developing the survey in step 271, the organization should consider the effect of the survey transmission medium and the methods through which the survey results will be analyzed. The organization should next develop the survey questions, step 272. The organization should select question on which the SEPG would like to receive feedback. Preferably, when developing survey questions, the organization should choose nonleading questions. The organization should also preferably use a response scale that can be easily quantified, such as the Lickert scale. The organization should next, in step 273, administer the survey using the medium chosen in step 271. At this point, in step 274, the organization may evaluate and analyze the survey results received from respondents using the process developed in step 271. The organization may then use the survey results to improve the SEPG processes and tools, step 275. During step 275, the organization may also publicize the results of the survey.
Returning to FIG. 2A, the next step in improving the control process in step 203 is to conduct process improvements, step 280. The organization performs step 280 to manage process improvement activities. During step 280, the SEPG takes the feedback it received from the SQA review, assessments, quarterly surveys, and feedback from other sources, and begins translating this feedback into improvements in SEPG processes and tools. Results from step 280 will be used to maintain, update, and develop SEPG processes, tools, and assets. Step 280 is illustrated in greater detail in FIG. 2I.
As depicted in FIG. 2I, the first step in conducting process improvements is to maintain and improve processes and tools, step 281. In step 281, anyone in the organization and its external reviewers may identify a process improvement opportunity (with a process, template, training, standard, tools, or the document repository itself). This could be in the form of an error (through a SIR), an improvement, an enhancement request (through a CR), or any other process improvement concern. The process improvement team leader should examine the process improvement opportunity, and a decision may be made on implementing the process improvement. If it is determined that the changes will be incorporated into the appropriate process asset (process, template, standard, training, etc.) in accordance with SEPG standards, then a SIR or CR may be documented to capture the change.
Returning to FIG. 2I, the next step in conducting process improvements, step 280, is to define and update processes and tools, step 282. In step 282, anyone in the organization may identify a new process or tool to be defined, documented, and/or built. The first type of process to be created is an internal SEPG process that uses a new process template to document process flows and descriptions. The second type of process to be created includes processes and tools that are part of the SEPG methodology. Process definition is submitted to a SEPG team leader for review and approval. If a process is approved, it will be scheduled for release to the organization and/or SEPG team, depending on the type of process submitted.
As depicted in FIG. 2I, the next step in conducting process improvements, step 280, is to pilot processes and tools, step 283. Once the process or tool to be piloted has been completed and approved, it is time to determine the pilot group, time frame, scope and functionality, roles and responsibilities, and entry and exit criteria, as part of step 283. The SEPG program manager may then work with a process asset owner to communicate the pilot's scope and expectations with the pilot group. The pilot group will be trained on the use and implementation of the process asset. The pilot is conducted with the process asset owner providing support to the pilot group in terms of providing clarification, additional training, or technical support, as necessary. At the end of the pilot period, the process asset owner debriefs with the pilot group or at least with a representative of the group to evaluate the pilot. Strengths and weaknesses of the process are identified, documented, and addressed.
Returning to FIG. 2I, the next step in conducting process improvements, step 280, is to roll out processes and tools, step 284. In step 284, once feedback from the pilot group is incorporated into the process asset, it will be rolled out to the organization and/or SEPG team, as necessary. In step 284, the SEPG liaisons have the primary responsibility of communicating the new processes and tools to the organization's projects.
Returning again to FIG. 2I, the last step in conducting process improvements, step 280, is to assess and evaluate processes and tools, step 285. During step 285, the organization determines how processes and tools will be evaluated. The organization may further conduct intermittent or quarterly process improvement surveys.
Personnel Stage
Returning to FIG. 1, a second process within the organization management step 100 relates to personnel management, step 300. The actions of step personnel management in step 300 generally relate to acquiring, organizing, and training the organization's personnel as needed to encourage the development of more mature products and achieve higher levels of CMM maturity. Organizational Training of step 300 is generally necessary to enable personnel to develop skills to meet specific roles and responsibilities during solutions delivery in step 600 described below. The process of personnel management is generally depicted in FIG. 3A and comprises the actions of designing a performance measurement infrastructure, step 310; executing organization design and development, step 320; and designing and deploying training, step 330; and is now briefly described.
The designing of a performance measurement infrastructure in step 310 generally relates to planing activities related to performance measurement to provide the organization with a means for judging the effectiveness of the organization. The designing a performance measurement infrastructure in step 310 is summarized in FIG. 3B. The first step in step 310 is to validate and reach agreement on organization strategy, step 312. Step 312 generally involves the organization's key stakeholders in the development and/or validation of the organization's strategy, specifically the organization's mission, vision, and overall objectives. Because performance measurement cascades down from the organization strategy, the organization's strategy should be understood and agreed upon by those accountable for implementing it.
Returning to FIG. 3B, the next step in designing a performance measurement infrastructure in step 310 is to produce a performance measurement scorecard, step 314. In step 314, the organization uses a balanced scorecard to measure performance. The balanced scorecard is a measurement tool that translates strategic objectives into a coherent set of performance measures. The scorecard is "balanced" because it measures both leading and lagging indicators. These indicators are expressed in financial and nonfinancial terms.
Subsequently, in step 316, the organization implements the scorecard, as depicted in FIG. 3B. Implementing the scorecard generally requires that the specific information for performance goals, metrics, and targets be collected from the front lines. Furthermore, the organization should compile at the strategic level each performance perspective, objective, metric, and target. Also, the organization should create and communicate top down, bottom up, and interactive performance measures. Subsequently, the organization should solicit feedback to test the effectiveness of metrics and how the performance measures fit in with the organization strategy.
Turning to FIG. 3C, the next step in the personnel stage 300 is to execute the organization design and development, step 320. The organization performs step 320 to plan activities related to organization design and development. Step 320 involves coordinating the tasks associated with defining a strategy for the organization, assessing the organization against this strategy, and deigning and implementing a new organization. Note that step 320 assumes that the organization has a Human Resource Organization with the skills to design and implement new elements of the organization. The organization should to have experience in organization design and development. The substeps of the organization of design and development in step 320 are illustrated in FIG. 3C.
The first task in step 320, as illustrated in FIG. 3C, is to identify an organization strategy, step 321. In step 321, business outcomes, core competencies and guiding principles are defined. These definitions will position the organization relative to business goals and objectives, vision and mission, management philosophy, customer values, critical behaviors and competitive environment. Specifically, the organization should identify an organization strategy before detailed organization design. The organization should be designed to reflect not only where the company is relative to strategy, philosophy, and the value proposition of its customers, but also where it needs to achieve a competitive advantage in the future. The organization strategy sets the direction by defining business outcomes, core competencies, and guiding principles that will be used to anchor the organization design and development process.
As depicted in FIG. 3C, the next step in the execution of the organization design and development in step 320 is to conduct an organization assessment, step 322. It should be noted that the assessment differs from assessment used with SEPG. The organization assessment helps to identify the supports and barriers to transformation and build a case for implementation. An organization assessment in step 322 consists of assessing an organization's current situation, its future aspirations, and the gap between them; then identifying the initiatives required to fill these gaps. In step 322, enablers and barriers to organizational transformation are identified and a case for implementation is built. This is accomplished through an assessment of the current organizational environment and future organizational aspirations, identifying the gaps between these two, and identifying a course of action to close those gaps.
Referring to FIG. 3C, the next task in step 320 is to design an organization infrastructure, step 323, to create structures established to form individuals into the desired performing organization. The organization infrastructure's goal is to allow workers to effectively accomplish their tasks within the business process so that an overall goal is met. In step 323, the organization will design a competency model and design roles, jobs, teams and organizational structures. The competency model definition will document the knowledge, skills and other attributes/abilities associated with high performance on a job. The roles, jobs, teams and organizational structures will document the responsibilities associated with: the individual (roles), groups of related roles (jobs), groups of jobs (teams) and the span of control, reporting relationships and functional relationships of all of these components. Step 323 has two subtasks—to design a competency model, step 324, and to design roles, jobs, teams and an organization structure, step 325. Steps 324-325 may be conducted iteratively and/or concurrently. In designing a competency model in step 324, the organization should group together related competencies to form a competency model. A competency is a cluster of related knowledge, skills, and other attributes/abilities associated with high performance on a job; and a competency model is a group of related competencies required to perform a career field such as team leader or technical coach. Similarly, during the process of designing an organization structure in step 325, the organization defines the roles played by individuals, the jobs they hold, the teams in which they work, and the relationship between teams. The organization should logically define roles for individuals on the basis of their competencies, as decide in step 324.
Returning to FIG. 3C, the next task in step 320 is to verify and validate an organization structure, step 326. In step 326, all components of the newly defined organizational infrastructure and reviewed to verify and validate that they meet the needs and goals of the organization. Specifically, the organization should verify and validate that any new organization design meets the needs of the business and is internally consistent. The organization should further confirm the new organization design with any subject matter experts and initiative sponsors. Continuing with step 326, the organization should organize review sessions to validate how well the components of the new organization design (roles, jobs, teams, organization infrastructure, performance management infrastructure) fit together to support new initiatives.
The next task in step 320, as illustrated in FIG. 3C, is to design a performance management infrastructure, step 327. In step 327, the organization's performance measurement scorecard is developed based on the organization's strategic objectives. This scorecard is then used to measure the organization's performance. Note that this task assumes that the organization has a Human Resource Organization with the skills to design and implement a performance measurement scorecard, and that the organization has experience in organizational performance management. Thus, in step 327, the organization defines a means for assessing, rewarding, and developing the individuals in an organization. The performance management infrastructure has four components: (1) designing the performance management approach; (2) designing the performance appraisal instruments; (3) designing career progression; and (4) designing the compensation and reward structure. Overall, the organization should establish a system to reward individuals for desired contributions.
The final task in step 320 is to determine an organization infrastructure mobilization approach, step 328, as illustrated in FIG. 3C. In step 328, the organization determines and mobilizes the resources required to staff the new organization infrastructure established in step 323. The organization may determine profiles for the ideal candidates, determine sizing and timing needs, and determine a sourcing approach. For instance, candidates may be profiled to fit job descriptions, the organizations new size may be determined and an approach to sourcing and staffing jobs may be finalized and executed.
Returning to FIG. 3A, the next process in the personnel stage 300 is to design and deploy training, step 330. In step 330, the training needs of the organization are analyzed and a Training Plan is created, training is designed, developed and deliverer and post implementation support is provided. The organization performs step 330 to plan activities related to training employees. The design and deployment of training during step 330 is illustrated in greater detail in FIG. 3D. As illustrated in FIG. 3D, the first task in step 330 is to conduct a training needs analysis, step 331, during which the organization identifies, by name, the participants to be trained, along with the courses and modules on which these participants will be trained. In step 331, target audiences and participants are identified, and training courses and modules are planned. The training needs analysis in step 331 may be conducted in two phases. During the first phase, the organization gathers the high-level training needs for the organization. Similarly, the second phase consists of gathering the detailed training needs for the organization.
Returning to FIG. 3D, the next task in FIG. 3D is to develop a training plan, step 332, as needed, to describe the organization's overall training approach. In step 332, the overall organizational approach to training is documented. The training plan formed in step 332 may include any of following sections/topics: Objectives; assumptions; overall training approach; training courses, modules, and topics; training timeline; training logistics; and training evaluation.
The next task in step 330, as illustrated in FIG. 3D, is to design training, step 333. In step 333, the training standards, templates, instructor and participant guides and the actual layout/format of training are developed. Specifically, the organization may develop the layout/format for the training materials. The development includes developing training development standards as well as templates for any instructor and participant guides.
Similarly, the next task in step 330, as illustrated in FIG. 3D, is to develop training, step 334. In step 334, course content is created using the materials compiled during the training design step 333. The organization may implement step 334 by creating the course content using the training development standards and instructor and participant guides. Other material created in step 334 may include "Train-the-Trainer" materials, visuals, job aids/handouts, and tracking documents. Using the training materials developed during step 334, the organization may deliver training, step 335, such as a Train-the-Trainer session, a pilot training session, and the actual training.
Returning to FIG. 3D, the next task in step 330 is to provide post-implementation support, step 336. In particular, during step 336, the organization should provide a short-term dedicated staff (e.g., one or two weeks) to support the users in applying what they've learned on the job. Furthermore, the support staff should be available to answer questions, identify and troubleshoot issues, and share best practices.
Throughout steps 200 and 300, as well as other steps in the APIF method 10, the organization may need to commit to one or more actions (not illustrated) as required to achieve higher maturity levels in the CMM or the CMMI. Commit points are major decisions regarding reporting the progress of present work and obtaining authorization to continue. Commit points define the boundaries of each stage around key decisions related to content, context and course of action. For instance, a commit point may be implemented prior to the executing and design of an organization infrastructure in step 320, to require that the design of the new organization structure must be approved before further implementation can proceed.
Program Management
Returning to FIG. 1, a second primary component of the APIF method 10 of the present invention is program management step 400. Program management step 400 generally concerns activities directly related to the creation and refinement of a program for implementing the APIF method 10. Specifically, program management 400 focuses on the continuous oversight needed to support the delivery of a business solution through multiple projects and releases. Appropriate disciplines, techniques, and tools are used in step 400 to plan and organize the work, and to manage the incremental delivery of the new business solution. As illustrated in FIG. 4A, the program management stage 400 generally comprises the steps of justifying the program (step 410); planning the program execution (step 420); organizing program resources (step 430); controlling program work (step 440); and completing the program (step 450). These individual steps are now described in greater detail.
As depicted in FIG. 4A, the organization may first justify the program, step 410. In step 410, a Program Business Case is prepared. The program business case approach is referenced to develop the business case. The business case is designed to secure stakeholder support for the program. Topics of the business case include the program's understanding of the current problem, the proposed solution to the problem that is to be implemented by the program, and a cost/benefit analysis. Justification of the program to all key stakeholders and sponsors helps in the successful execution, implementation and completion of the program. The program business case should provide economic justification for the change journey and for each program within the change journey. The program business case generally explains why the sponsoring organization should change, what value it receives by changing, and what steps are necessary for a successful change. The program business case addresses three main components, including business context and change imperatives, value impact analysis, and change journey. The tasks in the justification of the program in step are generally illustrated in FIG. 4B.
Referring to FIG. 4B, the organization first determines an economic evaluation approach, step 411, to obtain a "buy in" from the appropriate stakeholders in the sponsoring organization on the overall implementation approach for the program. Specifically, the organization tries to demonstrate the tangible benefits of a program to the affected parties. Step 411 attempts to show the process of implementing the program as an investment with positive, long-term benefits.
Returning to FIG. 4B, the next task in step 410 is to create a model structure, step 412. In step 412, the organization obtains internal agreement regarding the structure of the model used to determine the benefits of implementing the program. For example, benefits to be derived may be expressed in terms of increased market share or reduced operating costs. In this way, affected parties may communicate the program's effects in terms of similar measures of costs and benefits. As suggested in FIG. 4B, the organization may also attempt to justify the program by forecasting baseline business performance, step 413. In other words, the organization may attempt to determine how the organization and its comprising units would perform without implementing the program. Continuing with FIG. 4B, another task in step 410 is to project net change journey benefits, step 414. The organization performs step 414 to predict and quantify the benefits that will be derived from implementing the program.
The next step in step 410 is to assemble a business case, step 415, using the results assembled during steps 411-14. The organization may perform step 415 to document rationale for implementing the program. Ultimately, this documentation may serve as a motivational tool for change within the organization.
Returning to FIG. 4A, the next task in the program management stage 400 is to plan the program execution, step 420. During step 420, the organization develops plans for the program itself, financial management and resource management. Program approaches are referenced during the creation of these documents. These plans guide the continued implementation of the program and are what the program will monitor itself against during later tasks. The individual tasks of step 420 are illustrated in FIG. 4C. In step 420, the organization may develop a consolidated program plan, which documents the necessary tasks, effort, schedule, and costs for all releases of a business capability. The organization may also refine a program statement of work, and develop bottom-up project plans. Subsequently, the organization reconciles these plans with the top-down plans to generate a program baseline. The organization may have performed step 420 initially during program planning, in conjunction with or prior to the analysis stage 700 described below. Then, step 420 may be reinitiated during the course of the program as replanning is required by program management.
Looking at FIG. 4C, the first task of the plan program execution in step 420 is to plan program processes, step 422. The organization may specifically determine all the management processes necessary to support the program. These relate to resources, vendors, quality, configuration, releases, issues, problems, risk, finances, contingency, and performance reporting. The organization may establish and document goals and metrics for each management process. The organization should begin this task package at the start of the program, and refine the management processes as the program progresses. The organization may perform this initial planning at the program level to help ensure that there are no gaps or overlaps of activities. While all the activities within the Delivering phase may be required for a particular business capability, it is unlikely that all of the activities should fall within the scope of a single project team. If the initial distribution of the activities to project type is done at the program level, the risk of missing or duplicate activities is limited.
Returning to FIG. 4C, the next step in the plan program execution, step 420, is to develop a program budget, step 424. In step 424, the organization may establish a program budget that augments the cost baseline established in the program plan. The program budget provides the additional information needed by program management to manage the day-to-day financial affairs of the program.
Another step in the plan program execution, step 420, is to develop a program communications plan, step 426, as illustrated in FIG. 4C. In step 426, the organization may identify and plan messages to program personnel, key program executives, and other stakeholders in the program. In that way, step 426 addresses the communication needs within the program teams.
Subsequently, the organization performs the task of finalizing the program plan, step 428, as depicted in FIG. 4C. In step 428, the organization may assemble the composite program plan. The Program Plan compiles the outputs from the plan management process 422 with the development of a program plan in step 424. The organization may then obtain executive and other appropriate management understanding and approval of the fully elaborated program plan and its components. The organization further briefs all key stakeholders (i.e., executive management, and impacted business operations) to ensure their understanding of, and commitment to, the program plan. This is crucial, because following this task: (1) the program should be described to the organization, and (2) more personnel should be assigned to the program. The organization may then take this opportunity to resolve any unclear or incorrect stakeholder expectations.
Returning to FIG. 4A, the next step of the program management 400 is to organize program resources, step 430. During the step 430, resource requirements are analyzed and aligned so as to meet program objectives. As the program determines its resource needs, the Program Resource Request is completed to obtain the resources. Organize Program Resources is linked closely to planning the program's execution and pertains to staffing of the overall program. Under the Plan Program Execution task, the Program will plan for and deal with resource questions related to subordinate projects. Specifically, the organization may generally analyze resource requirements, initiate the procurement of goods and services, obtain human and physical resources from participating entities, assign these resources to projects, and release the resources upon project completion. The organization may perform step 430 throughout the life of the program created and implemented in step 400.
As illustrated in FIG. 4D, in order to obtain and deploy resources, the organization may analyze resource requirements, step 432. This task analyzes resource requirements as defined in a program management resource plan. Resource requirements are consolidated from project needs and should generally include desired resource provider (generally the organization itself), if previously determined, resource skill/type, and time period (such as monthly). Continuing with step 432, the organization may create a program resource management plan that forecasts resource needs by stage and capability release.
Returning to FIG. 4D, the organization may further obtain and deploy human resources, step 434. Human resources are obtained by initiating a request with the Human Resources Organization, interviewing potential candidates, and selecting the candidate that best fits the requirements. Human resources are then assigned to projects as they arrive at the program. This task, alternatively, may be assigned to the projects. The program resource management plan may reflect actual information regarding the resource request.
Returning to FIG. 4D, the organization may also procure and deploy physical resources, step 436. Physical resources are generally procured by initiating a resource request, evaluating the potential resources, and selecting the resource that best fits the requirements. Resources are then assigned to projects as they arrive at the program. The Physical Assets Inventory and the Program Resource Management Approach are generally both updated to reflect actual information regarding the resource request.
Referring again to FIG. 4D, the organization also releases resources, step 438. When human resources are assigned to projects, they receive a "roll-off" date indicating when these human resources are eligible for reassignment within or outside the program. If not reassigned inside the program, human resources are released to appropriate human resources departments for reassignment. Similarly, physical resource utilization is scheduled by each project, and these resources are returned upon completion of use. This process generally coincides with the completion of each stage of work. At that point, a determination should be made whether to retain or release the human and physical resources from the program. At this point in process 430, the entire process 430 may repeat if there are more program resources to organize, decision 439.
FIGS. 4A and 4E illustrate another step in the program management process, the control of program, step 440. In step 440, program management monitors program performance against program plans. Deviations from the plan are monitored. Corrective action is taken to resolve deviations as necessary. Program plans are updated to reflect modifications to the program. Step 440 generally provides leadership to guide the planning and execution of program work. In step 440, the organization may maintain key working relationships within the program, while monitoring and developing the skills and performance of program management team members. The organization may further identify and assess problems with program performance, and specify corrective actions as needed. The organization may evaluate program metrics to determine progress toward program objectives, and to determine whether or not the current metrics are still relevant. The organization may further assess whether or not the program is on track by reviewing program, project, and vendor performance.
The first task of step 440 is to administer the program, step 441 as illustrated in FIG. 4E. An effective program administration results in a planned, organized, and managed program management office performing a wide range of cost-effective activities. As required, the teamwork environment requirements list deliverable should be updated to reflect relevant changes in the program. Program leaders should also strive to maintain a culture that encourages program participants to achieve maximum results. Program leaders should also communicate the common program vision to inspire others to support program goals.
A second task in step 440 is to report performance, step 442, as illustrated in FIG. 4E. The organization may process and prepare reports for cost/schedule and other performance data (e.g., quality, risk, resource, etc.). This should involve a standard set of reports as defined in the program performance reporting approach section of the program plan. Any ad hoc reports requested by program management may also be prepared.
Returning to FIG. 4E, another task in step 440 is to perform financial management, step 443. Specifically, the organization may report, monitor, and account for the program's financial performance and results by performing the financial management functions as specified in the Program Financial Management Approach section of the Program Plan. Similarly, in step 444, the maintenance of administrative policies and standards, the organization may update and refine the administrative policies and standards on the basis of their effectiveness and the evolving needs of the program, as illustrated in FIG. 4E. The organization should further communicate the changes to the program team members.
Returning to FIG. 4E, the next task in step 440 is to conduct, as necessary, ongoing program orientation and training, step 445. In step 445, the organization may conduct periodic orientation and training sessions as new members join the program, as new types of training are required, and as team members need additional career development opportunities. Likewise, in step 446, the organization monitors a program communications plan to help to ensure that the appropriate groups accomplish their responsibilities. The program management office itself may also be responsible for performing some of the activities as directed in the program communications plan.
In another group of steps illustrated in FIG. 4F, the organization may complete the program, step 450. In step 450, a program closeout report is prepared along with other program closeout documentation. The program is demobilized and responsibility for the program is transferred to the necessary parties. The organization achieves an orderly and successful program closure by formally transferring responsibility for the solution components to the operational units, obtaining formal management acceptance of the competitive solutions delivered, releasing the remaining human and physical resources to their providing organizations/owners, and completing a disposition of all program documentation and other materials.
As illustrated in FIG. 4F, one step in the completing the product is to complete documentation, step 452. The activities needed to complete all program documentation include preparing any final documentation needed to close the program, including final cost, performance reports, etc. Additionally, a final review of the documentation is performed in step 452 to ensure that it is complete and conforms to program standards. The organization should also identify materials that should be shared across the organization, especially process improvements, methodologies, techniques, estimating models, and reusable components. The organization should also take steps to ensure that the materials are included in the appropriate repositories. The program documentation and other materials are transferred to any appropriate locations. Key deliverables are sent to the software engineering process group team, as determined. A summary of the program's final disposition, assets, records, and other appropriate, relevant information should be contained in the program closeout report deliverable.
Continuing with FIG. 4F, another step in the completion of the product is to transfer program responsibility, step 454. This activity transfers responsibility for the business capability to the appropriate organizational unit(s). Responsibility is assumed by the organizational units responsible for the continuing operation, maintenance, and use of the business capability and its underlying components.
Returning to FIG. 4F, another step in the completion of the product is to demobilize the program, step 456. The resources to be released include the remaining program participants and all facilities (including furniture and equipment). The human resources are returned to the organizational units that provided them. The physical resources are released or returned to their owners. Any remaining procurement agreements (purchase orders, contracts, leases, rental agreements, etc.) are closed out.
Project Management
Returning to FIG. 1, the APIF method 10 generally calls for the organizations to concurrently perform project management 500 with the program management 400. The project management 500 is generally depicted in FIGS. 5A-5O. Project management 500 generally concerns activities and structures directly related to the creation and refinement of a project or product for sale. Project management 500 controls the delivery of the specific components from which a business solution is derived through the balanced management of Scope, Quality, Effort, Risk and Timeline (SQERT). Project management 500 focuses on making critical decisions and managing risk that will ensure the delivery of the promised scope, on time and within budget at the agreed-upon levels of quality. When a program management function exists, project management works closely with program management to execute the SQERT activities in relation to the delivery of multiple projects under one overall program. As illustrated in FIG. 5A, project management 500 generally includes planning of project execution (step 510); organization of project resources (step 520); control project work (step 530); completion of the project (step 540); an SQA review execution (step 550); and supplier agreement management (step 560).
FIG. 5B presents the individual tasks required in the planning of project execution, step 510. The organization may perform this task package 510 at project initiation to define pieces of the initial Project Plan and subordinate plans that should be used to manage the execution of the project. The tasks associated with Plan Project Execution, such as planning and estimating, are performed throughout the project lifecycle at predefined decision points, and whenever replanning is required. During the planning of project execution in step 510, the organization may tailor the process, step 512, to suit a project's needs by using known tools or means. The organization may further request a waiver for any required steps that should not be followed on the particular project.
The organization may further implement the planning of project execution, step 510 through the development of a project plan, step 514, as illustrated in FIG. 5B. The organization may perform this task using a template to customize a specific project. The project plan describes the project approach for the project timetable, metrics, organization, supplier agreement management, communication and sponsorship strategy, training, quality initiatives, software system development process, configuration management, logistics, facilities, tools, and purchasing. The project plan also describes the project approach for training, metrics tracking, and roles and responsibilities on the project. The organization may further use a best practices matrix, a metrics plan, a DAR reference document, and a training needs matrix to develop the project plan, as defined in the CMMI. The DAR reference document describes the formal DAR process and provides guidelines for identifying DAR triggers, setting thresholds, and selecting the best techniques. This information should be used to complete the quality program section of the project plan. The metrics plan generally contains the list of required and recommended metrics that a project should include in the project plan.
The planning of project execution, step 510, continues in FIG. 5B with the development of subordinate plans, step 516. In step 516, the organization may develop the appropriate subordinate plans to satisfy the needs of the project. For instance, the organization may define, as needed, subordinate plans for subcontractor management, risk management, communication and sponsorship, and configuration management. All projects require the creation of a work plan, and an organization may create a bottom-up or task-level project work plan based upon estimates. Critical paths and dependencies are defined and managed within the project work-planning tool, such as the Microsoft Project and Project Workbench®.
Returning to FIG. 5B, the next step in plan project execution 510 is to develop project estimates, step 518. The development of project estimates in step 518 is analogous to the development of project estimates in step 218, as described above in FIG. 2B. Specifically, the organization may develop project estimates, step 518, using an estimating tool as a starting point for the estimates. For instance, estimates may be developed using the following steps: (1) tailor tasks and estimating model; (2) determine estimating factor values; (3) define work packages; (4) determine a timeline for the estimate; (5) reconcile a present estimate to an initial estimate; and (6) document assumptions used to form the estimates. The organization preferably further validates any estimates by verifying estimates against estimates or actual results from comparable projects. To form accurate estimates of available resources, the organization should further consider other resource-tapping activities, such as community involvement, recruiting, mentoring, and training, when evaluating resources.
Another step of the project management 500 is to organize project resources, step 520, as illustrated in FIG. 5C. The organizing of project resources in step 520, as well as in substeps 521-25, are analogous to steps 220-25, described above in FIG. 2C. The organization can perform these tasks as needed to organize the project's human resources, establish other resources, to make work assignments, and to develop training enabling resources. In step 520, the project focuses on obtaining, assigning and training its human resources and establishing the project's other resources. This task is performed iteratively as needed to organize, mobilize and manage project resources throughout the execution of the project.
Turning to FIG. 5C, the first step in organizing the project resources in step 520 is to refine resource needs, step 521. In this step 521, the organization defines the team organization structure, schedules the work, and defines the human and physical resource needs of the project. These tasks are performed in view of each project's requirements. By refining resource needs in step 521, the organization helps to ensure that project staffing and facilities needs are met on a timely basis without affecting the completion date and the quality of the work. The organization may complete this refining of resource needs in step 521 by (1) determining project organization structure; (2) balancing a development schedule using human resource guidelines; and (3) refining physical resource needs that were outlined in the logistics, facilities, and tools section of the project plan formed in step 210.
Returning to FIG. 5C, the organization continues the organization of the process resources in step 520 by establishing project standards and goals, step 522. The establishment of project standards and goals in step 522 is accomplished by developing, modifying, and adopting administrative and project-specific project standards and procedures. Examples of administrative procedures are employee availability checklists, time accounting procedures, status reporting, vacation scheduling, etc. Project standards and procedures include design and development standards, and the use of project-specific tools. The establishment of these standards and procedures preferably improves the organization's communication, operating efficiency, and overall control of the project.
The organization continues the step of organizing the process resources, step 520, through organizing a project team in step 523, as also illustrated in FIG. 5C. The selection of project team members is based on project requirements. Other elements in the organization of a project team are the finalization of the project team's organization structure and documentation in the organization chart of the project plan. The organization should further update a training needs matrix to document (1) the training required of each project team member and (2) the proposed means for fulfilling the training. This document is used to track project team member training. In another implementation, organizing a project team in step 523 further requires the organization to determine, as a team, the project's mission, vision, and charter, and then to document these determinations in a project plan and orientation binder that is created as required for the CMM.
Returning to FIG. 5C, another task in the organization of project resources in step 520 is to establish other resources, step 524. Specifically, the organization performs this task to organize the physical resources, such as hardware or software, provided by program management and to develop the orientation and/or training needed to support the activities of the project team. The establishment of other resources in step 524 helps create a work environment that promotes communication, collaboration, and group cohesion.
Also as illustrated in FIG. 5C, the organization of project resources in process 520 further includes enabling resources, step 525. Organizations perform this step to orient and train team members, manage the physical resources assigned to the project, and coach and evaluate team members. The enabling of resources in step 525 aids the project manager in motivating and challenging team members and while helping to ensure that various project personnel believe their work to be important. Specifically, the organization should communicate the project's mission, vision, and charter to new team members. Large projects may also elect to formalize these items at the program level, and projects may conduct one or more meetings that include all team workers.
As illustrated in FIG. 5D, another step in the project management 500 is to control project work, step 530. In step 530, project management monitors the execution of the project against project plans and makes adjustments as necessary. Project Status Reports are prepared for the Project Sponsor. Potential and actual problems are identified through the measuring and monitoring of progress and performance against the Project Plan. Depending on the type of problem identified, an Issue, Risk, SIR or CR is logged. Project management is expected to take appropriate corrective actions to resolve problems that are discovered. Step 530 and constituting tasks 531-37 closely correlate, respectively, to steps 230-37, described in FIG. 2D and its accompanying text. The organization performs step 530 to control project execution throughout the project's life cycle. The control of project work in step 530 includes identifying potential and actual problems by monitoring and measuring progress against the project plan.
As illustrated in FIG. 5D, the controlling of project work in step 530 begins with the releasing of work packages, step 531. To release work packages, the organization should assemble and release work packages according to the work plan, and communicate their requirements to the assigned team members. Work packages are generally described in the CMM criteria and generally relate to the task and functions given to the various workers in a project. The project team then performs the work needed to develop the required deliverable good. During step 531, the organization preferably acts to ensure that each team member understands assigned responsibilities, including target dates and budgets. Furthermore, the organization should encourage each team member to provide input regarding various assigned responsibilities, including target dates and budgets, and to accept and carry out these assigned responsibilities.
As depicted in FIG. 5D, a following step in the control project work, step 530, is measuring performance, step 532. The measuring of performance in step 532 generally includes capturing actual results and calculation of metrics in order to manage performance. Capture metrics, as outlined in the organization metrics plan formed in step 510, include cost, effort, scope, quality, and schedule. The organization should further track project infrastructure/technical requirements, such as hardware, software, and performance requirements, that were outlined during planning in step 510. The organization should also analyze any deviations from the project plan and identify, in a timely manner, the causes for the deviations.
Concurrent with the measuring of performance in step 532 is managing performance, step 533, as illustrated in FIG. 5D. Managing performance in step 533 generally requires the organization to manage project performance against the previously defined project and work plans. To project performance in view of the project and work plans, the organization proactively assesses performance, status, quality, and risk. When the actual results from the development of the project do not match the plans, the organization should further determine alternative goals or actions. The implementing organization may further obtain approval for corrective actions, and then take corrective actions. The corrective actions may include, but are not limited to, work process changes, team building, training, increased or decreased supervision, work assignment changes, reassignment of team members, initiation of risk responses, the change of requests to be pursued with program management as part of the configuration management process, project replanning changes that specify needed modifications to the project plan, project plan revisions (work package changes, etc.) or escalation to program management. The organization should also reevaluate project decisions throughout the project life cycle, when project triggers or other issues, risks, etc. arise. In step 533, the organization may also manage team member performance according to organizational standards and tools.
Continuing with FIG. 5D, following the measuring of performance in step 532 and the managing of performance in step 533, the organization communicates project status, step 534. During the step 534, the organization generally develops and communicates project status to all project stakeholders according to the Project Plan. The project stakeholders include project and senior management and other affected groups. The organization further conducts status and review meetings involving affected groups as appropriate. During the communication of project status in step 534, the organization should document meeting minutes as required for the CMM.
Continuing with FIG. 5D, following the communication of project status in step 534, the organization obtains acceptance of interim deliverable goods, step 535. Obtaining acceptance of interim deliverable goods in step 535 generally requires that the organization obtain acceptance of interim deliverables by all designated stakeholders, as appropriate, at key interim points throughout the project life cycle. Any acceptance of final deliverables takes place in connection with completing the program.
Another t |