lunes, 22 de septiembre de 2008

 

Métodos Ágiles (parte II)

Casos donde no conviene usar métodos ágiles
Las propias prácticas de los métodos ágiles limitan o descartan su uso en algunos proyectos. A continuación se detallan algunos casos donde no conviene usar métodos ágiles.
- Aplicaciones distribuidas. Las pruebas unitarias son complicadas de aplicar entre componentes. Sería necesario construir una arquitectura de pruebas para probar directamente los componentes, que podría ser tan complicada como el sistema que se desea construir.
- Aplicaciones que requieren seguir un diseño estricto. Por ejemplo: sistemas operativos, software de telecomunicaciones.
- Aplicaciones que requieren una documentación exhaustiva. Por ejemplo: sistemas militares, médicos o industriales.
- Aplicaciones basadas fundamentalmente en interfaces gráficas de usuario: No es fácil aplicar pruebas unitarias a las interfaces gráficas.
- Aplicaciones con código heredado. Habría que reescribir todo el código heredado siguiendo los principios ágiles.
- Proyectos muy grandes. La comunicación entre los miembros del equipo es difícil de conseguir.
- Proyectos escritos en lenguajes no orientados a objetos. Lenguajes como C, Pascal, Cobol o Fortran hacen imposible técnicas como la refactorización.
- Aplicaciones donde la escalabilidad o la eficacia sean importantes. La escalabilidad o la eficacia no son características que se pueden añadir durante el proceso del desarrollo del software o que puedan obtenerse refactorizando: deben considerarse desde un principio.

Características
- Basadas en heurísticas provenientes de prácticas de producción de código
- Especialmente preparados para cambios durante el proyecto
- Impuestas internamente (por el equipo)
- Proceso menos controlado, con pocos principios
- No existe contrato tradicional o al menos es bastante flexible
- El cliente es parte del equipo de desarrollo
- Grupos pequeños (<10 integrantes) y trabajando en el mismo sitio
- Pocos artefactos
- Pocos roles
- Menos énfasis en la arquitectura del software

Metodologías ágiles
- XP, o Programación Extrema, es uno de los ejemplos más exitosos de metodología ágil.
- Scrum
- Crystal
- Evolutionary Project Management (Evo)
- Feture Driven Development (FDD)
- Adaptive Software Developmen(ASD)
- Lean Development (LD) y Lean Software Development (LSD)
- RUP Ágil, existiendo dos variantes AUP y EUP
- RAD

Ventajas de las metodologías ágiles
Las metodologías ágiles presentan diversas ventajas como:
- Rápida respuesta a cambios de requisitos a lo largo del desarrollo.
- Entrega continua y en plazos cortos de software funcional.
- Trabajo conjunto entre el cliente y el equipo de desarrollo.
- Minimiza los costos frente a cambios.
- Importancia de la simplicidad, al eliminar el trabajo innecesario.
- Atención continua a la excelencia técnica y al buen diseño.
- Mejora continua de los procesos y el equipo de desarrollo.
- Evita malentendidos de requerimientos entre el cliente y el equipo.
- El equipo de desarrollo no malgasta el tiempo y dinero del cliente desarrollando soluciones innecesariamente generales y complejas que en realidad no son un requisito del cliente.
- Cada componente del producto final ha sido probado y satisface los requerimientos.

Comentarios: Publicar un comentario

Suscribirse a Enviar comentarios [Atom]





<< Inicio

This page is powered by Blogger. Isn't yours?

Suscribirse a Entradas [Atom]