A Proven Rapid Application Design Method - Prototyping
Many projects are implemented using rapid prototyping tools. These are designed to quickly develop a small application that may mimic the eventual system look, feel and functionality. The prototype, however, is prepared quickly and may not have much, (if any), actual abilities at first. The systems used to design many prototypes are quite complex and expensive in terms of their cost and users' time. Traditional prototyping generators are likely not an option for many smaller organizations.
Luckily, smaller development efforts can utilize the principles of rapid prototyping at a fraction of the regular costs. In fact, except for staff time, prototype applications can be developed for free or at minimal cost. The trick is to use existing design software for the purpose.
Most all organizations now have various drawing or presentation tools installed. Applications such as PowerPoint, OpenOffice Draw, etc, can be used to generate prototypes. These will be useful for design discussions only. There can be no actual application logic in the prototype. Instead, a reasonable collection of screens, menus and images can be constructed, completely within the presentation tool. This is like a "straw dog", (looks like a dog but can't bark), and it can really help with the project implementation phase. If your organization does not yet have a suitable presenation or drawing tool available, you may want to consider installing such an application. While commercial products such as Microsoft PowerPoint are available in the market, the Open Office tools are free for anyone to use for any purpose.
Consider that a project must deliver a comprehensive application by a certain date, an application that is entirely new. Without a working model to view, many people will not be able to adequately discuss the requirements of the finished system. The presentation prototype gives a realistic view of what the finished system will look like. Users and developers can review the screens and menus by viewing a presentation slide show. With an actual set of images to review, users will be more likely to provide valuable design pointers to the application development staff. This can be at the earliest project phase, as well, when the cost of change is at its lowest. Since the entire discussion tool is within a presentation tool at this point, a few moments to change a slide will adequately capture required changes.
In this example, a presentation slide shows how a potential customer data screen may appear. The data elements required by the system are shown in a reasonably authentic view. Developers, designers, system users and any other stakeholders can view the screen either in a group or individually. With an actual screen to view, everyone can provide comments and point out possible problems. Perhaps this new system requires that a customer's web site should be saved along with their name and address. A couple of minutes in the presentation tool will allow this data element to be added to the prototype. Such additions later in the planning or implementation process will be significantly more expensive. This is a trivial example, but the principles of rapid development still apply.
Rapid prototype development using a presentation tool can be both a time and cost saving device for project managers. Time spent designing simple slides to represent the finished system will usually translate into a better finished product. Unlike a working model application, the presentation slides are easily modified by the most junior of staff members. As well, additional functionality can be added by way of an extra few slides without having to consider costs. Similarly, design elements can be removed as necessary to reflect the screens of the final system.
These presentation tools may also be used to graphically depict program logic flow. The standard calling sequence, (screen A calls screen B, calls screen C, etc.), can be shown on additional slides. These would appear as boxes or other symbols that effectively show application elements. Lines drawn on the slide to link such elements would represent the logic flow. This is a practice that can be used in addition to other design tools such as use case diagrams. Those tend to show abstract logic which can be implemented in various ways. Presentation prototypes, however, can effectively define the finished look of an application, leaving the actual logic for later inclusion.
Some development companies have been able to utilize staff writers in the development of their presentation prototypes. Given the roughest of application layouts, such staff are able to generate the required presentation due to their skill with the drawing tools. As all staff become experienced, system designers can mark up useable specifications on various media such as paper or a whiteboard. The staff writers take these and produce the necessary slides. The division of labor along these lines helps to streamline the process for efficiency. This is, of course, a major goal of the rapid prototype method. The usual fact that staff writers are less costly than system designers is an added bonus for most project budgets.
An added benefit for firms that create presentation prototypes is the ability to better document the development process. Each of the created versions can be date stamped and stored in an archive folder. Depending on the level of control required in the organization, a simple control sheet could be included with each version. This sheet would document changes made in the current version, reasons for such changes and the dates that the version was shown to viewers. The control sheet could also contain fields allowing for the acceptance of included changes. Larger development projects may want to consider a more formal system that tracks changes, approvals and versions.
Project managers are cautioned that the presentation prototypes that may be developed during rapid application design may prove to more difficult for quality control than formal tools. This is due to the fact that data stored in the presentation, (such as user comments, approvals, etc.), will be available for display only. There would be no way to easily extract such data into a report listing changes approved by particular people by date. Still, the use of presentation tools for the creation of application prototypes is an expensive method to get project planning underway.