Use of the Model-Based Design (MBD) processes is becoming increasingly common in embedded control system software as a means to manage software complexity, improve quality, and reduce development costs. The MBD process can achieve these goals by combining the design, simulation, and implementation of software features into a single, integrated workflow that reduces development effort and allows extensive software testing to be performed in simulation. In order to realize the full benefit of MBD, engineering organizations must invest resources intelligently in the tools, processes, and infrastructure to avoid common mistakes and pitfalls.