Eigenpoll : Best Practices for Software Development : Written Requirements and Specs 

A fulled written set of functional requirements and technical specifications prior to writing code. Proper planning leads to a more solid and effective solution.