In some cases, we can recover nicely with few long-lasting effects.
Recovery is difficult and painful.
Because bad things must be avoided, we need discipline when software is designed and built. We need an engineering approach. Today, it is recognized as a subject worthy of serious research, conscientious study, and tumultuous debate. Software process models, software engineering methods, and software tools have been adopted successfully across a broad spectrum of industry applications. A Practitioner's Approach is intended to serve as a guide to a maturing engineering discipline.