Software Project Survival Guide

This material is Copyright © 1997-1998 by Steven C. McConnell. All Rights Reserved.

Buy SPSG from or get the best deal from DealPilot

Also see SPSG's top level contents.

Detailed Contents

Preliminary Survival Briefing
Who Should Read This Book * Kinds of Projects That Can Use This Book * A Note to Advanced Technical Readers * This Book’s Foundation * Acknowledgments


1 Welcome to Software Project Survival Training
Survival Needs * Survival Rights * Survival Checks

2 Software Project Survival Test
Survival Test Questions * Interpreting the Survival Test

3 Survival Concepts
The Power of "Process" * Upstream, Downstream * Cone of Uncertainty

4 Survival Skills
Planning * Planning Checkpoint Review * Risk Management * Project Control * Project Visibility * Peopleware * User Involvement * Product Minimalism * Focus on Shipping Software

5 The Successful Project at a Glance
Intellectual Phases * Project Flow * Planning Phases * Staff Buildup * Code Growth Curve * Major Milestones and Deliverables


6 Hitting a Moving Target
Change Control Procedure * Change Control Benefits * Common Change Control Issues * Committing to Change Control

7 Preliminary Planning
Project Vision * Executive Sponsorship * Project Scope Targets * Publicizing Plans and Progress * Risk Management * Personnel Strategies * Time Accounting * The Software Development Plan

8 Requirements Development
Overview of the Requirements Development Process * Identify a Set of Key End Users * Interview the End Users * Build a Simple User Interface Prototype * Develop a Style Guide * Fully Extend the Prototype * Treat the Fully Extended Prototype as the Baseline Specification * Write the Detailed End-User Documentation Based on the Prototype * Create a Separate, Non-User-Interface Requirements Document

9 Quality Assurance
Why Quality Matters * The Quality Assurance Plan * Defect Tracking * Technical Reviews * System Testing * Beta Testing * Work Products Covered by the Quality Assurance Plan * Supporting Activities

10 Architecture
Easing Into Architecture * Characteristics of a Good Architecture * How to Tell When Architecture is Complete * The Software Architecture Document

11 Final Preparations
Project Estimates * Staged Delivery Plan * Ongoing Planning Activities


12 Beginning-of-Stage Planning
Why Is Stage Planning Needed? * Stage Planning Overview * Miniature Milestones * Stage Planning and Management Styles

13 Detailed Design
Architecture Revisited * How Much Detailed Design Does a Project Need? * Technical Reviews * Detailed Design Documents * Special Considerations for Stage 1 of the Project

14 Construction
Source Code Quality * Software Integration Procedure * Daily Build and Smoke Test * Special Considerations for Stage 1 * Tracking Progress * Controlling Changes * Staying Focused * Is That All There is to Construction?

15 System Testing
Test Philosophy * Test Group’s Support for Daily Builds * Developer’s Support for System Testing * Strategic Quality Assurance

16 Software Release
Treating Releases Seriously * When to Release* Release Checklist * Release Sign-Off Form

17 End-of-Stage Wrap-Up
Hold an Omnibus Change Board Meeting * Recalibrate Estimates * Evaluate Performance Against the Project Plan * Archive All Project Media * Update the Software Project Log


18 Project History
Gathering Project Data * Software Project History Document * Preparing the Project History Conclusions for Use on Future Projects * Distributing Copies of the Software Project History

19 Survival Crib Notes
NASA’s Success Checklist * Other Survival Resources