A process for hitting paydirt
B. Curtis · 2005
The fundamentals of software engineering lie in establishing and controlling a process that gives engineers time to execute their skills and allows them to maintain project coordination. When these fundamentals are weak software development resembles thrashing, with the customer receiving the worst of it. Tools and design methods were not designed to solve these problems. Without a fundamentally sound process to protect their use, advanced technologies will have little chance to score impressively. People in crisis rarely use their tools well. The Software Engineering Institute's Capability Maturity Model for Software was designed to help establish sound fundamentals for building software. Its initial focus is on strengthening the project management and organizational deficiencies that so often confound good software developers.