CodeGym/Cursos Java/Módulo 3. Java Professional/Metodología de desarrollo ágil - Agile

Metodología de desarrollo ágil - Agile

Disponible

Modelo ágil

La metodología flexible (ágil) ayuda a reducir el riesgo en el desarrollo de software al mover el flujo de trabajo en varios ciclos pequeños. Estos ciclos se denominan iteraciones y suelen durar de dos a tres semanas.

Una iteración es como un pequeño proyecto de software que consta de tareas, cada una de las cuales mejora la funcionalidad. Estos incluyen: elaborar un plan, evaluar requisitos, acordar un proyecto, escribir código, probar y crear documentación técnica.

Por lo general, una iteración no es suficiente para una versión de software completa. Sin embargo, lo bueno de Agile es que pequeñas partes del proyecto están listas para su evaluación al final de cada iteración. Esto permite a los miembros del equipo cambiar las prioridades para seguir trabajando sin esperar el lanzamiento final.

Aplicando una metodología de desarrollo “ágil”, se puede ver un resultado concreto después de cada iteración. Es decir, el desarrollador puede entender si el resultado de su trabajo cumple o no con los requisitos. Esta es una de las ventajas importantes del modelo flexible.

En cuanto a las desventajas, cuando se usa Agile, a veces es difícil estimar el costo de los recursos laborales y el presupuesto del proyecto. Si tomamos las opciones para la aplicación práctica del modelo flexible, la más famosa de ellas es Extreme Programming (XP).

XP se basa en reuniones breves de los miembros del equipo que tienen lugar todos los días y reuniones periódicas (una vez por semana o menos). En los mítines diarios (daily standup) se suele hablar de:

  • resultados actuales del trabajo;
  • una lista de tareas que debe completar cada miembro del equipo;
  • Dificultades encontradas y formas de resolverlas.

Manifiesto

Agile es una dirección completa en desarrollo, por lo que las reglas para trabajar en él se declaran en un documento especial: Agile Manifesto. Esto incluye tanto prácticas como principios por los cuales el equipo debe trabajar.

El Manifiesto Ágil consta de 4 ideas fundamentales y 12 principios.

Ideas claves:

  • la colaboración entre desarrolladores es más importante que las herramientas;
  • la versión de trabajo del producto tiene prioridad sobre la documentación;
  • el entendimiento mutuo entre el equipo y el cliente es más importante que los términos del contrato;
  • El plan original siempre se puede cambiar si es necesario.

En cuanto a los 12 principios de Agile, aquí están:

  • la principal prioridad es la conformidad del programa terminado con las expectativas del cliente;
  • se permite cambiar las condiciones en cualquier etapa, incluso en la etapa final de desarrollo (si esto puede mejorar la calidad y competitividad del software);
  • entrega regular de versiones de trabajo del producto de software (cada 14 días, mensual o trimestral);
  • la clave del éxito es la interacción regular entre el cliente y los desarrolladores (preferiblemente todos los días);
  • los proyectos deben construirse entre quienes están interesados ​​en ellos, a esas personas se les deben proporcionar las condiciones necesarias para el trabajo y todo tipo de apoyo;
  • la mejor manera de compartir información en un equipo es una reunión personal;
  • la versión de trabajo del software es el mejor indicador de progreso;
  • todas las partes interesadas deben poder mantener el ritmo de trabajo deseado durante todo el proceso de desarrollo de software;
  • la mejora técnica y el buen diseño mejoran la flexibilidad;
  • es importante mantenerlo simple y no crear demasiado;
  • los mejores resultados se obtienen de aquellos equipos que son capaces de autoorganizarse;
  • los miembros del equipo deben pensar regularmente en formas de mejorar su eficiencia cambiando el flujo de trabajo.

Según el manifiesto Agile, un buen proceso de desarrollo de software depende directamente de las personas que están involucradas en este proceso. Para hacer esto, debe organizar su interacción de la manera más eficiente posible, crear el equipo más organizado.

Metodologías

También hay varias metodologías en el Manifiesto Ágil que explican los valores y principios:

  • Modelado Ágil;
  • Proceso Unificado Ágil;
  • Método de datos ágil
  • Desarrollo Rápido de Aplicaciones (DSDM);
  • Proceso Unificado Esencial;
  • Programación extrema;
  • desarrollo basado en funciones;
  • Volviéndose Real;
  • Abrir;
  • Melé.

Agile Modeling es una colección de principios, términos y prácticas que acelera y simplifica el desarrollo de modelos de software y documentación.

El objetivo de Agile Modeling es mejorar el modelado y la documentación. Es importante tener en cuenta que esto no incluye la codificación, las pruebas o los problemas relacionados con el control, la implementación y el soporte del proyecto. Sin embargo, esta metodología incluye revisión de código.

Agile Unified Process es una metodología que facilita a los usuarios la aproximación (modelo). Normalmente se utiliza para desarrollar software comercial.

Método de datos ágil: varias metodologías similares en las que las condiciones del cliente se logran mediante la cooperación de varios equipos.

DSDM: este enfoque se diferencia de los demás en que, junto con los desarrolladores, los usuarios del futuro producto participan activamente en él.

El desarrollo basado en funciones es una metodología de desarrollo que tiene un límite de tiempo: "cada función debe implementarse en un máximo de dos semanas".

Vale la pena considerar que si el caso de uso es pequeño, puede considerarse una característica. Si es significativo, entonces debe dividirse en varias funciones.

Getting Real es una metodología iterativa en la que primero se desarrolla la interfaz del programa y solo luego se desarrolla su funcionalidad.

OpenUP es un método de desarrollo que divide el ciclo del proyecto en cuatro etapas: inicio, perfeccionamiento, construcción y entrega.

De acuerdo con los principios de Agile, independientemente de la duración del trabajo, es necesario proporcionar a todos los interesados ​​y miembros del equipo una forma de conocerse y tomar decisiones. Gracias a esto, es posible controlar la situación de manera efectiva y evaluar los resultados intermedios a tiempo. El plan del proyecto define el ciclo de vida y el resultado final debe considerarse una versión estable de la aplicación.

En cuanto a Scrum, regula las reglas para gestionar el proceso de desarrollo y permite aplicar prácticas de codificación existentes con la posibilidad de ajustar las condiciones o realizar cambios. El uso de esta metodología le permite ver y eliminar las desviaciones del resultado esperado en las primeras etapas de desarrollo.

Echemos un vistazo a esto con un poco más de detalle...

Comentarios
  • Populares
  • Nuevas
  • Antiguas
Debes iniciar sesión para dejar un comentario
Esta página aún no tiene comentarios