Describe the steps involved with the Rapid Evolutionary Prototyping Approach
as it applies to developing a Web application. How is it related to agile development?
As defined by the IEEE, Prototyping is "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" (Booth and Kurpis, 1993).
In web application development, for example, a prototype might be one web page displaying some data from the database, with rudimentary navigation. It could be a web form, or a registration page. Basically, a prototype is a partial realisation of the proposed system. It provides tangible evidence to users that their application actually is becoming a reality - something that, during the course of my employment as a Business Analyst, I have observed to often be crucial to the success or failure of a project. Prototyping allows users and developers to test overall design, functionality and usability, as the system is being developed.
The Rapid Evolutionary Prototyping approach consists of four stages: collection and definition of user requirements; development and implementation of prototype; testing and feedback by users and developers; and iteration. The flowchart below is a good illustration of this process.

(sourced from: Kurbel, K.E. (2008) "The Making of Information Systems: Software Engineering and Management in a Globalised World" on Google Books)
This approach sees the prototype changed and refined with each implementation, including feedback from user and developer testing from previous iterations. Unlike some other forms of prototyping, the final system is derived from the development and refinement of the original model. Benefits of this approach include the ability to detect previously unrealised requirements; speed of development; flexibility; less concentration on documentation (always a plus!); and increased user involvement.
Ironically, Agile Development has evolved from the Rapid Evolutionary Approach, with which it has much in common. The difference between Agile Development and other iterative approaches, according to Wikipedia, is the shorter length of time between development releases, and its highly collaborative nature.
as it applies to developing a Web application. How is it related to agile development?
As defined by the IEEE, Prototyping is "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" (Booth and Kurpis, 1993).
In web application development, for example, a prototype might be one web page displaying some data from the database, with rudimentary navigation. It could be a web form, or a registration page. Basically, a prototype is a partial realisation of the proposed system. It provides tangible evidence to users that their application actually is becoming a reality - something that, during the course of my employment as a Business Analyst, I have observed to often be crucial to the success or failure of a project. Prototyping allows users and developers to test overall design, functionality and usability, as the system is being developed.
The Rapid Evolutionary Prototyping approach consists of four stages: collection and definition of user requirements; development and implementation of prototype; testing and feedback by users and developers; and iteration. The flowchart below is a good illustration of this process.

(sourced from: Kurbel, K.E. (2008) "The Making of Information Systems: Software Engineering and Management in a Globalised World" on Google Books)
This approach sees the prototype changed and refined with each implementation, including feedback from user and developer testing from previous iterations. Unlike some other forms of prototyping, the final system is derived from the development and refinement of the original model. Benefits of this approach include the ability to detect previously unrealised requirements; speed of development; flexibility; less concentration on documentation (always a plus!); and increased user involvement.
Ironically, Agile Development has evolved from the Rapid Evolutionary Approach, with which it has much in common. The difference between Agile Development and other iterative approaches, according to Wikipedia, is the shorter length of time between development releases, and its highly collaborative nature.


No comments:
Post a Comment