The Practical Guide to Defect Prevention (Best Practices): Techniques to Meet the Demand for More-Reliable Software