Process Improvement and CMMI for Systems and Software

Book description

Process Improvement and CMMI for Systems and Software provides readers with a workable approach for achieving cost-effective process improvements for systems and software. It details a methodology for assessing the status of a development or maintenance process and also lays out an effective plan for achieving process improvements. This practical resource supplies examples of measures and metrics that can be useful for establishing baselines and for monitoring process improvement projects. The text concludes with a realistic case study that illustrates how the methods, tools, and techniques discussed fit together.

Table of contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Dedication
  6. Table of Contents
  7. Foreword
  8. Preface
  9. Acknowledgments
  10. About the Authors
  11. SECTION I STRATEGY AND BASICS OF QUALITY AND PROCESS IMPROVEMENT
    1. 1 The Strategic Role of Systems and Software Quality
      1. Synopsis
      2. 1.1 Basic Strategic Planning
      3. 1.2 Strategic Planning Models
      4. 1.3 Elements of System and Software Quality
        1. 1.3.1 Requirements Establishment and Control
        2. 1.3.2 Methodology Establishment and Implementation
        3. 1.3.3 Quality Evaluation
        4. 1.3.4 Interactions among System Quality Program Elements
      5. 1.4 Deployment of Strategic Quality Goals
      6. 1.5 Strategic Maps and Balanced Scorecards
      7. 1.6 Summary
      8. References
    2. 2 Basic Elements of Continuous Process Improvement
      1. Synopsis
      2. 2.1 Continuous Improvement Infrastructures
      3. 2.2 Process Improvement Projects and Measurement Programs
      4. 2.3 Six Sigma (DMAIC and DFSS Methodology)
      5. 2.4 Enterprise Knowledge Development (EKD)
        1. 2.4.1 EKD Actor and Role Components
          1. 2.4.1.1 The Actor and the Actor’s Role
          2. 2.4.1.2 The Actor–Role Relationship
          3. 2.4.1.3 The Role–Role Relationship
          4. 2.4.1.4 Using the Notation
          5. 2.4.1.5 Guidelines for the Actor–Role Diagram
          6. 2.4.1.6 Examples of Actor–Role Diagrams
          7. 2.4.1.7 EKD Role–Activity Diagram
      6. 2.5 Organizational Patterns
        1. 2.5.1 The Notion of Pattern
        2. 2.5.2 Pattern Template
      7. 2.6 Summary
      8. References
  12. SECTION II ASSESSMENT AND MEASUREMENT IN SYSTEMS AND SOFTWARE DEVELOPMENT
    1. 3 CMMI, People CMM, Personal and Team Software Process, eSCM, ITIL, and ISO Standards
      1. Synopsis
      2. 3.1 Capability Maturity Model Integration (CMMI)
        1. 3.1.1 History
        2. 3.1.2 CMMI
          1. 3.1.2.1 Motivating Factors
          2. 3.1.2.2 Version 1.1
          3. 3.1.2.3 Version 1.2
          4. 3.1.2.4 Version 1.3
        3. 3.1.3 CMMI for Acquisition (CMMI-ACQ)
        4. 3.1.4 CMMI for Services (CMMI-SVC)
        5. 3.1.5 SCAMPI Class A Appraisal Methodology
        6. 3.1.6 SCAMPI B and C Appraisals
      3. 3.2 People CMM
      4. 3.3 Personal and Team Software Process
        1. 3.3.1 PSP
        2. 3.3.2 TSP
      5. 3.4 eSourcing Capability Model (eCSM)
        1. 3.4.1 Barriers to Successful Sourcing Relationships
        2. 3.4.2 eSCM for Service Providers
        3. 3.4.3 eSCM for Client Organizations
        4. 3.4.4 eSCM Capability Determinations
      6. 3.5 Information Technology Infrastructure Library® (ITIL®)
        1. 3.5.1 Description
        2. 3.5.2 Certification
        3. 3.5.3 Connections between ITIL and eSCM
      7. 3.6 ISO Standards and Models
        1. 3.6.1 ISO 9001
        2. 3.6.2 SPICE (ISO 15504)
        3. 3.6.3 ISO 12207
        4. 3.6.4 ISO 15288
        5. 3.6.5 ISO Standard Interrelationships
      8. 3.7 Summary
      9. References
    2. 4 System and Software Measurement Programs
      1. Synopsis
      2. 4.1 Defining Measures for Process Control and Improvement
        1. 4.1.1 Size
        2. 4.1.2 Defects
        3. 4.1.3 Effort
        4. 4.1.4 Duration
        5. 4.1.5 Cost
        6. 4.1.6 Customer Satisfaction
      3. 4.2 Effectiveness of Process Measurement Programs
        1. 4.2.1 Attributes
        2. 4.2.2 Impact Factors
          1. 4.2.2.1 Positive Impact Factors
          2. 4.2.2.2 Negative Impact Factors
          3. 4.2.3 Measuring Impact
      4. 4.3 Measurement Program Implementation Steps
        1. 4.3.1 Plan/Evaluate Phase
          1. 4.3.1.1 Reasons for Implementation
          2. 4.3.1.2 Questions to Help Identify Goals
          3. 4.3.1.3 Identification of Sponsors
          4. 4.3.1.4 Identification of Roles and Responsibilities
        2. 4.3.2 Analysis Phase
          1. 4.3.2.1 Analysis of Audience and Identification of Target Metrics
          2. 4.3.2.2 Definition of Metrics
        3. 4.3.3 Implement/Measure Phase
          1. 4.3.3.1 Organizing for Just-in-Time Training and Education Processes
          2. 4.3.3.2 Reporting and Publishing Results
        4. 4.3.4 Improve Phase
          1. 4.3.4.1 Managing Expectations
          2. 4.3.4.2 Managing with Metrics
      5. 4.4 Case Studies
        1. 4.4.1 Measurement Program Case Studies
          1. 4.4.1.1 An Effective Measurement Program
          2. 4.4.1.2 An Ineffective Measurement Program
        2. 4.4.2 Beneficial Measurement Examples
          1. 4.4.2.1 Example 1: Staffing Profiles
          2. 4.4.2.2 Example 2: Software Size
          3. 4.4.2.3 Example 3: Problem Report Tracking
          4. 4.4.2.4 Example 4: Control Charts of Newly Opened Bugs, by Week
          5. 4.4.2.5 Example 5: Control Charts of Closed Bugs, by Week
          6. 4.4.2.6 Example 6: A Cost-Driven Dashboard
      6. 4.5 Measurement and the CMMI High Maturity Practices
        1. 4.5.1 Maturity Level 4
        2. 4.5.2 Maturity Level 5
        3. 4.5.3 High Maturity Summary
      7. 4.6 Chapter Summary
      8. References
  13. SECTION III IMPROVEMENTS AND TESTING OF SYSTEMS AND SOFTWARE
    1. 5 System and Software Development Process Improvement
      1. Synopsis
      2. 5.1 Implementing System and Software Process Improvement
        1. 5.1.1 Developing a Long-Range Action Plan for Process Improvement
        2. 5.1.2 Work Environment Factors Affecting Process Improvement Plan Implementation
          1. 5.1.2.1 Facilities
          2. 5.1.2.2 Software Tools to Facilitate Process Implementation
          3. 5.1.2.3 Personnel Resources
          4. 5.1.2.4 Management Policies
      3. 5.2 Managing Improvement Projects
      4. 5.3 Roles and Responsibilities and Specifying Mission Statements
      5. 5.4 Criteria for Team Composition
      6. 5.5 Launching Improvement Teams
      7. 5.6 Managing Improvement Teams
      8. 5.7 After Action Reviews
      9. 5.8 Summary
      10. References
    2. 6 System and Software Testing Strategies
      1. Synopsis
      2. 6.1 Designing a Test Strategy
        1. 6.1.1 Background
        2. 6.1.2 “Pre-Alpha”: Early Testing before Feature Freeze
        3. 6.1.3 “Alpha”: Feature Freeze
        4. 6.1.4 “Validation and Beta”: Development Is Complete
      3. 6.2 Implementing a Test Strategy
        1. 6.2.1 Ten Steps for Time-to-Market and Quality Improvement
        2. 6.2.2 Build and Development Product Version Plans
        3. 6.2.3 Main Phases in the Test Plan
        4. 6.2.4 Monitoring and Controlling the Test Process
        5. 6.2.5 Defects per Build
        6. 6.2.6 Defects by Severity/Status
      4. 6.3 Software Cybernetics
        1. 6.3.1 Background
        2. 6.3.2 Modeling of Incremental Software and System Control
        3. 6.3.3 Modeling of Test Processes
      5. 6.4 Test Strategy Results
        1. 6.4.1 Accumulated Lines of Code and Accumulated Defects per Build
        2. 6.4.2 New Defects per Build
        3. 6.4.3 New Severity 1 through Severity 3 Defects per Build
      6. 6.5 Assessing Testing Effectiveness and Efficiency
        1. 6.5.1 The Software Trouble Assessment Matrix (STAM)
        2. 6.5.2 A STAM Analysis of Release 7.0
        3. 6.5.3 Comparing Releases with a STAM Analysis
      7. 6.6 Software Reliability Models
      8. 6.7 Summary
      9. References
      10. Appendix: Software Reliability Models
        1. 6A.1 Markov Models
          1. 6A.1.1 A Case Study of the Lipow Model
        2. 6A.2 NHPP Models
          1. 6A.2.1 The Goel–Okomoto Model
          2. 6A.2.2 The Musa–Okomoto Logarithmic Model
          3. 6A.2.3 The Yamada S-Shaped NHPP Models
          4. 6A.2.4 The Log-Power Model
          5. 6A.2.5 Other NHPP Extensions
        3. 6A.3 Bayesian Models
        4. 6A.4 Estimation for Model Parameters and Semi-Parametric Control
          1. 6A.4.1 Point Estimation for NHPP Model Parameters
          2. 6A.4.2 A General Approach for Parameter Estimation
          3. 6A.4.3 The Shiryayev–Roberts Semi-Parametric Procedure
        5. References
    3. 7 System and Software Beta and Usability Programs
      1. Synopsis
      2. 7.1 Planning Beta Programs
        1. 7.1.1 Introduction to Beta Planning
        2. 7.1.2 Beta Test Standard Operating Procedure
      3. 7.2 Beta Test Data Collection and Analysis
        1. 7.2.1 Beta Survey Design
        2. 7.2.2 Beta Test Survey Data Analysis
        3. 7.2.3 Reliability Models
      4. 7.3 Beta Test Risk and Usability Analysis
        1. 7.3.1 Introduction to Risk Management
        2. 7.3.2 Risk Identification
        3. 7.3.3 Risk Analysis
        4. 7.3.4 Risk Monitoring and Control
      5. 7.4 Usability Analysis
        1. 7.4.1 Introduction to Usability
        2. 7.4.2 A Case Study: Web Usability Analytics
        3. 7.4.3 A DSUID Implementation Framework: The Seven Layers Model
        4. 7.4.4 DSUID Modeling Techniques
      6. 7.5 Determining Readiness Success Criteria
        1. 7.5.1 Mapping Goals to Strategic Objectives
        2. 7.5.2 Using QFD to Establish Readiness Criteria
      7. 7.6 Managing Readiness Reviews
      8. 7.7 Summary
      9. References
  14. SECTION IV MANAGING AND REPORTING DATA, AND A COMPREHENSIVE CASE STUDY
    1. 8 Data Reporting and Analysis
      1. Synopsis
      2. 8.1 Designing a Data Reporting System
        1. 8.1.1 Defining the Data to Collect
        2. 8.1.2 Establishing the Data Center
        3. 8.1.3 Data Collection
        4. 8.1.4 Data Storage and Analysis
        5. 8.1.5 Data Analysis Procedures
      3. 8.2 Operating a Data Reporting System
        1. 8.2.1 Staffing
        2. 8.2.2 Data Entry
        3. 8.2.3 Data Backups
        4. 8.2.4 Power Failure Considerations
      4. 8.3 Analyzing Data
      5. 8.4 Reporting on Findings and Consequences
      6. 8.5 Field Data Reporting
      7. 8.6 Summary
      8. References
    2. 9 Systems Development Management Dashboards and Decision Making
      1. Synopsis
      2. 9.1 Introduction to Systems Development Management Dashboard
      3. 9.2 A Systems Development Management Dashboard Case Study
        1. 9.2.1 Progress
        2. 9.2.2 Change
        3. 9.2.3 Staff
        4. 9.2.4 Risk
        5. 9.2.5 Quality
      4. 9.3 Additional Metrics at the PMO Level
        1. 9.3.1 M1: Profit from New Products and Systems
        2. 9.3.2 M2: Cost of Late Launch
        3. 9.3.3 M3: R&D Spend
        4. 9.3.4 M4: New Product/System Quality
        5. 9.3.5 M5: Uniqueness of Products/Systems
        6. 9.3.6 M6: Idea Generation Rate
        7. 9.3.7 M7: New Product/System Break-Even Time
        8. 9.3.8 M8: New Product/System Introduction Rate
        9. 9.3.9 M9: Product Standardization
        10. 9.3.10 M10: Cost of Quality
      5. 9.4 Risk Management and Optimizing Decisions with Data
        1. 9.4.1 Uncertainty Models and Risk Management
        2. 9.4.2 Bayes Methods in Risk Management
        3. 9.4.3 Financial Engineering and Risk Management
        4. 9.4.4 Black Swans and the Taleb Quadrants
      6. 9.5 Summary
      7. References
    3. 10 A Case Study: The Journey of Systems, Inc. to CMMI® Level 5
      1. Synopsis
      2. 10.1 Background of Systems, Inc.
      3. 10.2 The Systems, Inc. SCAMPI Appraisal
        1. 10.2.1 Some Background on the Need for an Appraisal
        2. 10.2.2 Appraisal Interviews at Systems, Inc.
          1. 10.2.2.1 Middle Management Discussion Group
          2. 10.2.2.2 Requirements and Customer Interface Functional Area Representative (FAR) Discussion Group
          3. 10.2.2.3 Software Design and Coding FAR Discussion Group
        3. 10.2.3 Benchmarking of Systems, Inc.
      4. 10.3 Strategic Planning for Process Improvement at Systems, Inc.
        1. 10.3.1 The Systems, Inc. Software Development Challenge
          1. 10.3.1.1 Scrum at Systems, Inc.
          2. 10.3.1.2 The Scrum Process
          3. 10.3.1.3 Roles in Scrum
          4. 10.3.1.4 Meetings/Activities in Scrum
          5. 10.3.1.5 Scrum Artifacts
          6. 10.3.1.6 Scaling Scrum in Big Projects
          7. 10.3.1.7 EKD, Patterns, and Scrum at Systems, Inc.
        2. 10.3.2 The Systems, Inc. Measurement Program
      5. 10.4 Summary and Conclusions
      6. References
  15. Index

Product information

  • Title: Process Improvement and CMMI for Systems and Software
  • Author(s): Ron S. Kenett, Emanuel Baker
  • Release date: March 2010
  • Publisher(s): Auerbach Publications
  • ISBN: 9781000687385