The normal development process makes use of two techniques for speeding up the delivery of working code. They both rely on an efficient use of the facilities provided in the SDK to work with subsets of the eventual machine environment.
Code for any low level engines can be developed using a simple console application as a test harness. Such code can then be integrated into the user interface of the final product once it is known to work reliably.
All initial development and debugging can be done using the highly efficient tools available when using the WINS environment.
Communications software developers should be aware that these processes do not deliver test code that is a true subset of the final release code. Console applications have to ensure that they undertake certain housekeeping chores that would normally be handled by a GUI, while WINS software builds are unavoidably going to use different hardware to that used by target builds.