Metodologías ágiles: Kanban

  • Comparto mis apuntes sobre kanban como metodología ágil de desarrollo de software. Pertenecen a un curso que he preparado e impartido recientemente. Espero os sea de utilidad.

Kanban 101 Fundamentos

Conceptos básicos y herramientas

Kanban 101 Fundamentos. Conceptos básicos y herramientas por Marcelo Horacio Fortino. Versión 2.0.2. Julio 2023.

Esta obra está sujeta a la licencia Reconocimiento-CompartirIgual 4.0 Internacional de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/.
Puede hallar permisos más allá de los concedidos con esta licencia en https://fortinux.com. Sugerencias y comentarios a info@fortinux.com.

Todas las marcas son propiedad de sus respectivos dueños. Linux® es una marca registrada de Linus Torvalds. Ubuntu® es una marca registrada de Canonical Limited. Red Hat® es una marca comercial registradas de Red Hat, Inc. UNIX® es una marca comercial registrada de The Open Group. Apple® y Mac OS® son marcas comerciales de Apple Inc. Microsoft® y Windows® son marcas registradas de Microsoft Corporation.

Versión Autor/es Fecha Observaciones
1.0 Marcelo Horacio Fortino 2020/Junio Agile methodology
1.1 Marcelo Horacio Fortino 2021/Agosto Convertido a markdown - ipynb
2.0 Marcelo Horacio Fortino 2023/Julio Actualizado a Kanban

Esta obra se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. El autor no asume ninguna responsabilidad si el lector hace un mal uso de la mismo.

Sugerencias y comentarios a info@fortinux.com.

Estos apuntes didácticos se basan en:

  • Artículos de Lean Enterprise Institute https://www.lean.org/,
  • La bibliografía y referencias presentadas en este documento, y
  • Documentación propia recogida a lo largo de los años de diversas fuentes.

Bibliografía

  • Scrum.org. (2021). La Guía Kanban para Scrum Teams.

  • Skarin, M. (2015). Real-world Kanban: Do less, accomplish more with lean thinking.

  • Para herramientas de lean management y six sigma se puede consultar la siguiente bibliografía:

  • Pascal Dennis, Lean production simplified (New York: Productivity Press, 2007).

  • John Bicheno and Matthias Holweg, The Lean toolbox, 4th rev. ed. (Johannesburg, South Africa: Picsie Books, 2008).

  • Chet Marchwinski and John Shook, Lean lexicon (Cambridge, MA: Lean Enterprise Institute, 2008).

  • Thomas Pyzdek and Paul Keller, The Six Sigma handbook, 3rd ed. (New York: McGraw-Hill, 2009).

Temario

  • Introducción a Kanban, Lean, Nuevo paradigma, Definición de valor, JIT, Kaizen, PDCA, Definición de residuo, Value Stream Mapping, Las 5s, Diagrama de espina de pescado, DMAIC, Teoría de las restricciones, Métricas o KPIs.
  • El Método Kanban.
  • ANEXO A: Otras metodologías. Resumen: Lean startup, Metodologías ágiles, Scrum, Scrumban.

Introducción a kanban

  • Esta primera parte trata sobre la historia y los principios metodológicos que se han destilado para obtener el marco de trabajo conocido popularmente como kanban.

Lean

  • Lean es una forma de pensar sobre la creación del valor necesario con menos recursos y menos desperdicio. Es una práctica que consiste en la experimentación continua para lograr un valor perfecto con cero desperdicio. El pensamiento Lean y la práctica ocurren juntos.

Fuente: https://www.lean.org/explore-lean/what-is-lean/.

  • Proviene del sistema de producción Toyota (Toyota Production System - TPS) desarrollado por Taiichi Ohno.
  • JP Womack con su libro "La máquina que cambió el mundo" (1992), donde aparece por primera vez el término lean manufacturing, lo poularizó a nivel mundial.

