Metodologías ágiles en el desarrollo de software

r

Las metodologías ágiles surgen como respuesta a las metodologías “pesadas”. Identificado como menos orientados al documento, exigiendo una cantidad mas pequeña de documentación para una acción. En muchas maneras son orientados a código: siguiendo un camino donde el código fuente es lo más importante de la documentación.

Modelos

XP (Programación Extrema)

XP (Programación Extrema)

r

Es una metodología ágil y especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes centrada en potenciar las relaciones interpersonales, promueve el trabajo en equipo y propicia un buen clima de trabajo.

a

DSDM (Método de Desarrollo de Sistema Dinámico)

DSDM (Método de Desarrollo de Sistema Dinámico)

r

Es un método ágil que provee un frameworks para el desarrollo ágil de software, apoyando por su continua implicación del usuario en un desarrollo iterativo y creciente. Situada dentro de las RAD (Rapid Aplication Development),ideal para proyectos no costosos.

La Familia de Crystal de Cockburn

La Familia de Crystal de Cockburn

r

Definida como familia de metodologías basadas en el fundamento de que tipos diferentes de proyectos requieren diferentes tipos de metodologías. Se considera con dos ejes: el numero de personas en el Proyecto y las consecuencias de los errores.

Iconix

Iconix

r

Es una metodología pesada-ligera de Desarrollo del Software que se halla entre RUP (Rational Unified Process) y XP (eXtreme Programming), unifica un conjunto de métodos de orientación a objetos con el objetivo de tener un control estricto sobre todo el ciclo de vida del producto a realizar.Fue elaborado por Doug Rosenberg y Kendall Scott a partir de una síntesis del proceso unificado de los “tres amigos” Booch, Rumbaugh y Jacobson y que ha dado soporte y conocimiento a la metodología ICONIX desde 1993. Presenta claramente las actividades de cada fase y exhibe una secuencia de pasos que deben ser seguidos.

a

Scrum

Scrum

r

Es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativa mente, en equipo, y obtener el mejor resultado posible de un proyecto.  Esta indicado para proyectos en entornos complejos, para obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.

Test-Driven Development (TDD)

Test-Driven Development (TDD)

r

El Test Driven Development (TDD) o “Desarrollo guiado por pruebas” es un enfoque de desarrollo ágil de software en el que primero se escriben las pruebas y luego el código necesario para que la prueba sea exitosa.Asimismo, se describen algunos problemas y sus posibles soluciones, tales como: Problemas con objetos de interfaz gráfica, base de datos, posibles errores no identificados y perdidas de la visión general de la arquitectura de software.

Ventajas

Ventajas

Emplea soluciones en pleno proceso de trabajo sin necesidad de tener que esperar hasta el final.

El cliente puede aportar sus opiniones así que la producción mejora y el consumo también.

La entrega del producto o servicio es más rápida.

Se eliminan tareas que son innecesarias y los esfuerzos se centralizan y unifican.

Al crear prioridades se optimizan los recursos y los resultados.

Características

Características

La metodología ágil es rápida, específica y dinámica.

Estimula las actitudes y estructuras del equipo pues la comunicación se hace más fácil.

Considera al cliente como parte del equipo de producción.

Las entregas son tempranas y continuas.

Principios de métodos ágiles

Desventajas

Desventajas

Se depende en gran medida del líder del equipo y llega a ser indispensable su trabajo y presencia.

No se recolectan los archivos de los proyectos y hay faltas de documentación de estos, pues solo se proponen las soluciones y se llevan a cabo.

Soluciones erróneas en pleno trabajo de producción pueden conllevar graves consecuencias.

Kanban

Kanban

r

En general, Kanban es un sistema de programación para lean y otros procesos JIT. En un proceso Kanban, existen "tarjetas" físicas o virtuales (generalmente post-its) llamadas Kanban que se mueven a través del proceso de principio a fin. El objetivo es mantener un flujo constante de Kanban.

a