Lecture Software process improvement: Lesson 10B provide students with knowledge about: the repeatable level; requirements management; software project planning; software project tracking and oversight; software subcontract management; software quality assurance; software configuration management;... Please refer to the detailed content of the lecture!
CMM Level 2 Lecture # 10B The Repeatable Level C MM Moving from Level 1 to Level 2 At level 2, a software project management system is in place The organization sets expectations via policies At level 2 projects have disciplined processes Moving from Level 1 to Level 2 • Organizations have introduced at least some rigor into project management and technical development tasks • Approaches such as formal cost estimating are noted for project management, and formal requirements gathering are often noted during development • Compared to initial level, a higher frequency of success and a lower incidence of overruns and cancelled projects can be observed Level 2 KPAs C MM • • • • • • KPA’s Level 2 Requirements Management Software Project Planning Software Project Tracking and Oversight Software Subcontract Management Software Quality Assurance Software Configuration Management C MM Requirements Management C MM Purpose • The purpose is to establish a “common understanding” between the customer and organization • Involves • document and control of customer requirements • keeping plans, products, and activities consistent with requirements C MM Software Requirements versus Allocated Requirements • The scope of Requirements management is control of requirements allocated to software • Requirements allocated to software come from systems engineering • Software requirements are derived from requirements allocated to software C MM What are Requirements? End user Customer requirements System Engineering Other Groups System requirements allocated to software Customer System requirements allocated to software Software Engineering Software requirements C MM Managing a Subcontract • The prime contractor must manage subcontract • Ensures subcontractor follow software development plans, standards and procedures • Monitoring software quality assurance by subcontractor • Monitoring software configuration management by the subcontractor Software Quality Assurance C MM Purpose • Purpose is to provide management with appropriate visibility in to the process being used by software project and products being built. • Involves – reviewing and auditing products and activities to ensure that they comply with applicable procedures and standards – providing the software project and other appropriate managers with the results of those reviews and audits C MM Provides Visibility to Everyone • The value of SQA is that it provides an independent view of the project’s activities, process and product • SQA serves a the “eyes and ears” of the management • Most key process areas contain SQA practices in Verifying Implementation C MM Independent Versus Objective • Commitment 1.2 (the SQA group has an “independent reporting channel” to the senior management) indicates that an independent SQA group is normally expected • Goal 2 of SQA (verify adherence objectively) provides latitude in defining SQA • Without an independent SQA group, can the organization demonstrate objective means of adherence? C MM Resolving Noncompliance • There are three possible ways for resolving a noncompliance issue: – Make the product or process satisfy the standard, procedure or requirement – Change the standard or procedure to make it useable – Make an executive decision not to satisfy the standard, procedure or requirement C MM SQA Evolves • Proactive SQA functions as a value adding member of the project team – SQA starts early in the project – SQA helps to prepare and review procedures, plans and standards • At higher levels, the CMM provides flexibility for SQA to function proactively to drive improvements in the software process and product Software Configuration Management C MM Purpose • Purpose is to establish and maintain the integrity of the products of the software projects throughout the project’s software life cycle • Involves: – identifying configuration items / units – systematically controlling changes – maintaining integrity and traceability of the configuration throughout the life cycle C MM Using Baselines • SCM relies on baselining software work products • A baseline is a specification or product that – has been formally reviewed and agreed on – serves as the basis for further work – can be changed only through formal change control procedures C MM Controlling Change • SCM provides a stable working environment • Uncontrolled change of work product is a chaotic process • SCM provides a memory of the status of software work products via baselines • When many individuals are working on the same product, SCM coordinates access to and change of the software work products C MM Software Product and Software Work Product • Software Product the complete set, or any of the individual items of the set, of computer programs, procedures, associated documentation, and data designated for delivery to a customer or end user • Software Work Product any artifact created as part of defining, maintaining, or using a software process, including process descriptions, plans, procedures, computer programs, and associated documents, which may or may not be intended for delivery top a customer or end user C MM Baseline Vs Developmental Configuration Management • In baseline CM, baselines for identified software work products are established at predetermined points • In developmental CM, configuration control is exercised by the developers as they perform their work • The SCM KPA can be satisfied using at a minimum baseline configuration management C MM Managed and Controlled • Some software work products do not need the formality of configuration management but do need to be placed under some form of – Version control – Change control • This is referred to as “managed and controlled” in the key practices • Managed and controlled is a subset of developmental configuration management References • The Capability Maturity Model: Guidelines for Improving Software Process 44 ... KPA’s Level 2 Requirements Management Software? ?Project Planning Software? ?Project Tracking and Oversight Software? ?Subcontract Management Software? ?Quality Assurance Software? ?Configuration Management... Plan provides the basics for initiating the? ?software? ?effort and managing the work • Other names for this plan include: – – – – software? ?development plan software? ?project management plan software? ?project plan software? ?engineering management plan... Engineering Other Groups System requirements allocated to? ?software Customer System requirements allocated to software Software Engineering Software? ? requirements C MM • • • • Who is Customer? Customers may be external or internal