Fuente: https://es.wikipedia.org/wiki/Lean_manufacturing.

  • comparte valores con las metodologías ágiles y kanban como:

    • generar valor al cliente,
    • respeto por las personas,
    • reducción al minimo de desperdicio,
    • transparencia,
    • adaptación al cambio, y
    • mejora continua.
  • Los cinco principios Lean son:

    • identificar el valor para el cliente,
    • mapear el flujo de valor,
    • asegurar el flujo (flow),
    • establecer procesos pull, y
    • buscar la perfección.
  • Para describir desperdicios Lean utiliza los conceptos:

    • Muda: Eliminación de residuos.
    • Muri: Eliminación de sobrecarga.
    • Mura: Eliminación en falta de equilibrio en las cargas de trabajo.

Fuente: https://www.lean.org/lexicon-terms/muda-mura-muri/.

  • El mapeo de flujo de valor (VSM) es un diagrama de cada paso involucrado en los flujos de material e información necesarios para llevar un producto desde el pedido hasta la entrega.
  • Es una herramienta fundamental utilizada en la mejora continua para identificar y eliminar desperdicios.
  • Generalmente comienza con un equipo que crea un mapa de estado actual capturando la condición real del flujo de material e información de un flujo de valor.
  • Posteriormente el equipo dibuja un mapa de estado futuro, que es una imagen con el objetivo de cómo deben fluir los materiales y la información a través del flujo de valor.

Fuente: https://www.lean.org/lexicon-terms/value-stream-mapping/.

Lean IT: Nuevo paradigma

  • El cambio de paradigma cultural en las organizaciones que utilizan Lean se manifiesta en:

  • Método Tradicional: Los directivos tienen todas las respuestas.

    • Lean IT: Los directivos deben hacer las preguntas correctas, los empleados deben tener las respuestas (como equipo).
  • Método Tradicional: Los gestores piensan, los trabajadores hacen.

    • Lean IT: Los gestores apoyan a los empleados para agregar valor.
  • Método Tradicional: Las actividades se realizan, porque se pide que se realizen.

    • Lean IT: Las actividades se realizan sólo si agregan valor.
  • Método Tradicional: Una cierta tasa de defectos es inevitable.

    • Lean IT: Los defectos pueden ser eliminados.
  • Como elementos principales de Lean se pueden considerar:

    • Cliente.
    • Actividades que agregan valor al cliente.
    • Flujo Pull.
    • Búsqueda de la perfección.
    • Flujo sin interrupciones.
  • Fuente: Bell, S. C., & Orzen, M. A. (2010). Lean IT: Enabling and sustaining your lean transformation. Productivity Press.

Definición de valor

  • El cliente como centro de valor: conceptos.

  • Value stream: Evaluar si todas las actividades en el proceso de agregar valor son visibles para el cliente.

  • Flow: Crear un flujo continuo de producción, enfocado al “justo a tiempo” (Just-in-time) y la reducción de los altibajos en el trabajo.

  • Pull: La demanda desencadena el proceso, con el fin de reducir stock y eliminar tiempos muertos.

  • Perfection: En principio, se centra en la prevención de defectos de calidad.

  • Características del valor:

    • El valor está vinculado al precio.
    • El valor de un producto o servicio para alguien mas: El cliente.
    • El valor está vinculado a la percepción.
    • Cada cliente determina que es valor, y que no lo es.
  • Diferencia entre output y outcome.

  • https://www.bmc.com/blogs/outcomes-vs-outputs/.

Just-In-Time (JIT)

  • El método justo a tiempo o JIT (just-in-time) es un sistema de organización de la producción en fábricas nacido en la empresa japonesa Toyota.

  • Se fundamenta en La flexibilidad en los recursos, mediante el empleo de trabajadores versátiles y de máquinas multiuso, que se adaptan a la demanda de los clientes.

  • Consiste en hacer que los insumos lleguen a la fábrica "justo a tiempo", o sea, poco antes de que se usen y solo en las cantidades necesarias.

  • Esto permite reducir costos, especialmente de inventario de materia prima, partes para el ensamblaje, y de los productos finales.

  • Esta práctica además reduce los tiempos de respuesta a los clientes.

  • Fuente: https://es.wikipedia.org/wiki/M%C3%A9todo_justo_a_tiempo.

