1 / 46

Georgia Institute of Technology

This course covers the key areas of software lifecycle management, including requirements management, project planning, tracking and oversight, subcontract management, software quality assurance, and software configuration management.

lgreen
Download Presentation

Georgia Institute of Technology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Georgia Institute of Technology CS 4320 Fall 2003

  2. CMM Level 2 KPAsRepeatable

  3. Requirements Management 1 • Goals: • System requirements allocated to software are controlled using a baseline for engineering and management use. • Software plans, products and activities are kept consistent with system requirements allocated to software. System requirements allocated to software == software requirements

  4. Requirements Management 2 • Commitment to perform: • Project follows a written organizational policy for managing software requirements. • Ability to perform: • For each project, responsibility is established for analyzing the system requirements and allocating them to HW, SW or other system components. • Allocated requirements are documented. • Adequate resources and funding are provided to manage requirements. • People are trained for requirements management activities.

  5. Software Project Planning • Goals: • Software estimates are documented for use in planning and tracking a software project. • Software project activities and commitments are planned and documented. • Affected groups and individuals agree to their commitments related to the project.

  6. Software Project Planning • Commitment to Perform • A software project manager is designated to be responsible for negotiating commitments and developing the project’s SDP. • The project follows a written organizational policy for planning a software project.

  7. Software Project Planning • Ability to perform • A documented and approved SOW exists for the software project. • Responsibilities for developing the SDP are assigned. • Adequate resources and funding are provided for planning the software project. • People involved in planning are trained in estimating and planning procedures applicable to their area of responsibility.

  8. Software Project Tracking and Oversight • Goals: • Actual results and performances are tracked against the software plans. • Corrective actions are taken and managed to closure when actual results and performance deviate significantly from the software plans. • Changes to SW commitments are agreed to by the affected parties.

  9. Software Project Tracking and Oversight • Commitment to perform: • A manager is designated to be responsible for the project’s activities and results. • The project follows a written policy for managing the software project. • Ability to perform: • An SDP is documented and approved. • The manager explicitly assigns responsibility for SW work products and activities. • Adequate resources are provided for tracking project. • Managers trained in managing technical and personnel aspects of the project. • First line managers receive orientation in technical aspects of the software project.

  10. Subcontract Management • Goals: • The prime contractor selects qualified software subcontractors. • The prime contractor and the software subcontractor agree to their commitments to each other. • The prime contractor and the software subcontractor maintain ongoing communications. • The prime contractor tracks the software subcontractor's actual results and performance against its commitments.

  11. Software Quality Assurance • Goals: • Software quality assurance activities are planned. • Adherence of software products and activities to the applicable standards, procedures, and requirements is verified objectively. • Affected groups and individuals are informed of software quality assurance activities and results. • Noncompliance issues that cannot be resolved within the software project are addressed by senior management.

  12. Software Quality Assurance • Commitment to perform: • The project follows a written organizational policy for implementing SQA. • Ability to perform: • A group that is responsible for coordinating and implementing SQA for the project exists. • Adequate resources and funding are provided for performing the SQA activities. • Members of the SQA group are trained to perform their SQA activities. • The members of the software project receive orientation on the role, responsibilities, authority, and value of the SQA group.

  13. Software Configuration Management • Goals: • Software configuration management activities are planned. • Selected software work products are identified, controlled, and available. • Changes to identified software work products are controlled. • Affected groups and individuals are informed of the status and content of software baselines.

  14. Software Configuration Management • Commitment to perform: • The project follows a written organizational policy for implementing SCM. • Ability to perform: • A board (CCB) having the authority for managing the project's software baselines exists. • A group that is responsible for coordinating and implementing SCM for the project exists. • Adequate resources and funding are provided for performing the SCM activities. • Members of the SCM group are trained in the objectives, procedures, and methods for performing their SCM activities. • Members of the software engineering group and other software related groups are trained to perform their SCM activities.

  15. CMM Level 3 KPAsDefined

  16. Organizational Process Focus (Goals) • Software process development and improvement activities are coordinated across the organization. • The strengths and weaknesses of the software processes used are identified relative to a process standard. • Organization-level process development and improvement activities are planned.

  17. Org Process Focus • Commitment to perform: • The organization follows a written organizational policy for coordinating software process development and improvement activities across the organization. • Senior management sponsors the organization's activities for software process development and improvement. • Senior management oversees the organization's activities for software process development and improvement.

  18. Org Process Focus • Ability to Perform: • A group that is responsible for the organization's software process activities exists. • Adequate resources and funding are provided for the organization's software process activities. • Members of the group responsible for the organization's software process activities receive required training to perform these activities. • Members of the software engineering group and other software related groups receive orientation on the organization's software process activities and their roles in those activities.

  19. Organization Process Definition • Goals: • A standard software process for the organization is developed and maintained. • Information related to the use of the organization's standard software process by the software projects is collected, reviewed and made available.

  20. Organization Process Definition • Commitment to perform: • The organization follows a written policy for developing and maintaining a standard software process and related process assets. • Ability to perform: • Adequate resources and funding are provided for developing and maintaining the organization's standard software process and related process assets. • The individuals who develop and maintain the organization's standard software process and related process assets receive required training to perform these activities.

  21. Training Program • Goals: • Training activities are planned. • Training for developing the skills and knowledge needed to perform software management and technical roles is provided. • Individuals in the software engineering group and software related groups receive the training necessary to perform their roles.

  22. Training Program • Commitment to perform: • The organization follows a written policy for meeting its training needs. • Ability to perform: • A group responsible for fulfilling the training needs of the organization exists. • Adequate resources and funding are provided for implementing the training program. • Members of the training group have the necessary skills and knowledge to perform their training activities. • Software managers receive orientation on the training program.

  23. Integrated Software Management • Goals: • The project's defined software process is a tailored version of the organization's standard software process. • The project is planned and managed according to the project's defined software process. • Commitment to perform: • The project follows a written organizational policy requiring that the software project be planned and managed using the organization's standard software process and related process assets.

  24. Integrated Software Management • Ability to perform: • Adequate resources and funding are provided for managing the software project using the project's defined software process. • The individuals responsible for developing the project's defined software process receive required training in how to tailor the organization's standard software process and use the related process assets. • The software managers receive required training in managing the technical, administrative, and personnel aspects of the software project based on the project's defined software process.

  25. Software Product Engineering • Goals: • The software engineering tasks are defined, integrated, and consistently performed to produce the software. • Software work products are kept consistent with each other. • Commitment to perform: • The project follows a written organizational policy for performing the software engineering activities.

  26. Software Product Engineering • Ability to perform: • Adequate resources and funding are provided for performing the software engineering tasks. • Members of the software engineering technical staff receive required training to perform their technical assignments. • Members of the software engineering technical staff receive orientation in related software engineering disciplines. • The project manager and all software managers receive orientation in the technical aspects of the software project.

  27. Intergroup Coordination • Goals: • The customer's requirements are agreed to by all affected groups. • The commitments between the engineering groups are agreed to by the affected groups. • The engineering groups identify, track, and resolve intergroup issues.

  28. Intergroup Coordination • Commitment to perform: • The project follows a written organizational policy for establishing interdisciplinary engineering teams. • Ability to perform: • Adequate resources and funding are provided for coordinating the software engineering activities with other engineering groups. • The support tools used by the different engineering groups are compatible to enable effective communication and coordination. • All managers in the organization receive required training in teamwork. • All task leaders in each engineering group receive orientation in the processes, methods, and standards used by the other engineering groups. • The members of the engineering groups receive orientation in working as a team.

  29. Peer Reviews • Goal: • Peer review activities are planned. • Defects in the software work products are identified and removed. • Commitment to perform: • The project follows a written organizational policy for performing peer reviews.

  30. Peer Reviews • Ability to perform: • Adequate resources and funding are provided for performing peer reviews on each software work product to be reviewed. • Peer review leaders receive required training in how to lead peer reviews. • Reviewers who participate in peer reviews receive required training in the objectives, principles, and methods of peer reviews.

  31. CMM Level 4 KPA’sManaged

  32. Quantitative Process Management • Ability to Perform: • A group that is responsible for coordinating the quantitative process management activities for the organization exists. • Adequate resources and funding are provided for the quantitative process management activities. • Support exists for collecting, recording, and analyzing data for selected process and product measurements. • The individuals implementing or supporting quantitative process management receive required training to perform these activities. • The members of the software engineering group and other software-related groups receive orientation on the goals and value of quantitative process management.

  33. Quantitative Process Management • Activities Performed: • The software project's plan for quantitative process management is developed according to a documented procedure. • The software project's quantitative process management activities are performed in accordance with the project's quantitative process management plan. • The strategy for the data collection and the quantitative analyses to be performed are determined based on the project's defined software process. • The measurement data used to control the project's defined software process quantitatively are collected according to a documented procedure.

  34. Quantitative Process Management • The project's defined software process is analyzed and brought under quantitative control according to a documented procedure. • Reports documenting the results of the software project's quantitative process management activities are prepared and distributed. • The process capability baseline for the organization's standard software process is established and maintained according to a documented procedure.

  35. Software Quality Management • Ability to Perform: • Adequate resources and funding are provided for managing the quality of the software products. • The individuals implementing and supporting software quality management receive required training to perform their activities. • The members of the software engineering group and other software-related groups receive required training in software quality management.

  36. Software Quality Management • Activities Performed: • The project's software quality plan is developed and maintained according to a documented procedure. • The project's software quality plan is the basis for the project's activities for software quality management. • The project's quantitative quality goals for the software products are defined, monitored, and revised throughout the software life cycle. • The quality of the project's software products is measured, analyzed, and compared to the products' quantitative quality goals on an event-driven basis. • The software project's quantitative quality goals for the products are allocated appropriately to the subcontractors delivering software products to the project.

  37. Level 5 CMM KPA’sOptimizing

  38. Defect Prevention • Ability to perform: • An organization-level team to coordinate defect prevention activities exists. • A team to coordinate defect prevention activities for the software project exists. • Adequate resources and funding are provided for defect prevention activities at the project and organization levels. • Members of the software engineering group and other software related groups receive required training to perform their defect prevention activities.

  39. Defect Prevention • Activities Performed: • The software project develops and maintains a plan for its defect prevention activities. • At the beginning of a software task, the members of the team performing the task meet to prepare for the activities of that task and the related defect prevention activities. • Causal analysis meetings are conducted according to a documented procedure. • Each of the teams assigned to coordinate defect prevention activities meets on a periodic basis to review and coordinate implementation of action proposals from the causal analysis meetings.

  40. Defect Prevention • Defect prevention data are documented and tracked across the teams coordinating defect prevention activities. • Revisions to the organization's standard software process resulting from defect prevention actions are incorporated according to a documented procedure. • Revisions to the project's defined software process resulting from defect prevention actions are incorporated according to documented procedure. • Members of the software engineering group and software-related groups receive feedback on the status and results of the organization's and project's defect prevention activities on a periodic basis.

  41. Technology Change Management • Ability to perform: • A group responsible for the organization's technology change management activities exists. • Adequate resources and funding are provided to establish and staff a group responsible for the organization's technology change management activities. • Support exists for collecting and analyzing data needed to evaluate technology changes. • Appropriate data on the software processes and software work products are available to support analyses performed to evaluate and select technology changes. • Members of the group responsible for the organization's technology change management activities receive required training to perform these activities.

  42. Technology Change Management • Activities Performed: • The organization develops and maintains a plan for technology change management. • The group responsible for the organization's technology change management activities works with the software projects in identifying areas of technology change. • Software managers and technical staff are kept informed of new technologies. • The group responsible for the organization's technology change management systematically analyzes the organization's standard software process to identify areas that need or could benefit from new technology.

  43. Technology Change Management • Technologies are selected and acquired for the organization and software projects according to a documented procedure. • Pilot efforts for improving technology are conducted, where appropriate, before a new technology is introduced into normal practice. • Appropriate new technologies are incorporated into the organization's standard software process according to a documented procedure. • Appropriate new technologies are incorporated into the projects‘ defined software processes according to a documented procedure.

  44. Process Change Management • Ability to Perform: • Adequate resources and funding are provided for software process improvement activities. • Software managers receive required training in software process improvement. • The managers and technical staff of the software engineering group and other software-related groups receive required training in software process improvement. • Senior management receives required training in software process improvement.

  45. Process Change Management • Activities Performed: • A software process improvement program is established which empowers the members of the organization to improve the processes of the organization. • The group responsible for the organization's software process activities (e.g., software engineering process group) coordinates the software process improvement activities. • The software process improvement activities are performed in accordance with the software process improvement plan. • Software process improvement proposals are handled according to a documented procedure. • Members of the organization actively participate in teams to develop software process improvements for assigned process areas.

  46. Process Change Management • Where appropriate, the software process improvements are installed on a pilot basis to determine their benefits and effectiveness before they are introduced into normal practice. • When the decision is made to transfer a software process improvement into normal practice, the improvement is implemented according to a documented procedure. • Records of software process improvement activities are maintained. • Software managers and technical staff receive feedback on the status and results of the software process improvement activities on an event-driven basis.

More Related