INFO 310 - April 27, 2004 - Prototyping Notes By: Fortier, Prins Prototyping > Prototyping is an information-gathering technique > Prototypes are useful in seeking user reactions, suggestions, innovations, and revision plans > Prototyping may be used as an alternative to the systems development life cycle Initial User Reactions > Reactions muse be gathered from users > There are three types - User suggestions - Innovations - Revision plans Kinds of Prototyping: 1. Patched-Up Prototype - It works, but is patched together - Has all the necessary features but is insufficient - May be Unstable - User can interact with the system - May contain only basic features - Storage and retrieval of data may be inefficient 2. Non-operational Prototype - Non-working but setup to test the scale of certain aspects of the design - Such as scale models used in testing certain features - Might be produced when coding required would be too extensive - Useful insight can be gained - Prototype input and output 3. First-of-a-Series Prototype - Full scale model of a system, or a pilot - Completely operational - Useful for when multiple installations of the same system are planned - An example is a system to be installed in one location, tested and modified as necessary, and later implemented in other locations 4. Selected Features Prototype - Operational but includes some, but not all of the planned features - Essential features are included - NOT mockups, but working parts of the actual system - System is built on modules - Some menu items are available Users cannot know what they do or do not want until they see something tangible. Eliciting user feedback results in improved interfaces that better address user requirements. Prototyping As an Alternative to the Systems Life Cycle > Two main problems with the SDLC - Extended time required to go through the development life cycle - User requirements change over time - Prototyping may be used as an alternative Guidelines for developing a Prototype: 1. Work in manageable modules - Separating and building features independently - Allows precise interaction 2. Build the prototype rapidly - Speed is essential - Allows gain of valuable insight into how the remainder of the project should go 3. Modify the prototype in successive iterations - Construction must support modifications - Changes should move closer to what the users say is important 4. Stress the user interface - Users must be able to interact easily with the system's prototype - While many aspects of a system may be underdeveloped, the user interface must be well developed Prototype Disadvantages: Can be difficult to manage prototyping as a project in the larger systems effort. Possible to adopt a prototype that is a complicated system when it was never intended to serve as a finished system. Requires feedback on the prototype Prototype Advantages: Potential for changing a system early in development or stop development on a system that is clearly not working. Opportunity to more closely address users' needs and expectations. Opportunity to stop development on a unworkable system Prototype Evaluation > Systems analysts must work systematically to elicit and evaluate users' reactions to the prototype > Three ways the user is involved - Experimenting with the prototype - Giving open reactions to the prototype * Use a prototype evaluation form - Suggesting additions to and/or deletions from the prototype Users need to be free to experiment with the prototype. (ex: Interactive web site) Prototyping on the Web > Prototyping on the Web can help to facilitate the prototyping process by - Allowing users at a distance to review the prototype and send comments - Allowing users to review the prototype when they have time, and on any machine that has Internet capabilities - The analyst does not have to install the software on the user's computer