Etiquetas

, , , ,

To see the differences between this two methodologies lets see their features.

Waterfall Methodology

-The documentation is very important , all the document referents to architecture must be done before the coding start

-Waterfall suppose that there will not be change along the development of the final product

– Start up whit the requirements gathering

– Are based on the contract, for that reason the requirements of the client and the documentation is so important

-Its development is document driven

-The integration of different modules occur and the end

-The communication with the bussines people only occur at the beginning of the project

-It’s focused on analysis and design for that reason relies on the architects and designers

– The final product is not only composed by the software itself  but can include  the documentation , the user manual and others.

-Each developer is in charge of one different area of the development

Agile Methodology

-It’s based on iteration, each iteration must release a end to end functionality

– It’s focused on time, at the end of each iteration the application should be production ready

– It’s designed to high degree of change

– Its  flexible process allow introduce change in a reliable way along the development

– Architecture and documentation are incremental during the project

-The development is based on the completion of functionalities in short iterations

-Required knowledgeable developers in all the technologies used

-Relies  on developers

– Make use of engineering practice like TDD , refactoring and others

-The integration is continuous

-The bussines people are part of the project , they provide continuous feddback for developers and management

How you can see Waterfall could be a alternative for projects where documentation are very important , there will not be changes on the requirements and software must comply with certain regulations. On the other hand  Agile is more suitable for projects where the time is crucial , could exist several changes and documentation is not part of the final product. Agile is not a closed process, it is more like a philosophy which foundations are the Agile Manifesto.

Para ver las diferencias entre estas dos metodologías veamos sus características.

Metodología Waterfall

-La documentación es muy importante, todos los documentos referentes a la arquitectura  deben hacerse antes de comenzar el desarrollo

– Waterfall supone que no habrá cambios a lo largo del desarrollo del producto final

-Empieza con la recopilación de los requisitos

– Se basan en el contrato, por eso los requisitos del cliente y la documentación es tan importante

-Su desarrollo está dirigido por la documentación

-La integración de los diferentes módulos se producen al final

-La comunicación con las personas que conocen la lógica del negocio sólo se producen al inicio del proyecto

-Esta centrado en el análisis y el diseño para ello se apoya en los arquitectos y diseñadores

– El producto final no está compuesto únicamente por el propio software, sino que puede incluir la documentación, el manual de usuario y otros.

-Cada desarrollador está a cargo de un área diferente del desarrollo
Metodología Ágil


-Esta basado en la iteración, cada iteración debe liberar una nueva funcionalidad completa

– Se centra en el tiempo, al final de cada iteración la funcionalidad desarrollada debe estar lista para ponerse en produccion

– Está diseñada para soportar altos grados de cambios

– Su proceso flexibles permiten establecer cambios de forma fiable a lo largo del desarrollo

– La Arquitectura y la documentación son incrementales durante el desarrollo del proyecto

-El desarrollo se basa en la realización de funcionalidades en iteraciones cortas
– Se requerido desarrolladores con altos conocimientos en todas las tecnologías utilizadas
-Se soporta en los desarrolladores

– Hacer uso de prácticas de ingeniería como TDD,  refactorización y otros

-La integración es continua

-El los conocedores de la lógica del negocio (gerentes, directivos, etc) son parte del proyecto y proporcionan feddback continuo hacia los desarrolladores.
¿Cómo se puede ver la WaterFall puede ser una alternativa para proyectos en los que la documentación es muy importantes, donde no  habrá cambios de los requisitos y el software debe cumplir con ciertas normas. Por otra parte Agile es más adecuado para proyectos en los que el tiempo es crucial, podrían existir varios cambios y la documentación no es parte del producto final. Agile no es un proceso cerrado, es más  una filosofía fundamentada en el Manifiesto Ágil.