Software Life Cycle Comparison Table

Life Cycle Model Capability Pure Waterfall Code-and-Fix Spiral Modified Waterfall Evolutionary Prototyping

Staged Delivery

Evolutionary Delivery Design-to-Schedule Design-to-Tools Commercial Off-the-Shelf Software
Works with poorly understood requirements Poor Poor Excellent Fair to excellent Excellent Poor Fair to excellent Poor to fair Fair Excellent
Works with poorly understood architecture Poor Poor Excellent Fair to excellent Poor to fair Poor Poor Poor Poor to excellent Poor to excellent
Produces highly reliable system Excellent Poor Excellent Excellent Fair Excellent Fair to excellent Fair Poor to excellent Poor to excellent
Produces system with large growth envelope Excellent Poor to fair Excellent Excellent Excellent Excellent Excellent Fair to excellent Poor N/A
Manages Risk Poor Poor Excellent Fair Fair Fair Fair Fair to excellent Poor to fair N/A
Can be constrained to a predefined schedule Fair Poor Fair Fair Poor Fair Fair Excellent Excellent Excellent
Has low overhead Poor Excellent Fair Excellent Fair Fair Fair Fair Fair to excellent Excellent
Allows for midcourse corrections Poor Poor to excellent Fair Fair Excellent Poor Fair to excellent Poor to fair Excellent Poor
Provides customer with progress visibility Poor Fair Excellent Fair Excellent Fair Excellent Fair Excellent N/A
Provides management with progress visibility Fair Poor Excellent Fair to excellent Fair Excellent Excellent Excellent Excellent N/A
Requires little manager or developer sophistication Fair Excellent Poor Poor to fair Poor Fair Fair Poor Fair Fair

 

Note: Table above is from Rapid Development book from Microsoft Press, Copyright © 1996