METODOLOGÍAS ÁGILES
1.- ¿Qué es una metodología ágil?
Envuelve un enfoque para la forma de
decisiones en los proyectos de software, que se refiere a métodos de ingeniería
del software basados en el desarrollo iterativo e incremental, donde los
requisitos y soluciones evolución con el tiempo según la necesidad del
proyecto.
Cada iteración del ciclo de vida incluye:
- · Planificación.
- · Análisis
de requisitos.
- · Diseño.
- · Codificación.
- · Pruebas.
- · Documentación.
Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la
documentación. La mayoría de los equipos ágiles se encuentran en una simple
oficina abierta, a veces llamadas “plataformas de lanzamiento”, generalmente
los métodos ágiles son criticados y tratados como “indisciplinados” por la
falta de documentación técnica.
2.- Línea del tiempo sobre las
metodologías ágiles:
3.- ¿Cuáles son los tipos
de metodologías que existen?
3.1 Scrum
· Características:
1. Aporta
una estrategia de desarrollo incremental, en lugar de la planificación y
ejecución completa del producto
2. Tiene
calidad del resultado, se basa
principalmente en el conocimiento innato de las personas en equipos auto
organizados, antes que en la calidad de procesos empleados.
3. El
pilar más importante de Scrum son son
las revisiones. Su importancia reside en que las reuniones son la base para
lograr transparencia y comunicación.
· Utilidad:
Prioriza
el trabajo en función del valor que tenga para el negocio, maximizando la
utilidad de lo que se construye y el retorno de la inversión.
3.2 Programación Extrema
(XP)
·
Características:
1. Se
valora al individuo y las interacciones del equipo de desarrollo sobre el
proceso y las herramientas. La gente es el principal factor de éxito de un
proyecto software.
2. Desarrollar
software que funciona más que conseguir una buena documentación.
3. Metodología
creada a base de prueba y error.
4. Énfasis
en el desarrollo del software.
5. No
introduce funcionalides antes de que sean necesarias.
6. El
cliente o el usuario se convierte en miembro del mismo equipo.
7. Empieza
en pequeño, añade funcionalidad con retroalimentación continua.
·
Utilidad:
Su utilidad es medida con cuatro
valores:
1. Simplicidad: La simplicidad consiste en
desarrollar solo el sistema que realmente se necesita. Implica resolver en cada
momento solo las necesidades actuales.
2. Comunicación: XP pones en comunicación directa y
continua a clientes y desarrolladores. De esta forma ve el avance día a día, y
es posible ajustar la agencia y las funcionalides de forma consecuente.
3. Feedback: Una metodología basada en el
desarrollo incremental iterativo de pequeñas partes, con entregas y pruebas
frecuentes y continuas.
4. Coraje Valentía: Implica saber tomar decisiones
difíciles, reparar un error cuando se detecta.
3.3 Kanban
· Características:
1. Calidad Garantizada: Las
cosas tienen que salir bien a la primera. Se tarda más en arreglar algo que
sale mal, además de consumir más recursos, que cuando sale bien a la primera.
Por ello, lo más importante no es que se haga rápido, sino que se haga bien.
2. Reducción del
desperdicio: No se necesita hacer nada extra o
superficial, solamente lo necesario para que salga bien. De este modo se
optimizan recursos.
3. Mejora Continua:
Aprovechando la realización de tareas, se busca mejorar los procesos, a través
de un sistema de mejora continua.
4. Flexibilidad: Se
dispone de capacidad de respuesta ante tareas no previstas, de forma que
existía una “cola de espera” de tareas en las que ir priorizando su realización
en función de las necesidades de cada momento y de la urgencia de cada una de
ellas
Utilidad:
La
utilidad de kanban se manifiesta controlando de modo armónico la fabricación de
los productos necesarios en la cantidad y tiempo necesarios en cada uno de los
procesos que tienen lugar tanto en el interior de la fábrica como entre
distintas empresas.
4.- Recomendación de que
metodología ágil usar:
Mi
opinión es que hay que saber elegir la metodología adecuada según tu modelo de
desarrollo y las necesidades que este tenga, no hay una mejor que otra, simplemente
hay una más apropiada que otra, para eso tienes que realizar una autoevaluación
del proyecto que quieras realizar, realizar cuestionarios o tests que te ayuden
a elegir una apropiada metodología ágil.
La decisión de optar por una u otra
metodología dependerá de las características del proyecto, las cuales pueden
variar en función de varios factores: el número de integrantes en el proyecto,
la administración de los roles, los tipos de liderazgo, las expectativas del
cliente, entre otros.