The systematic design of instruction has long been recognized as a key to the successful development of effective and appropriate materials (Dick & Carey, 1990;Gagné & Briggs, 1979;Rothwell & Kazanas, 1997). Early developers of computer-based instruction (CBI) recognized the difficulty in successfully taking a CBI project from conception to delivery. To help manage the complexity of the development process, they adopted methods and techniques created in the computer industry for managing software development projects. Many of these early software development methods were adaptations of the "waterfall approach" (Yourdon & Constantine, 1978), a highly structured method for project management that delineates the design process into clearly defined phasesanalysis, design, implementation, testing, and delivery. The metaphorical implications of the waterfall approach are obvious: Each phase has a clearly defined output, and this output provides the input to the next phase. The purpose of the analysis phase is to produce the specification of the new application. It states what the new application should do, but does not describe how it will be accomplished. The design phase results in the specification being translated into a paper-based design of the system. In the implementation phase, this design is finally realized as a computer program-then tested in the testing phase-before it is delivered to the customer in the delivery phase. The waterfall approach did improve project management for CBI developers, but it was a method adopted from software engineering that did not sufficiently focus on the instructional aspects of computer applications.As the CBI field matured, development