Creation of Software Specifications, stating what is going to be
developed, combined with formal sign off, an executive sponsor and approval
mechanism. This is NOT a living document, but additions are placed in a
deferred or out of scope section for later incorporation into the next cycle
of software development.
A Technical Specification, stating how precisely the thing specified in
the Software Specifications is to be developed will be used. This is a
living document.
Peer Review of Code (Code Review) with metrics that allow developers to
walk through an implementation, and to suggest improvements or changes.
(Note - This is problematic because the code has already been developed, and
a bad design potentially cannot be fixed by "tweaking".) The Code Review
gives complete code a formal approval mechanism.
Version Control - a very large number of organizations have no formal
revision control mechanism or release mechanism in place.
The idea that there is a "right way" to build software, that it is a
scientific process involving engineering design and that groups of
developers are not there to simply work on the problem du jour.