Pages

Sunday, March 14, 2010

EXERCISE 2: Finding some common ground

1. 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?


Rapid Evolutionary Prototyping is an approach to prototyping where a series of prototypes are produced and the final version becomes the production system. This approach to prototyping is very dependant on having a reasonably accurate model of the system to build.

In terms of Web application development this approach requires that firstly the project team develop an accurate model of the system to build. The important consideration in this part of the process is to define “what” the system will do, not “how” it will be done. Once this is done portions of the web application are prototyped, tested, approved and then implementing the prototype. The process of prototyping and then implementation continues until the final prototype, that is, the production system is completed. For, example the parts of a web application can be split up and each component delivered separately as a prototype, each being added to the previous prototype.

Rapid Evolutionary Prototyping shares some similarities with Agile development in that they both are geared to delivery of the application quickly. Both methods believe in starting development and delivering solutions through iterations that each add to the final product. Both are domain-driven development methodologies.

There are some significant differences however. In Agile development, the requirements are typically not so well defined prior to development. As, such Agile development caters for changes in requirements. The Agile process looks to minimise the amount of documentation and focus activities on actually development – “the art of maximizing the amount of work not done”. As a result of this, the Agile process also requires a close working relationship with the business throughout the process; in fact a business representative is part of the team. Additionally, communications is an extremely important concern for Agile software development, so teams are kept small and are situated together in an open office which promotes face-to-face communication.

References

http://agilemanifesto.org/principles.html
http://en.wikipedia.org/wiki/Agile_software_development
http://www.computer.org/portal/web/csdl/doi/10.1109/TSE.2002.1033222

No comments:

Post a Comment