Removing defects is good; removing defects early in the process is better. This can be achieved using executable models that can be translated directly into code. The code will also require verification, and the tools and environments used through the different stages must link seamlessly back to the models. Early defect removal reduces the “big bang” effect when the system is integrated, and gives managers and developers time to respond to any serious problems.