A typical software project can present more opportunities to learn from mistakes than some people get in a lifetime.
Steve McConnellSoftware projects fail for one of two general reasons: the project team lacks the knowledge to conduct a software project successfully, or the project team lacks the resolve to conduct a project effectively.
Steve McConnellEngineering is the application of scientific principles toward practical ends. If the engineering isn't practical, it's bad engineering.
Steve McConnellTrying to apply formal methods to all software projects is just as bad as trying to apply code-and-fix development to all projects.
Steve McConnell