Software Project Survival Guide: How to Be Sure Your First Important Project Isn't Your Last. Redmond, Wa.: Microsoft Press, 288 pages, 1997. Retail price: $24.99. ISBN: 1-57231-621-7. Available from Microsoft Press 1-800-MS-PRESS (1-800-677-7377).

Buy SPSG from in paperback or Kindle formats or from O'Reilly in Ebook format.

Detailed Contents 

Also see SPSG's top level 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



Email me at