Kaizen

  • Kaizen en el idioma japonés significa mejora continua (continuous improvement).

  • Su objetivo es hacer pequeñas mejoras incrementales en procesos y sistemas, lo cual lleva a beneficios significativos a largo término.

  • Fuente: https://www.lean.org/lexicon-terms/kaizen/.

PDCA

  • El ciclo de Deming o PDCA es un ciclo de mejora continua aplicable en todos los ámbitos de la vida.
  • El ciclo consta de cuatro etapas: PLANIFICAR, HACER, VERIFICAR y ACTUAR.
  • Estas etapas permiten resolver problemas de manera rigurosa y metódica.

PDCA_Cycle
Imagen: Figura 1: Diagrama PDCA. Autor: Karn G. Bulsuk (http://www.bulsuk.com)

Definición de residuo

  • Todos los componentes de trabajo pueden ser categorizados como agrega-valor (value-added - VA), no-agrega-valor (non-value-added - NVA), o necesario pero no-agrega-valor (necessary but non-value-added - NNVA).

  • Las prácticas que generan desperdicios pueden ser divididas en tres categorías conocidas como las 3 M: mura, muri, y muda.

    • Mura: desequilibrio.
    • Muri: sobrecarga.
    • Muda: desperdicio.
  • Fuente: https://www.lean.org/lexicon-terms/muda-mura-muri/.

  • Según Taichi Ohno, creador del Toyota Production System los 7 tipos de desperdicio o mudas identificados son:

    • Sobreproducción.
    • Inventario.
    • Esperas.
    • Movimientos innecesarios.
    • Transporte.
    • No calidad.
    • Sobreprocesamiento.
  • Residuo o desperdicio: En japones: Muda (waste).

  • Los residuos son todo lo que se hace que no agrega valor desde la perspectiva del cliente.

  • La actividad realizada por el proveedor es residual si el cliente no está dispuesto a pagar por esa actividad.

  • Puede que sea requerido por ley realizar la actividad, pero no agrega valor.

  • El cliente decide lo que es residuo.

  • Se deben reducir Residuo, Variabilidad e Inflexibilidad.

  • Variabilidad:

    • Variabilidad en el volumen o complejidad de la demanda del cliente.
    • Desviaciones de los resultados de procesos.
  • Inflexibilidad:

    • La capacidad del equipo de escalar hacia arriba o abajo, dependiendo de la demanda.
    • Marcos de tiempo de servicio y el calendario de lanzamiento fijos.
    • Modelo operativo de lotes (batch) y cola (queue) predeterminados.
    • Recursos especializados en un número limitado de tareas.

Value stream Mapping

  • El mapa de cadena de valor nos permite aplicar principios Lean a la cadena de valor:

  • Muestra la entrada, los pasos y la salida como flujo que genera valor. Ayuda a comprender la cadena de valor.

  • Calcula la capacidad y rendimiento de cada paso. Permite identificar los altibajos en la capacidad del proceso (flow).

  • Permite una respuesta rápida, de bajo esfuerzo y bajos residuos.

  • Solo se produce lo que el cliente pide, sin necesidad de mantener un Stock (pull).

  • Identifica los residuos en el proceso (mejora continua).

  • Diferencias entre pull y push:

    • Pull: Se elige una configuración del producto, realiza el pedido y pago por ello. A partir de allí, la construcción del producto comienza.
    • Push: Se elige un producto configurado y el proveedor lo envía desde su stock.

push_pull_kanban

Imagen: Figura 2: Diferencias entre PUSH y PULL. Autor: Marcelo H. Fortino (http://www.fortinux.com)

  • Pasos para la creación del mapa de la cadena de valor:
    • Definir la Voz del cliente (VOC) y el proceso de analisis.
    • Identificar los pasos en el proceso con un diagrama SIPOC.
    • Identificar el flujo de trabajo en proceso.
    • Recopilar datos de la carga de trabajo actual.
    • Crear un Mapa de la cadena de valor (VSM) por proceso.
    • Comenzar por el proceso más importante.
    • Recopilar datos de tiempo de procesamiento, volumenes, duración, etc.
    • Identificar Residuos y problemas.
    • Completar el VSM con todas las entradas.
    • Validar el VSM con el equipo y los expertos.

sipoc

Imagen: Figura 3: Modelo SIPOC. Autor: Marcelo H. Fortino (http://www.fortinux.com)

Las 5s

  • 5S es un método de organización del espacio de trabajo:
    • Seiri: eliminar aquello innecesario.
    • Seiton: ordenar.
    • Seiso: limpiar.
    • Seiketsu: estandarizar.
    • Shitsuke: crear hábitos.

Diagrama de espina de pescado

DMAIC

  • Acrónimo anglosajón para los cinco pasos en la resolución de problemas:

    • Definir.
    • Medir.
    • Analizar.
    • Mejorar (Improve).
    • Controlar.
  • Fuente: https://es.wikipedia.org/wiki/DMAIC.

Teoría de las restricciones

  • La teoría de las limitaciones o restricciones (Theory of Constraints - TOC) es una metodología lanzada en la novela The Goal (Goldratt, E. 1984) basada en las experiencias empresariales de su autor.

  • Se basa en cinco puntos correlativos de aplicación:

  • Identificar las restricciones del sistema.

  • Decidir cómo explotarlos.

  • Subordinar todo a la decisión anterior.

  • Superar la restricción del sistema (elevar su capacidad).

  • Si en los pasos anteriores se ha roto una restricción, regresar al paso 1, pero no permitir la inercia.

  • Las limitaciones a su vez son:

    • Físicas: equipos, instalaciones o recursos humanos, entre otros.
    • Políticas: reglas que evitan que la empresa alcance su meta.
    • Del mercado: oferta y demanda.
  • Fuente: https://es.wikipedia.org/wiki/Teor%C3%ADa_de_las_limitaciones.

  • Simulador TOC: https://sites.google.com/view/restricciones-toc/simulador-teoria-de-restricciones.

El método kanban

  • Kanban significa indicador visual en el idioma japonés.

  • Kanban consiste en un sistema visual que permite comunicar el status de todas las actividades.

  • En el desarrollo de software, se utiliza el sistema Kanban virtual para limitar el trabajo en curso.

  • Los principios del método Kanban son los siguiente:

    • Comenzar por lo que se va a hacer ahora.
    • Acordar perseguir el cambio incremental y evolutivo.
    • Respetar el proceso actual, los roles, las responsabilidades y los cargos.
    • Liderar en todos los niveles.
  • Las prácticas centrales del método Kanban son:

    • Visualizar el flujo de trabajo.
    • Limitar el trabajo en curso (WIP).
    • Dirigir y gestionar el flujo.
    • Hacer las políticas de proceso explícitas.
    • Utilizar modelos para reconocer oportunidades de mejora.
  • Fuente: https://es.wikipedia.org/wiki/Kanban_(desarrollo).

  • Audio de la Guía Kanban en dioma inglés: https://www.youtube.com/watch?v=N4bUkjAXFQU.

Gestión de proyectos ágiles

  • La gestión de proyectos ágiles consiste en gestionar el desarrollo de software de manera iterativa e incremental focando en las entregas continuas e incorporando el feedback de los clientes en cada iteración.

  • Los equipos de software que utilizan estas metodologías ágiles aumentan la velocidad del desarrollo, obtienen una colaboración más fluída, generar más valor, y pueden responder mejor a las tendencias del mercado.

  • Para gestionar mejor el trabajo, los equipos ágiles generalmente dividen sus tareas en iniciativas, épicas e historias de usuario:

  • Las iniciativas son colecciones de épicas con un objetivo común.

  • Una épica es un conjunto de tareas relacionadas que se pueden dividir en historias de usuario.

  • Una historia de usuario es un requisito especificado desde la perspectiva del usuario.

metodologia_agil_epica
Imagen: Figura 4: Iniciativas, épicas e historias de usuario ágiles. Autor: Marcelo H. Fortino (http://www.fortinux.com)

  • Las iniciativas suelen ser a grandes rasgos, objetivos trimestrales o anuales, mientras que las épicas suelen durar más bien algunas pocas semana o veces solamente una.

  • Las historias de usuario se suelen escribir desde la perspectiva del cliente utilizando la siguiente plantilla:

  • Como [persona] Yo [Quiero], [para].

  • Fuente: https://www.atlassian.com/agile/project-management.

Estimación ágil

  • La estimación ágil es el proceso de medir cuanto tiempo, esfuezo y dinero necesita un proyecto desarrollado con metodologías ágiles.

  • El objetivo es mejorar la toma de decisiones, coordinar mejor el esfuerzo, optimizar los tiempos y gestionar el coste, lo cual disminuye en consecuencia los riesgos y aumenta el logro de los objetivos.

  • Hay diversas técnicas de estimación ágil y se deberá utilizar la técnica, o en su defecto un conjunto de técnicas, que mejor se adaptan a las características del proyecto y a la cultura organizacional.

  • Recursos:

  • Estimation & Prioritization : Agile & SAFe Framework

  • https://www.linkedin.com/pulse/estimation-prioritization-agile-safe-framework-samir.

  • Top 8 Agile Estimation Techniques (Explained with Examples)

  • https://www.netsolutions.com/insights/how-to-estimate-projects-in-agile/.

  • La definición según la Guía del PMBOK® (2021) de estimación es:

Estimación. Evaluación cuantitativa del valor o resultado probable de una variable, tal como costos del proyecto, recursos, esfuerzo o duraciones.(Pág. 52)

  • Para esta misma guía, los aspectos asociados a la estimación son:

    • Rango: Por ej. de -25% a +75%.
    • Exactitud: La exactitud es inversamente proporcional al rango.
    • Precisión: Es el grado de exactitud con respento a la estimación.
    • Confianza: Depende de la experiencia con el proyecto.
  • Las estimaciones se pueden presentar de forma determinística (un solo número o cantidad) o probabilística con un rango de estimaciones y sus probabilidades.

  • Además pueden ser absolutas o relativas a un contexto específico del proyecto.

  • Entre los métodos o técnicas de estimación a utilizar podemos mencionar:

  • Agrupamiento de afinidad: Se clasifican los elementos en categorías similares de acuerdo con su semejanza. Los más comunes son la estimación por tamaño de camiseta (t-shirt sizing) y los números de Fibonacci.

  • Estimación análoga: Se evalúa la duración o el costo de una actividad utilizando datos históricos.

  • Punto de función: Se usa para calcular una medida de tamaño funcional (FSM) de un sistema de software.
    -Estimación multipunto: Evalúa el costo o la duración aplicando un promedio o promedio ponderado de estimaciones optimistas, pesimistas y más probables.

  • Estimación paramétrica: Se utiliza un algoritmo para calcular el costo o la duración con base en datos históricos.

  • Estimación relativa: Se usa para crear estimaciones que se derivan de la realización de una comparación con un conjunto de trabajos similares, teniendo en cuenta el esfuerzo, la complejidad y la incertidumbre.

  • Estimación puntual (single-point estimating): Utiliza datos para calcular un único valor que refleje una estimación más probable.

  • Estimación por punto de historia: Los miembros del equipo asignan puntos de esfuerzo abstractos pero relativos, requeridos para implementar una historia de usuario. Se consideran la complejidad, los riesgos y el esfuerzo involucrados.
    -Delphi de banda ancha (Wideband Delphi): Es una variación del método de estimación Delphi. Los expertos completan múltiples rondas de producción de estimaciones de forma individual, con un debate del equipo del proyecto después de cada ronda, hasta que se llega a un consenso.

  • El póker de planificación (planning poker): Es una variación del Delphi de banda ancha. El equipo llega a un consenso sobre el esfuerzo que es necesario para entregar valor. El nuevo trabajo se estima en comparación con los puntos asignados a trabajos anteriores.

  • Fuente: Project Management Institute, Inc. (2021). Guía de los fundamentos para la dirección de proyectos (Guía del PMBOK®). Séptima edición. Newtown Square, Pennsylvania.

NoEstimates

Métricas ágiles

  • Las métricas ágiles son un componente esencial para los equipos de desarrollo.

  • Permiten conocer el desempeño, la velocidad y la calidad en la entrega a lo largo del proyecto.

  • Ayudan a mejorar la integración continua y el despliege continuo (CI/CD) en cada ciclo.

  • Entre las métricas a destacar se pueden mencionar:

  • Burn Down Chart:

    • Realizar un seguimiento de la finalización de las tareas durante un sprint.
    • El tiempo y el trabajo que queda por completar son los dos parámetros de medición.
    • El eje X se refiere al tiempo y el eje Y representa el trabajo restante.
    • La unidad de medida es horas o puntos de historia (story points).
  • Velocidad:

    • Cantidad media de trabajo que el equipo lleva a cabo durante un sprint.
    • Se mide en puntos de historia u horas.
  • Epic and Release Burndown:

    • Realiza el seguimiento del progreso del desarrollo de todo el proyecto o n sprints.
    • Informan del flujo de trabajo dentro de la épica y del sprint (tareas agregadas - tareas eliminadas).
  • Control chart:

    • Enfocan en la duración del tiempo desde el estado "en progreso" hasta el estado "completado" de las tareas.
    • Verifican el tiempo de ciclo de un solo problema:
      • Los equipos con consistencia en los tiempos de ciclo tienen entregas predecibles.
      • Los equipos con tiempos de ciclo cortos tienen un alto rendimiento.
    • El objetivo final es tener una duración del ciclo corta y homogénea.
  • Cumulative flow diagram (CFD):

    • Asegura consistencia en el flujo de trabajo del equipo.
    • El eje X se refiere al tiempo y el eje Y representa el trabajo restante.
  • Fuente: Atlassian. https://www.atlassian.com/es/agile/project-management/metrics.

  • Otras métricas a considerar pueden ser:

    • Lead Time: Período entre el pedido y la entrega de un artefacto.
    • Value Delivered: Medido en puntos de historia o valor monetario.
    • Net Promoter Score: % de recomendación que hace un cliente del producto.
    • Work item age: Tiempo que pasa entre el inicio y el final de una tarea.
    • Failed Deployments: Despliegues fallidos.
  • Fuente: Plutora: https://www.plutora.com/blog/agile-metrics.

Métricas o KPIs

  • Los dos atributos clave de un KPI son:

    • debe ser cuantificable, y
    • debe capturar directamente un negocio clave.
  • Por otro lado, podemos dividir las métricas en:

    • Métricas de desempeño (Lagging indicators) miden el pasado.
      • suelen estar orientadas a los resultados, fáciles de medir, pero difíciles de mejorar o influenciar.
    • Predictores de rendimiento (Leading indicators) ayudan a predecir el desempeño futuro.
      • suelen estar orientados a la entrada, son difíciles de medir y fáciles de influir.
  • Al establecer un KPI se debe tener en cuenta también la línea de base (baseline) de la cual se parte, una comparativa del mercado al cual se apunta (benchmarking), y el objetivo o target.

Fuente: https://www.kpi.org/kpi-basics/.

Imagen de portada: Web de MKDocs Material

Si buscas un formador para realizar un curso u otra actividad formativa (webinar, workshops, bootcamps, etc.) en tu organización, me puedes ubicar a través de la página de contacto. Muchas gracias.

Si te ha gustado el artículo puedes ayudarme haciendo una donación con criptomonedas. Gracias!!!