Describe the steps involved with Rapid Evolutionary Prototyping Approach as it applies to developing a Web application. How is it related to agile development?
A type of development in which emphasis is placed on developing prototypes early in the development process to permit early feedback and analysis in support of the development process.
From experience in both waterfall and agile projects for the development of many web applications, a prototype helps the customer realise the proposed system and can bring about new ideas and changes. This however can have many benefits and pitfalls. Some benefits include being able to adapt to change quickly and effectively so that your web site really matches what the user wants. However this can also lead to scope creep and too much change leading to projects never ending. But, I believe that prototyping is a crucial key to the success of a project. It allows users to interact (be it limited at the start) to interact and provide necessary feedback in the early stages of the development, so that it can limit the chances of those fundamental changes all developers dislike (i.e. complete rewrite of the internal workings of the application because something was overlooked from the start).
Here are the steps involved in Rapid Evolutionary Prototyping Approach for a web application has four stages:
1. Collection and definition of the user requirements
2. Development and implementation of the prototype
3. Testing and feedback by users and developers
4. Moving on to the next iteration.. (i.e. going over the first 3 stages again and again till completing the application)
By using this approach from the beginning of the development of the web application the prototype is refined and evolved overtime through each implementation, which includes feedback from users/stakeholders and testers of the system. The benefit is that you have a system that really matches what the stakeholders and users want; detects hidden requirements, and fundamental changes earlier on in the process; provides better flexibility, and speed to development and implementation as requirements are done in iterations and not all up front before the development starts starts.
Agile methodologies evolved from the Rapid Evolutionary Approach. The stages themselves are very similar, in that requirements, feedback, and development of the prototype are key. However the key main differences is that it time boxes releases into shorter time spans, such as weeks (i.e. 2 weeks) rather than months, and the work is very highly collaborative with daily stand ups with all team members to keep track of where development and testing are in the iteration.
No comments:
Post a Comment