Continuamos con el conocimiento sobre gestión de proyectos o de equipos, y concretamente con la metodología Kanban. En el primer artículo hicimos una pequeña intrducción a la misma, origen, principios y prácticas clave y como empezar a utilizar tableros Kanban. En el segundo artículo de la serie profundizamos en estrategias y buenas prácticas para sacar todo el juego a esta filosofía de trabajo. En el artículo de hoy vamos a tratar de aterrizar los conceptos vistos anteriormente con la explicación de algunos casos prácticos del uso de la metodología.
Introducción
Kanban es una metodología ágil enfocada en la mejora continua y la gestión visual y ha demostrado ser una herramienta valiosa en la dirección de equipos, independientemente del sector o la industria. Su aplicación práctica va más allá de las operaciones de manufactura o de fabriación donde se originó y se ha extendido a sectores diversos como el desarrollo de software, la elaboración normativa o la contratación pública. El único requisito para poder aplicarla es que se pueda definir un flujo de trabajo.
A continuación veremos casos concretos de la aplicación de kanban a diferentes contextos y como esto facilita la dirección de equipos, promoviendo la eficiencia, la adaptabilidad y la colaboración.
Se describirán ejemplos de posibles columnas que puede tener un tablero kanban, buenas prácticas y políticas explicitas que se pueden aplicar en diferentes contextos, proporcionando una visión clara de su versatilidad y efectividad.
Es importante notar que no se trata más que de ejemplos para aterrizar aún más los conceptos que se han visto, pero que no se pueden llevar a la práctica sin un procedimiento de adaptación al equipo y al flujo de trabajo concreto. Solo se pretender dar ideas que puedan servir de inicio para el proceso de reflexión necesario en la implementación de la filosofía.
Kanban en el Desarrollo de Software
La aplicación de Kanban en el desarrollo de software es una estrategia eficaz para mejorar la fluidez del trabajo, aumentar la transparencia entre los miembros del equipo y fomentar una cultura de mejora continua. Kanban se adapta bien al entorno dinámico del desarrollo de software, donde los requisitos pueden cambiar frecuentemente y la capacidad de responder rápidamente es crucial.
Diseño del tablero
Algunas columnas típicas en un tablero Kanban en el desarrollo de software, pueden ser las siguientes:
- Backlog (Pendientes): Lista de tareas que aún no han sido iniciadas. Esta columna se utiliza para visualizar, priorizar y seleccionar lo que se trabajará a continuación.
- To Do (Por Hacer): Tareas que se han seleccionado para trabajar en el corto plazo pero que aún no han comenzado.
- Coding (Codificación): Aquí se ubican las tareas sobre las que se está trabajando mediante la escritura de código del software.
- Testing (Pruebas): Tareas que están siendo sometidas a pruebas para verificar su funcionamiento correcto.
- Review (Revisión): Esta columna es para el código que necesita ser revisado por otros miembros del equipo antes de considerarse completado.
- Done (Hecho): Tareas completadas satisfactoriamente y que están listas para la siguiente fase que suele ser promoción entre entornos, que suele acabar con el pase a producción.
Buenas prácticas
Ideas de buenas prácticas que se pueden utilizar en la aplicación de kanban en el desarrollo de software:
- Pautas de revisión de código: Para tareas en la columna "Revisión", establecer un conjunto de buenas prácticas que se deban llevar a cabo para alcanzar el objetivo perseguido, por ejemplo que cada pieza de código debe ser revisada por al menos otro miembro del equipo antes de considerarse completa. Esto ayuda a mantener la calidad del código y fomentar el aprendizaje cruzado dentro del equipo.
- Automatización de pruebas: Incentivar la integración y despliegue continuos (CI/CD) con pruebas automatizadas que deben pasar antes de que el código pueda avanzar a la columna "Done" o a otra columna intermedia si así se considera. Esto reduce los errores y mejora la calidad del software.
- Refactorización y deuda técnica: Promover un enfoque proactivo para la refactorización y la gestión de la deuda técnica. Esto se puede hacer mediante medidas como que cualquier tarea relacionada con la mejora de la calidad debe ser tratada con la misma prioridad que el desarrollo de nuevas características para mantener la salud a largo plazo del código y con ello el coste de mantenimiento.
- Reuniones de sincronización diarias: Utilizar reuniones diarias cortas para actualizar el estado del tablero, identificar cuellos de botella y facilitar la redistribución de trabajo si es necesario. Esto mantiene a todos en la misma página y promueve la colaboración.
Políticas específicas
Se indican a continuación algunas políticas específicas que se suelen implementar en el contexto del desarrollo de software:
- Definición de "Hecho": Aparte de los criterios básicos, incluir específicamente la necesidad de documentación adecuada, pruebas unitarias completas, revisión de pares, y la aprobación de CI/CD como parte de los requisitos para considerar una tarea como "Hecho".
- Gestión del WIP por roles: Establecer límites de WIP no solo por columna sino también por roles dentro del equipo (desarrolladores, testers, diseñadores, etc.), para asegurar un balance en el trabajo y evitar sobrecargas en áreas específicas.
- Política de manejo de bloqueos: Definir un proceso claro para identificar y gestionar tareas bloqueadas, incluyendo la asignación de responsables para su resolución y tiempos máximos de espera antes de requerir acciones correctivas.
- Priorización dinámica en el Backlog: Implementar un sistema de priorización flexible que permita reevaluar y ajustar la prioridad de las tareas en el backlog regularmente, basándose en el feedback del cliente, el impacto en el producto y los objetivos estratégicos.
Kanban en la elaboración de normativa
El proceso de elaboración normativa, como puede ser la creación de una orden ministerial, es un proceso administrativo formal que implica varios pasos desde la concepción hasta su publicación oficial.
Este proceso requiere una meticulosa atención a los detalles, consulta y colaboración entre unidades o interdepartamental, así como el cumplimiento de los requisitos legales. Para gestionar este proceso de manera eficiente y transparente, se puede adaptar el enfoque Kanban, implementando prácticas y políticas específicas adecuadas al contexto gubernamental y administrativo.
Diseño del tablero
Ideas de columnas que podría tener en un tablero Kanban para elaboración de normativa:
- Propuesta: Fase inicial donde se identifica la necesidad de una nueva orden ministerial o la revisión de una existente.
- Análisis preliminar: Evaluación de la viabilidad, impacto legal y socioeconómico, y definición de objetivos de la orden.
- Redacción: Elaboración del primer borrador de la orden.
- Consulta interna: Fase de recopilación de información y documentos sobre la orden dentro de la misma unidad o departamento que la tramita.
- Consulta interdepartamental: Fase de recopilación de información y documentos fuera del departamento que se tramita, pero dentro de la propia administración.
- Revisión y adaptación previa: Fase de preparación de la norma para la consulta pública.
- Consulta pública: Fase de recopilación de comentarios y sugerencias del público general.
- Revisión y ajustes: Incorporación de feedback, ajustes y refinamiento del texto de la orden.
- Aprobación final: Revisión final y firma por parte del ministro o autoridad competente.
- Publicación: Publicación en el boletín oficial correspondiente para su entrada en vigor.
Buenas prácticas
A continuación se describen algunas buenas prácticas específicas al contexto de elaboración normativa:
- Vocabulario comun: Establecer unas pautas comunes para denominar a aquellos elementos que son relevantes en la normativa de que se trate.
- Transparencia y accesibilidad: Mantener el proceso abierto a la participación y observación por parte de todos los stakeholders relevantes, asegurando que la información esté accesible y sea comprensible.
- Iteración basada en feedback: Fomentar un proceso iterativo que permita modificaciones basadas en el feedback recibido en la fase de consulta interna, interdepartamental y pública.
- Gestión estricta de los plazos: Establecer y adherirse a plazos estrictos para cada fase del proceso, asegurando una progresión eficiente y evitando retrasos innecesarios.
Políticas específicas
Ideas de políticas específicas que se podrían aplicar al uso de Kanban en el contexto de elaboración normativa:
- Criterios de consulta: Definir claramente quiénes deben ser consultados en cada fase del proceso y en qué casos debe hacerse, incluyendo expertos legales, otros ministerios, stakeholders externos, así como cuándo es apropiado realizar una consulta pública.
- Proceso de aprobación escalonado: Establecer un proceso de aprobación escalonado que requiera la aprobación o firma en varios niveles, asegurando que todas las partes relevantes hayan revisado y estén de acuerdo con el contenido final antes de la aprobación.
- Requisitos de publicación: Especificar los requisitos para la publicación, incluyendo el formato, los canales oficiales (por ejemplo, boletín oficial del estado), y los plazos después de la aprobación para garantizar el cumplimiento legal.
- Mantenimiento del tablero: Dado que es un proceso en el que suelen actuar muchos actores de fuera del equipo, es importante que algunos miembros del equipo estén asignados a la actualización de la información cuando intervienen agentes externos.
Kanban en la licitación pública
El proceso de licitación pública es un procedimiento administrativo formal y complejo que las entidades gubernamentales utilizan para adquirir bienes, servicios o obras, garantizando la transparencia, la competencia y la igualdad de condiciones para todos los oferentes.
El tablero a utilizar dependerá del tipo de procedimiento y del tipo de contrato pero se pueden hacer algunas generalizaciones.
Diseño del tablero
Columnas típicas en un tablero Kanban para licitaciones públicas:
- Previsiones: Abarca a las necesidades que se han previsto que van a requerir una contratación y, por tanto, un trabajo de la unidad de contratación.
- Preparación de documentos: Creación de todos los documentos necesarios para la licitación, incluyendo la memoria justificativa, los pliegos de condiciones y demas documentos administrativos. Es habitual que tenga múltiples columnas para los diferentes documentos.
- Difusión de la licitación: Difusión de la licitación entre los interesados, que puede consistir en la solicitud de ofertas en un contrato menor, la comunicación a los integrantes de un Sistema Dinámico de Adquisición o la publicación oficial de la convocatoria de licitación en los boletines oficiales y plataformas de contratación.
- Presentación de propuestas: Periodo durante el cual los licitadores preparan y presentan sus propuestas en respuesta a la convocatoria.
- Evaluación de propuestas: Revisión y evaluación de las propuestas presentadas por los licitadores para asegurar que cumplen con los requisitos técnicos y administrativos y valorar la calidad de las mismas. Puede tener múltiples subfases en función de la contratación (sobre 1 y sobre 2).
- Adjudicación: Decisión sobre la adjudicación del contrato al licitador que haya presentado la oferta económicamente más ventajosa, de acuerdo con los criterios establecidos en el pliego de condiciones.
- Formalización del contrato: Firma del contrato con el adjudicatario y comunicación oficial a los participantes.
En este tipo de procesos es habitual incluir columnas relativas a los informes jurídicos requeridos así como a la fiscalización de los documentos por parte de la Intervención Delegada. Las columnas concretas y el orden depende de múltiples factores como el tipo de contrato del que se trate o el órgano de contratación, por lo que no se incluyen para no hacer aun más complicado el ejemplo.
Buenas prácticas
Algunas buenas prácticas específicas habituales para las licitaciones públicas:
- Criterios de adjudicación: Establecer y publicar criterios de adjudicación detallados y objetivos desde el inicio del proceso para guiar tanto la preparación de las propuestas por parte de los licitadores como su evaluación posterior.
- Periodos de aclaraciones: Establecer periodos específicos donde los licitadores pueden hacer preguntas o solicitar aclaraciones sobre el pliego de condiciones, asegurando que todas las propuestas se basen en una comprensión clara de los requisitos.
- Revisión por pares de las evaluaciones: Implementar un sistema de revisión por pares para las evaluaciones de las propuestas, con el fin de minimizar el sesgo y asegurar una evaluación justa y objetiva.
- Revisión por pares de la documentación: Dado que los procesos de contratación suelen requerir fases de fiscalización e informes jurídicos puede ser muy convniente en determinados contratos establecer una revisión de la documentación por pares para evitar informes negativos u observaciones que impliquen retrasos en esas fases.
Políticas específicas
Políticas específicas habituales en el uso de Kanban en licitaciones públicas:
- Responsables de la Información identificativa: En contratación suele haber mucha información dispersa por diferentes fuentes (SOROLLA, PLACESP, etc.) es importante que en el diseño de las tarjetas se plasmen campos que permitan identificar y agrupar la información que se refiere al mismo expediente de contratación y gasto. Esta información a veces no se puede obtener automáticamente de las diferentes fuentes por lo que será necesario establecer roles responsables de mantener la coherencia de la misma.
- Auditoría y revisión post-adjudicación: Implementar procedimientos de auditoría y revisión después de la adjudicación para evaluar la eficacia del proceso de licitación y identificar áreas de mejora.
- Mantenimiento del tablero: Dado que es un proceso en el que suelen actuar muchos actores de fuera del equipo, es importante que algunos miembros del equipo estén asignados a la actualización de la información cuando intervienen agentes externos.
El proceso de contratación es muy complejo con multitud de casuísticas diferentes y multiplicidad de actores, a la hora de abordar la implementación de la filosofía Kanban puede haber tentación de pretender plasmar en el tablero todos los posibles estados del expediente de contratación y todas las fases y subfases posibles. Hacer esto es, en general, mala idea ya que va a reducir enormemente la capacidad de visualizar el trabajo, que es uno de los objetivos esenciales de Kanban, y va a dificultar el mantenimiento del tablero, algo esencial en el uso de la metodología.
Conclusiones
El método Kanban, que tiene su origen en la industria automovilística japonesa y se basa en la definición y visualización del flujo de trabajo, mediante tableros Kanban. Entre sus prácticas habituales se encuentra la limitación del trabajo en curso (WIP del inglés Work In Progress) y la detección de cuellos de botella para reducir los tiempos de entrega. El objetivo final de Kanban es producir a demanda lo que el cliente necesita lo más rápidamente posible reduciendo el inventario y el desperdicio, siguiendo la filosofía de construcción Just-In-Time.
Aunque su origen está en la producción de bienes, este marco de trabajo se utiliza con notables beneficios en otros ámbitos como el desarrollo de software y puede utilizarse en otros muchos contextos donde se pueda definir claramente un flujo de trabajo.
Dado que está muy centrado en la visualización y la mejora continua, esta filosofía fomenta la transparencia y la colaboración, elemento esencial en la creatividad y en la ideación de ideas y propuestas de mejora.