Continuing on from looking at the Fountain model last time, I’ve decided to cover another SDLC model in this post – Prototyping or ‘RAD’ model 🙂
Prototyping was developed as a software development model to compensate for shortcomings found in using the Waterfall model. The Waterfall approach, while a good starting point, has it’s limitations. Often it’s found that the development team lack an understanding of what the customer really needs, as they are pre-occupied with following the time-consuming step-by-step approach.
Prototyping involves the provision of numerous prototypes (as you might expect) of different elements of the overall software. The customer then evaluates this system element prototype and gives valuable feedback which will shape the design of the next prototype they are given. This means the customer has a much more ‘hands on’ involvement with the software development and the results are more likely to be favourable.
A good example of real-life users of this model would be e-commerce websites. A site like eBay for example. When deciding on a product purchase interface for customers, they will see many prototypes first so as to choose the most appealing one.
There are 2 types of protoypes: Throwaway and Evolutionary
Throwaway prototypes – These are protoypes that are not intended to become part of the finished software. Examples would be storyboards or basic mock-ups.
Evolutionary prototypes – These eventually become part of the finished software through iterative incorporation of customer feedback (ie including points which the customers noticed could be improved, until the finished model contains all improvements)
I think Prototyping is a better alternative to Waterfall. This being said, there is a danger that too much time can be spent on the development of fast prototypes while not enough can go into the overall finished software.
That’s it! My last posts have been pretty negative towards the Waterfall model so here’s a lovely picture of a lovely waterfall to make up for it.