Los métodos ágiles fueron una moda, pero hoy se han convertido en herramientas indispensables para el desarrollo de proyectos a pequeña y gran escala. Aunque el inicio de los métodos ágiles marcó un hito en la industria del software, hoy son cada vez más las empresas, emprendedores y equipos que encaran los desafíos de costos y tiempos de sus proyectos a través de estas herramientas. Es recomendable la lectura de Métodos ágiles: Scrum, Kanban y Lean.
Ideas fundamentales sobre métodos ágiles
- Las metodologías ágiles son una herencia de la industria del software al mundo.
- En 2001 surgió el “Manifiesto Ágil”, en el que se establecieron los puntos más relevantes para una nueva forma de enfrentarse al desarrollo de software.
- La metodología Scrum es la más utilizada y aplicada para optimizar los procesos de producción.
- El método Kanban es el más eficiente y utilizado para eliminar los desperdicios, es decir, aquellas cosas que no aportan valor al desarrollo de un proyecto.
- Desde hace años, el Lean Software Development ha ayudado a reducir drásticamente tres cosas fundamentales de los productos: los tiempos de entrega, el precio y los defectos.
- Lean Startup es el método que ayuda a crear empresas y definir modelos de negocio.
Las metodologías ágiles son una herencia de la industria del software al mundo
La incertidumbre es uno de los mayores desafíos en todos los proyectos de cualquier índole. Aunque se han diseñado interminables mecanismos de control sobre los procesos para llevar un proyecto a buen término en el tiempo estipulado, ello ha sido imposible. Si bien se han mejorado algunos de esos procesos, lo cierto es que los proyectos terminan fuera de plazo y sin mejoras realmente aplicables.
En 1968 esa situación se identificó como la “crisis del software”, que aceleró la búsqueda de soluciones eficaces a través de técnicas, herramientas y metodologías que ayudarán a construir productos de calidad dentro de los tiempos y costos preestablecidos.
Sin embargo, fue hasta que apareció la programación XP (Extreme Programming) que se marcó una verdadera diferencia: esa forma de trabajo implicaba renunciar a los requisitos establecidos como punto de partida para dar paso a la convivencia y aceptación de la incertidumbre y los cambios repentinos.
“En lugar de estimar como un modo de controlar con precisión el proceso, se abraza la incertidumbre”.
A partir de estos cambios de paradigmas comenzó a hablarse de la necesidad de trabajar en un entorno cambiante e incierto como una de las maneras indispensables de afrontar los cambios tecnológicos, constantes, veloces y radicales.
En 2001 surgió el “Manifiesto Ágil”, en el que se establecieron los puntos más relevantes para una nueva forma de enfrentarse al desarrollo de software.
Aunque el “Manifiesto Ágil” surgió a partir de la visión de un puñado de personas destacadas y expertas en el mundo del software, su herencia revolucionó la manera en la que, años más tarde, el mundo vería la forma de hacer proyectos en otras industrias y sectores.
Poco a poco, desde el 2001, el manifiesto de un sector se convirtió en una piedra angular que fundaría un nuevo pensamiento para el trabajo. La forma ágil de construir proyectos se define en cuatro puntos:
- “Valorar a individuos y sus iteraciones frente a procesos y herramientas” – El principal objetivo de este punto es asentar que ninguna ayuda técnica sustituye a las personas y que las personas deben estar siempre en primer plano.
- “Valorar más el software (producto) que funciona que una documentación exhaustiva” – Es un error olvidarse del objetivo del proyecto por documentar en detalle cada paso. La documentación es necesaria, pero puede hacerse solo de los datos importantes e imprescindibles.
- “Valorar más la colaboración con el cliente que la negociación de un contrato” – La confianza es el principal insumo para el desarrollo de cualquier trabajo. Establecer vínculos confiables y colaborativos entre quienes piden el trabajo y quienes lo realizan, es esencial.
- “Valorar más la respuesta al cambio que el seguimiento de un plan” – La adaptación y la flexibilidad son indispensables en el proceso. Seguir un plan ciegamente puede llevar al fracaso si no se corrige la dirección de acuerdo con las necesidades. No significa que no sea necesario un plan.
“Todo lo anterior se puede resumir en buscar: orientación al cliente y al producto, flexibilidad, dar relevancia a las personas, y a la comunicación, colaboración, velocidad, autorganización, calidad, simplicidad, y mejora continua”.
La metodología Scrum es la más utilizada y aplicada para optimizar los procesos de producción.
Algunos estudios muestran que el método ágil más adoptado por distintas empresas y proyectos es Scrum ya que se trata de una metodología que permite detallar estrategias basadas en la autogestión de los equipos y en los resultados más allá de las reglas. El método Scrum se realiza a través de pequeñas metas o avances, llamados Sprints, que van sumando al producto final esperado. Esta herramienta se basa en algunos conceptos y roles indispensables y de fácil aplicación:
- Todo proyecto requiere de valores acordes a su finalidad – Algunos de los valores más importantes de esta metodología son: mejora continua, calidad, respeto estricto por el tiempo de cada proceso, responsabilidad, multidiciplinariedad, flexibilidad, ritmo, compromiso, simplicidad, respeto, coraje y una clara base sólida cuyo interés central son las personas.
- El cliente no es el único beneficiario –En los métodos ágiles, los clientes no son solo aquellos que han solicitado el trabajo, sino todos los interesados en que un proyecto llegue a buen término. Aunque no forma parte del proceso, el cliente está disponible para establecer los requisitos, validar resultados, así como ofrecer recursos y respaldo.
- ¿Qué hay que hacer? Definir el Product Backlog –Aquí se trata de convertir ideas en realidades a través de una lista ordenada por prioridades que establece y define todos los requisitos del producto.
- El proceso Scrum inicia con un Sprint Planning y se divide en distintas fases o Sprints –Hay dos grandes fases en la aplicación de este método ágil: la planeación, llamada “Sprint 0” y las iteraciones de desarrollo llamadas “Sprints” que se agrupan en entregas. Sprint 0 es la base de todo, pues es donde se asientan los recursos, las metas, los materiales, tiempos y tareas a realizar. Los Sprints son las etapas de desarrollo del proyecto y cada una requiere una secuencia de reuniones precisas y concretas para garantizar el cumplimiento de los compromisos del equipo de trabajo. Cada Sprint comprende entre una y cuatro semanas.
- ¿Quiénes lo hacen? Los miembros del equipo Scrum son los verdaderos protagonistas –Contrario a las formas tradicionales de llevar proyectos, basadas en jerarquías, la metodología Scrum contempla plena libertad de organización y gestión de los equipos. Sin embargo, existen algunos requisitos para hacerlos funcionales. Por ejemplo, el equipo no debe exceder los 12 miembros, todos ellos deben tener una alta capacidad de compromiso y alta especialidad, y deben dedicarse de manera exclusiva a la realización de un proyecto. Tal como el nombre del método lo indica, el equipo es la base estratégica y práctica para desarrollar la jugada.
- El “dueño del producto” (Product Owner) es un visionario – Quien lidera el proyecto tiene el papel de ser un intérprete y guía entre el cliente y el equipo. Su papel es clave al momento de definir las fechas y los entregables, así como quien se encarga de cualquier revisión, planeación y ajuste a los resultados. Es quien une el mundo del cliente con la producción del equipo.
- El “Scrum Máster” es mucho más que un jefe de proyecto – Los métodos ágiles, como Scrum, desaparecen la figura de jefe y la sustituyen por la de un facilitador. Su tarea principal es mejorar la productividad de un equipo, cuidándolo de ruidos e interferencias externas o internas, así como allegándoles las mejores herramientas y capacitaciones. Sus cualidades comprenden la responsabilidad, colaboración, compromiso, humildad, poder de influencia y conocimiento erudito del medio.
- El Scrum diario es la base para monitorear y resolver los imprevistos – Una vez definida la planificación, el desarrollo del trabajo depende del equipo. Cada miembro tiene la libertad de elegir la tarea que va a desarrollar, organizándose con el resto de los miembros para no repetir labores, y también es responsable de ir mostrando sus avances en los tiempos determinados y de manifestar el curso progresivo del proyecto. El equipo se encarga de mantener el ritmo y el flujo de trabajo a través de comunicación constante y diaria, no exhaustiva, únicamente de los datos más relevantes.
- ¿Vamos bien? La Sprint Review es la herramienta que busca y genera valor añadido – Se trata de una reunión de revisión sumamente respetuosa en su duración y organizada durante los últimos días de un Sprint. Su objetivo es revisar qué se ha hecho, cómo se ha hecho y definir si es necesario implementar mejoras o agregar nuevos ítems.
“Scrum es un método que, en origen, está concebido para que los equipos tengan total libertad para innovar y experimentar iteración tras iteración”.
El método Kanban es el más eficiente y utilizado para eliminar los desperdicios, es decir, aquellas cosas que no aportan valor al desarrollo de un proyecto.
En las actividades diarias de un equipo de soporte, en la redacción de un periódico o en un departamento de logística, aplicar los Sprints del método Scrum resulta poco viable. Este tipo de oficinas y labores dedicadas a atender urgencias y eventos inesperados pueden funcionar de mejor manera con el método Kanban que permite trabajar de forma ordenada y productiva.
Kanban es una palabra de origen japonés que significa “tarjeta”, y más ampliamente podría traducirse como “otorgador de permisos”. Su implementación consiste en establecer tiempos de espera necesarios antes de comenzar tareas nuevas que generen tráfico de trabajo y un atasque en la productividad. Su principal objetivo es no comenzar una tarea nueva hasta que haya lugar verdaderamente para hacerlo.
La aplicación de Kanban para optimizar y mejorar procesos consta, generalmente, de cinco etapas:
- Definir el mapa de flujo – Establecer con claridad cuáles son los pasos o etapas que actualmente se llevan para completar el trabajo o solicitud.
- Crear un tablero – Cada columna debe representar el estado del flujo en el que el trabajo se encuentra actualmente.
- Definir el “Work in progress” (WIP) – Hay que establecer el número de tarjetas que cada flujo puede tener.
- Asignar a cada tarjeta un trabajo – Cada trabajo a realizar debe ser representado por un ítem, que debe colocarse en el tablero, dentro de la columna que corresponda al flujo.
- Medir el tiempo – Debe identificarse cuánto tiempo lleva realizar cada ítem que haya en el tablero, hasta que pueda darse por terminado.
El uso de tarjetas en el método Kanban es crucial. La filosofía de Kanban se fundamenta en que la principal causa de desperdicios es la sobreproducción o producción innecesaria en alguna etapa del flujo. Este método ayuda a eliminar las malas prácticas de hacer más de lo que se puede asumir, reduce los tiempos de espera, los pasos prescindibles y la repetición de tareas.
Lean Software Development
Desde hace años, el Lean Software Development ha ayudado a reducir drásticamente tres cosas fundamentales de los productos: los tiempos de entrega, el precio y los defectos.
Este método ágil nació de la filosofía Lean implementada y desarrollada en Toyota con el objetivo de recuperar la industria japonesa, que se hallaba con pocos recursos, infraestructuras dañadas y una gran necesidad de mejorar la calidad de sus procesos y productos. Esta filosofía se basó en fabricar solo lo necesario, eliminar las cosas que no añadían valor y llevar el producto a tener cero defectos.
Los principales objetivos de este método han pasado del mundo de la fabricación al mundo del software. Se pueden aplicar en distintos sectores y proyectos para ayudar en la reducción de aspectos nocivos en todas las cadenas de producción: trabajo a medias, funcionalidades innecesarias, burocracia excesiva, defectos y errores, tiempos de espera o pérdida de foco.
El Lean Software Development funciona a través de algunos de estos principios y fundamentos:
- Ampliación del aprendizaje – Encontrar soluciones para problemas únicos es un proceso que implica investigación y experimentación. En este sentido, la generación de conocimiento en este método es una de las bases fundamentales del proceso y del resultado.
- Postergar la toma de decisiones, si es posible – Mantener distintas opciones abiertas antes de tomar decisiones drásticas es un principio de este método, cuyo objetivo es añadir flexibilidad ante la incertidumbre y dar tiempo a generar respuestas útiles y no solo reactivas.
- Hacer entregas lo más rápido posible – Mientras más ágiles sean las entregas, mejor será la calidad de retroalimentación respecto al producto esperado. La rapidez en las entregas permite que los clientes introduzcan cambios o mejoras.
- Hacer a los equipos responsables – La filosofía Lean deja atrás la cadena de montaje para ofrecer los equipos capacidades de decisión. Tener equipos responsables, comprometidos y empoderados es un síntoma de madurez en las empresas.
Lean Startup
Lean Startup es el método que ayuda a crear empresas y definir modelos de negocio.
Una start-up no necesariamente es una empresa de pequeña dimensión. El término puede referirse también a un departamento u organización que necesita implementar cambios innovadores o explorar nuevos caminos de producción.
Esta metodología contempla el lanzamiento de un producto anticipadamente al mercado, con el objetivo de conocer las reacciones del consumidor. En escenarios de plena incertidumbre y constantes readaptaciones, Lean Startup ofrece herramientas y amplía la visión para sacar provecho de las situaciones. Los pasos de aplicación de este método contemplan:
- Crear – El proceso creativo para definir un producto debe considerar ponerse a prueba prontamente.
- Establecer un Producto Mínimo Viable (PMV) – Con este paso, se busca tener respuestas rápidas de los clientes y del mercado. Este producto es lo más básico y simple posible, pues estará sometido a pruebas y mejoras continuas.
- Medir – Gracias a la retroalimentación de los clientes en el periodo de prueba, es posible establecer mecanismos de medición, así como indicadores que no aceleren la toma de decisiones o los cambios abruptos de un producto.
- Aprender – Esta parte del ciclo debe considerar si el experimento y la medición se hicieron de forma correcta, pues solo así se podrán tomar decisiones eficientes. Este proceso implica cambiar ideas preconcebidas, corregir problemas y lanzar nuevas hipótesis.
Las ideas brillantes no bastan por sí mismas. Lean Startup es un método que permite implementarlas de manera exitosa y realista.
Imagen de Dirk Wouters en Pixabay