Stealing silently through darkened labs, lying in ambush behind stacks of design documents, the specter of multi-platform development is ever eager to snare another unwary development team. Its jaws are multifarious code changes and it claws eternal technical support. Its greatest weapon: The lack of development strategies that address multi-platform software development.

In the past, developers were not afflicted with the burdens of writing code that executed on a wide variety of platforms. A company who markets I/O cards, for example, might supply example programs or device drivers for a select group of real-time operating systems. But usually these were distinct software components that were maintained as separate products. Until relatively recently, entire embedded applications were not expected to execute on different hardware platforms, under different operating systems.