Bad design is like a virus: design defects and latent failures