The software industry moves unrelentingly toward new methods for managing the ever-increasing complexity of software projects. In the past, we have seen evolu- tions, revolutions, and recurring themes of success and failure. While software technol-ogies, processes, and methods have advanced rapidly, software engineering remains apeople-intensive process. Consequently, techniques for managing people, technologyresources, and risks have profound leverage.
List of Figures List of Tables Foreword Preface PART I SOFIWARE MANAGEMENT RENAlSSANCE CHAPTER 1 Conventional Software Management 1.1 The Waterfall Model 1.1.1 In Theory 1.1.2 In Practice 1.2 Conventional Software Management Performance CHAPTER 2 Evolution Of Software Economics 2.1 Software Economics 2.2 Pragmatic Software Cost Estimation CHAPTER 3 Improving Software Economics 3.1 Reducing Software Product Size 3.1.1 Languages 3.l.2 Object-Oriented Methods and Wsual Modeling 3.1.3 Reuse 3.1.4 Commercial Components 3.2 Improving Software Processes 3.3 Improving Team Effectiveness 3.4 Improving Automation through Software Environments 3.S Achieving Required Quality 3.6 Peer Inspections: A Pragmatic View CHAPTER 4 The Old Way and the New 4.1 The Principles of Conventional Software Engineering 4.2 The Principles of Modern Software Management 4.3 Transitioning to an lterative Process PART II A SOFTWARE MANAGEMENT PROCESS FRAMEWORK CHAPTER 5 Life-CycIe Phases 5.1 Engineering and Production Stages 5.2 Inception Phase 5.3 Elaboration Phase 5.4 Construction Phase S.5 Transition Phase CHAPTER 6 Artifacts of the Process 6.1 The Artifact Sets 6.1 .1 The Management Set 6.1 .2 The Engineering Sets 6.1.3 Artifact Evolution over the Life Cycle 6.1 .4 Test Artifacts 6.2 Management Artifacts 6.3 Engineering Artifacts 6.4 Pragmatic Artifacts CHAPTER 7 Model-Based Software Architectures 7.1 Architecture: A Management Perspective 7.2 Architecture: A Technical Perspective CHAPTER 8 Workflows of the Process 8.1 Software Process Workflows 8.2 Iteration Workflows CHApTER 9 Checkpoints of the Process 9.1 Major Milestones 9.2 Minor Milestones 9.3 Periodic Status Assessments PART III SOFTWARE MANAGEMENT DISCIPLINES CHAPTER 10 lterative Process Planning 10.1 Work Breakdown Structures 10.1. l Conventional WBS Issues 10.1 .2 Evolutionary Work Breakdown Structures 10.2 Planning Guidelines 10.3 The Cost and Schedule Estimating Process 10.4 The Iteration Planning Process l0.5 Pragmatic Planning CHAPTER 11 Project Organizations and Responsibilities 11.1 Line-of Business Organizations 11.2 Project Organizations 11.3 Evolution of Organizations CHAPTER 12 Process Automation 12.1 Tools: Automation Building Blocks 12.2 The Project Environment l2.2.1 Round-Trip Engineering 12.2.2 Change Management 12.2.3 Infrastructures 12.2.4 Stakeholder Environments CHAPTER 13 Project Control and Process lnstrumentation 13.1 The Seven Core Metrics 13.2 Management Indicators 13.2.1 Work and Progress 13.2.2 Budgeted Cost and Expenditures 13.2.3 Staffing and Team Dynamics 13.3 Quality Indicators 13.3.1 Change Traffic and Stability 13.3.2 Breakage and Modularity 13.3.3 Rework and Adaptability 13.3.4 MTBF and Maturity l3.4 Life-Cycle Expectations 13.5 Pragmatic Software Metrics 13.6 Metrics Automation CHAPTER 14 Tailoring the Process 14.l Process Discriminants 14.1.1 Scale 14.1.2 Stakeholder Cohesion or Contention l4.1.3 Process Flexibility or Rigor 14.l.4 Process Maturity 14.1.5 Architectural Risk 14.1.6 Domain Experience 14.2 Example: Small-Scale Project versus Large-Scale Project PART IV LOOKING FORWARD CHAPTER 15 Modern Project ProfiIes 15.1 Continuous Integration l5.2 Early Risk Resolution 15.3 Evolutionary Requirements 15.4 Teamwork among Stakeholders 15.5 Top l0 Software Management Principles 15.6 Software Management Best Practices CHAPTER 16 Next-Generation Software Economics 16.1 Next-Generation Cost Models 16.2 Modern Software Economics CHAPTER 17 Modern Process Transitions l7.1 Culture Shifts 17.2 Denouement PART V CASE STUDIES AND BACKUP MATERIAL APPENDIX A The State of the Pradice in Softwale Management APPENDlX B The COCOMO Cost Estimation ModeI B.1 COCOMO B.2 Ada COCOMO B.3 COCOMO II APPENDIX C Change Metrics C.1 Overview C.2 Metrics Derivation C.2.l Collected Statistics C.2.2 End-Product Quality Metrics C.2.3 In-Progress Indicators C.3 Pragmatic Change Metrics APPENDlX D CCPDS-R Case Study D.1 Context for the Case Study D.2 Common Subsystem Overview D.3 Project Organization D.4 Common Subsystem Product Overview D.5 Process Overview D.5.1 Risk Management: Build Content D.5.2 The Incremental Design Process D.5.3 Component Evolution D.5.4 The Incremental Test Process D.S.5 DOD-STD-2l67A Artifacts D.6 Demonstration-Based Assessment D.7 Core Metrics D.7.1 Development Progress D.7.2 Test Progress D.7.3 Stability D.7.4 Modularity D.7.5 Adaptability D.7.6 Maturity D.7.7 Cost/Effort Expenditures by Activity D.8 Other Metrics D.8.1 Software Size Evolution D.8.2 Subsystem Process Improvements D.8.3 SCO Resolution Profile D.8.4 CSCI Productivities and Quality Factors D.9 People Factors D.9.1 Core Team D.9.2 Award Fee Flowdown Plan D.l0 Conclusions APPENDlX E Process lmprovement and Mapping to the CMM E.1 CMM Overview E.2 Pragmatic Process Improvement E.3 Maturity Questionnaire, E.4 Questions Not Asked by the Maturity Questionnaire E.5 Overall Process Assessment Glossary References Index