Prototyping Environment Requirements for rapid application development Prototyping “It is easier to tell what you don’t like about an existing system than to describe what you would like in an imaginary one” A.M. Jenkins, 1983 Tactic Evolution Throwaway Life Cycle component The Prototyping Process Identify Initial Requirements Develop System Use and Evaluate Document and Install Iterate Roles User Intermediary Builder Technical Support Toolsmith Responsible for business solutions Run system for user Write code for application Supports the development tools Build basic tool modules (often work for software houses) Choice Life Cycle Prespecification possible Changes expensive Good project communication Static model OK Rigorous approach useful Iteration unacceptable Prototype Prespecification difficult Quick tools work Communications gap Animated model needed Rigor after requirements Iteration accepted Factors Favoring Prototyping Structure: interactive, on-line (OLAP) Logic: structured but not algorithmic DSS applications are often data-report types User: competent and active participant Time Constraint: not a crash project Management: willing to work with method Size: not overly large or complex Factors Favoring Prototyping Problem: imprecise specifications, poorly defined communications, interactive model needed Why not use prototyping Builders Added Value (Professional Design) Date and time stamps Control totals Audit trails Common interface feel Additional functions Testing Prototyping Tactics Normalize data to 3NF Use component engineering Use existing components Assemble from existing parts Reuse pieces Create pieces so that they can be reused Cut and paste Keep a set of examples Prototyping Tactics Use active data dictionaries Automate documentation Keep teams small Integrated software workbench tools Specify objectives not procedures Provide end-user report writing tools Use professional prototypers Have systems developers work with prototypers Project Management Initial Model: 2-6 weeks Must be fast enough to maintain interest Revisions: immediate - 2 weeks Chargeback: use charges to avoid frivolous changes Approval: determine the group who approves iterations Sign off: formal acceptance