In generale, sì, i suggerimenti nel libro sono applicabili a qualsiasi progetto software. Nella sezione "Preliminary Survival Briefing" del libro, Steve McConnell scrive:
The plan described in the following chapters has been crafted to
address the most common weaknesses that software projects face. It is
loosely based on the "key process areas" identified by the Software
Engineering Institute (SEI) in Level 2 of the SEI Capability Maturity
Model. The SEI has identified these key processes as the critical
factors that enable organizations to meet their schedule, budget,
quality, and other targets. About 85 percent of all organizations
before below Level 2, and this plan will support dramatic improvements
in those organizations. The SEI has defined the key process areas of
Level 2 as follows:
- Project planning
- Requirements management
- Project tracking and oversight
- Configuration management
- Quality assurance
- Subcontract management
This book addresses all of these areas except subcontract management.
Il Capability Maturity Model Integration (CMMI) ha sostituito il Capability Maturity Model e con CMMI arrivano aree di processo per team di sviluppo prodotto integrati, ingegneria dei requisiti aggiuntivi e attività di gestione del rischio, che consentono ulteriormente lo sviluppo agile all'interno del framework CMMI. Tuttavia, ciò non significa che aderire alla CMM prevenga metodi agili.
In particolare, si menziona la consegna del software in fasi e sembra essere in contrasto con i metodi usati in Extreme Programming e Scrum. In iterazione o sprint, si passa effettivamente attraverso ogni fase: raccolta dei requisiti e definizione delle priorità, stima, interruzione del lavoro, progettazione, implementazione, test e rilascio. Nelle metodologie agili più tradizionali, quelle sono iterazioni estremamente brevi di 2 settimane, mentre nel modello a spirale potrebbero essere 6 mesi o più. Le differenze sono quanto puoi fare in una particolare iterazione e come pianifichi e budget che funzionano.