¿Por qué aplicar metodologías ágiles?
Desde los 90, los equipos de desarrollo encontraron nuevos retos, los modelos tradicionales de gestión empresarial no podían dar solución a estos. Hasta el momento se utilizaba el modelo de desarrollo en cascada, estos eran lentos, burocráticos, poco eficientes e inconsistentes. Aparece un nuevo enfoque en la toma de decisiones y gestión de tareas, tanto en los proyectos software, como en cualquier modelo de negocio. Los equipos se auto-organizan, comparten la toma de decisiones en un corto plazo de tiempo, manteniendo una disciplina de grupo.
Las metodologías ágiles aplican iteraciones durante el desarrollo. Cada una de estas iteraciones o etapas, están compuestas por distintas tareas. Donde se da juego la planificación, análisis de requisitos, diseño, codificación, testing y documentación (suficiente, uso de herramientas que dinamizan esta área), por parte de los integrantes del equipo.
Vamos a ver los beneficios de aplicar metodologías Ágiles a cualquier modelo empresarial:
- Desarrollo iterativo e incremental.
- Rápida respuesta a los cambios.
- Contacto con el cliente en cada iteración.
- Entregas del producto continuas y tempranas.
- Optimizan de recursos.
- Conocimiento del estado del desarrollo en cualquier momento.
- Comunicación cara a cara entre los integrantes del equipo.
- Aumento de la productividad.
- Simplificación en el manejo de sobrecarga de procesos.
- Mejor gestión del riesgo.
- Equipo de trabajo más involucrados y organizados en el objetivo.
- Calidad del producto.
- Equipo multidisciplinario.
Un marco que Kiwitu aplica es Scrum.
Se caracteriza por:
- Estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto de inicio a fin.
- Priorización de los requisitos por valor para el cliente y coste de desarrollo en cada iteración.
- Solapamiento de las fases del desarrollo, en lugar del ciclo en cascada tradicional.
- Control empírico del proyecto. Al finalizar cada interacción se demuestra al cliente el resultado real obtenido. Permitiendo la toma de decisiones y realizar las adaptaciones necesarias.
- Potenciación del equipo.
- Sistematización de la colaboración y la comunicación dentro del equipo, como entre el equipo y el cliente.
- Timeboxing de las actividades del proyecto.
Kiwitu también utiliza el método Kanban.
Este fue creado en Toyota, su significado en japonés es «tarjetas visuales». No es una técnica específica del desarrollo de software, ya que su implantación es muy sencilla y aplicable no solo al mundo empresarial, sino a cualquier ámbito de la vida que tenga un objetivo a cumplir.
Vamos a explicar de una forma muy sencilla en qué consiste. Tenemos una pizarra, dividida en las distintas partes que componen el trabajo. En nuestro caso contamos con: «petición de tareas«, «tareas«, «desarrollo«, «testing«, «hecho«. Y lo usaremos así:
- Iremos recogiendo las tareas solicitadas en post-it, en la columna Petición de tareas. Con un título, breve descripción y una estimación de la duración de la tarea.
- Valoraremos esta tarea si es necesaria o no. Si es necesaria la pasamos a la columna Tareas, anotando en ella la prioridad.
- Cuando arrancamos el desarrollo la pasamos a la columna Desarrollo.
- Al finalizar el desarrollo y comenzando con las pruebas debemos de pasarla a Testing.
- Una vez que este OK, la trasladamos a Hecho.
Como vemos es muy sencillo. En cualquier momento podemos tener una idea de cómo avanza un proyecto. Solo mirando al panel podemos tener un flash del proyecto.