En la situación actual en el que los cambios se producen de manera increíblemente rápida y se producen cambios dentro de los cambios, muchos autores comentan que las guías tradicionales de gestión de proyectos intentan ver el futuro. Ahora es necesario modelos que nos ayuden a adaptarnos a los cambios. Esta afirmación es mucha más acertada en el sector de las tecnologías de la información y las comunicaciones (TIC) en el que la velocidad y agilidad al cambio es fundamental. Por esta razón, surgen las metodologías ágiles.
Contenidos
¿QUÉ ES METODOLOGÍA AGILE?
A menudo me hacen la pregunta: ¿Qué es la metodología agile? En pocas palabras, agile en informática, se usa para describir un método alternativo de gestión de proyectos.
Agile es un proceso que ayuda a los equipos a proporcionar respuestas rápidas a los cambios que se reciben sobre su proyecto. ¿Esto qué significa? Pues que crea oportunidades para evaluar la dirección de un proyecto durante el ciclo de desarrollo del mismo. Los equipos evalúan el proyecto en reuniones regulares llamadas sprints o iteraciones.
Este 2019 he querido poner en un cuadro las diferencias más significativas que existen entre la metodología agile y las metodologías tradicionales.
Metodología Ágile |
Metodologías Tradicionales |
– Flexibilidad ante los cambios del proyecto de forma moderada a rápida – Los clientes hacen parte del equipo de desarrollo – Grupos pequeños (promedio 10 participantes in situ) en el mismo lugar. – Menor dependencia de la arquitectura de software – Continuo Feedback acortando el tiempo de entrega – Diversidad de roles – Basadas en heurísticas a partir de prácticas de producción de código – Procesos menos controlados, pocas políticas y normas – Capacidad de respuesta ante los cambios |
– Rigidez ante los cambios, de manera lentos o moderada – Los clientes interactúan con el equipo de desarrollo mediante reuniones – Grupos de gran tamaño y varias veces distribuidos en diferentes sitios – Dependencia de la arquitectura de software mediante modelos – Poco Feedback lo que extiende el tiempo de entrega – Mínimos roles – Basadas en normas de estándares de desarrollo – Procesos muy controlados por políticas y normas – Seguimiento estricto del plan inicial de desarrollo |
Tanto los métodos de desarrollo de software tradicionales como los ágiles tienen sus propias ventajas y desventajas.
El método de desarrollo de software ágil utiliza un enfoque iterativo y basado en equipo.
Sin embargo, siempre que sea posible, se debe considerar el enfoque ágil (metodología agile), ya que proporciona más beneficios, especialmente para las nuevas empresas. Permite lanzar una aplicación de software funcional completa mucho más rápido. También es más rentable, ya que hacer cambios es menos costoso que con el enfoque tradicional.
En base a este cuadro podemos entender mejor ahora el manifiesto ágil.
MANIFIESTO ÁGIL
Los 11 principios del manifiesto ágil son:
- Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua del software de valor.
- Son bienvenidos los requisitos cambiantes, aun llegando tarde al desarrollo. Los procesos ágiles se doblegan al cambio como ventaja competitiva para el cliente.
- Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses.
- Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a través del proyecto.
- Construcción de proyectos en torno a individuos motivados.
- La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro de un equipo de desarrollo es mediante la conversación cara a cara.
- El software/producto/servicio que funcione es la principal medida de progreso.
- Los procesos ágiles promueven el desarrollo sostenido. Los desarrolladores, patrocinadores, y usuarios han de mantener un ritmo constante de forma indefinida.
- La atención continua a la excelencia técnica ensalza la agilidad.
- La simplicidad como arte de maximizar la cantidad de trabajo que se hace, es esencial.
- Las mejores arquitecturas, requisitos y diseños emergen de equipos que se auto organizan.
ALGUNOS TIPOS DE METODOLOGÍAS ÁGILES
1. metodologia agile Scrum
2. Programación Extrema – XP
3. metodologia agile Kanban
1.-metodologia agile Scrum
Es un modelo de desarrollo ágil caracterizado por:
1.- Aportar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto.
2.- La calidad del resultado se basa principalmente en el conocimiento innato de las personas en equipos auto organizados, antes que en la calidad de los procesos empleados.
3.- Solapamiento de las diferentes fases de desarrollo.
4.- Seguir los pasos del desarrollo ágil: Desde el concepto o visión general de la necesidad del cliente, construcción del producto de forma incremental a través de iteraciones. Estas iteraciones (En scrum se llaman Sprint) se repiten de forma continua hasta que el cliente da por cerrada la evolución del producto.
Características específicas de SCRUM.
- Una de las bases de las metodologías ágiles es el ciclo de vida iterativo e incremental. El ciclo de vida iterativo o incremental es aquel en que se va liberando el producto por pares, periódicamente, iterativamente, poco a poco y además, cada entrega es el incremento de funcionalidad respecto a la anterior. Cada periodo de entrega -> Sprint
- El segundo pilar más importante de scrum son las revisiones. Su importancia reside en que las reuniones son la base para lograr transparencia y comunicación, y posibilitan algo característico en un equipo ágil:
- Reunión de planificación del sprint. Al principio de cada sprint, para decidir que se va a realizar en ese sprint.
- Reunión diaria. Máximo 15 minutos. Se trata que se hizo ayer, que vas a hacer hoy y que problemas se han encontrado.
- Reunión de revisiones del Sprint. Al final de cada sprint, se trata que ha completado y que no.
- Retrospectiva del Sprint. También al final del sprint, y sirve para que los implicados den sus impresiones sobre el sprint y se utiliza para la mejora del proceso.
2.- Programación Extrema (XP)
Metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo del software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores y propiciando un buen clima de trabajo.
XP se basa en retroalimentación continua entre cliente y el equipo de desarrollo. XP es especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes.
Características específicas de XP
- 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.
- Desarrollar software que funciona más que conseguir una buena documentación.
- La colaboración con el cliente. Se propone que exista una interacción constante entre el cliente y el equipo de desarrollo.
- Responder a los cambios. La habilidad de responder a los cambios que puedan surgir a lo largo del proyecto determina también el éxito o fracaso del mismo. La planificación no debe ser estricta sino flexible y abierta.
3.- metodologia agile Kanban
Kanban es una palabra japonesa que significa “tarjetas visuales” (kan significa visual, y ban tarjeta). Esta técnica se creó en Toyota, y se utiliza para controlar el avance del trabajo, en el contexto de una línea de producción. Actualmente está siendo aplicado en la gestión de proyectos software.
Fuente: Javier Garzás
[device]
[countdown id=»1517594246″ relative=»70″ format=»dHMS» serverSync=»true» alwaysExpire=»false» compact=»false» tickInterval=»1″ counter=»until» template=»minimal» expiryText=»C%C3%B3digo%3A%23W23%7BQ~%2412DACWE1″ until=»12,2,2018,16,53″]
[/device]
Es la técnica mas empleada actualmente para regular un flujo de avance continuo en proyectos TIC.
Presentación de información visual relativa a la producción (identificación de componentes, estado del proceso, etc).
Se basa en una idea muy simple. Ésta es que el trabajo en curso (Work In Progress, WIP)
LA METODOLOGÍA ÁGIL MÁS USADA: SCRUM
Lo óptimo recomendado por la DSDM Consortium (organización ágil), es la utilización de modelos de gestión mixtos. Recomendado como modelo de gestión integral y estratégica del proyecto a PRINCE2 y en las fases iterativas que se repitan durante la creación del producto/servicio se debería usar al modelo SCRUM.
Isma
Gran aporte!!!
Es necesario que las empresas vayan avanzando en metodología de desarrollo y no sólo en tecnologías
Muchas gracias