My group member James Long (SAD111472252) had mentioned prototyping in one of his previous blogs, I intend on building on this by going into depth on the topic.
The Prototyping approach is now common in the world of IS because of failures that occurred in the final version of the software application developed using the waterfall approach.
A prototype is the sample implementation of the system that shows limited and main functional capabilities of the proposed system. After a prototype is built, it is then delivered to the customer for the evaluation. The prototype helps the customer determine how the feature will function in the final software. The customer can provide various suggestions and improvements on the prototype.The development team implements the suggestion in the new prototype, which is again evaluated by the customer. The process continues until the customer and the development team understands the exact requirement of the proposed system. There are four different prototypes which are organized in the following order: Illustrative prototype, Functional prototype, Throwaway prototype and the Evolutionary prototype.
Illustrative Prototype: This prototype is designed to illustrate and provide feedback for particular IS projects. At this stage, if the prototype doesn’t appeal to the customer it can be discarded at first sight and a new prototype can be created. Some of the key features of the illustrative prototype are follows:
- Set of storyboards
- Good for first dialogue with the client
- Easy to build
Functional Prototype: This is the stage where a working system is created. It will have minimal functionality but it will enable customer’s to interact with the system. Why create a functional prototype? Nearly 50 percent of designs are late or never reach market and nearly 30 percent fail after release, according to “Embedded Software Development: Issues and Challenges” (July 2003). The Functional Prototyping Series discusses the various challenges associated with the design process from concept to deployment, providing customer’s with valuable information on how to save time and money in the process.
Throwaway Prototype: After preliminary requirements gathering, a simple working model of the system is constructed. This visually shows the users what their requirements may look like when they are implemented into the finished system, ready for use.Prototypes that are eventually discarded rather than becoming a part of the finally delivered software. Examples of throwaway prototypes include screen mock-ups and story boards.
Evolutionary Prototypes: prototypes that evolve into the final system through iterative incorporation of user feedback. We did not learn about this form of prototype in lecture’s but it is interesting to note that such a prototype exists. Unlike the final prototype which we have came accustomed to (Throwaway), in this model the prototype is actually used by the customer for real.
Evolutionary Prototyping Diagram: