Programación de tareas
3.2 Programación de tareas
La programación de tareas es el proceso operativo mediante el cual las tareas de mantenimiento planificadas se traducen en un calendario específico: qué tarea se ejecuta en qué momento, por quién, con qué duración, utilizando qué recursos. Si la planificación del mantenimiento establece el marco estratégico (qué debe hacerse, con qué prioridad), la programación de tareas es la ejecución táctica que determina el quién, cuándo y dónde precisos. Una buena programación maximiza eficiencia (evita tiempos muertos, agrupa tareas relacionadas), respeta restricciones operacionales (ventanas de disponibilidad de equipamiento), y asegura que personal y recursos estén disponibles cuando se necesitan.
En contextos de automatización industrial moderna, la complejidad de programación puede ser considerable. Una fábrica mediana puede gestionar 50-100 equipos críticos, cada uno con 5-20 tareas de mantenimiento distintas con intervalos variables (diarios, semanales, mensuales, trimestrales, anuales). Cuando se suma que la disponibilidad de personal cualificado es limitada, que hay restricciones de tiempo para paradas, y que ocurren eventos no planificados (fallos de emergencia que absorben recursos), la programación se convierte en un problema de optimización combinatoria de considerable complejidad.
Principios fundamentales de la programación eficiente
El primer principio es la continuidad. Un técnico debe transitar entre tareas sin tiempos muertos improductivos. Si un técnico realiza el mantenimiento de dos compresores en la misma mañana, es eficiente agrupar ambas tareas (especialmente si están en la misma ubicación física) que dispersarlas a través del día. De esta forma se minimizan desplazamientos y se maximiza el tiempo efectivo de trabajo.
El segundo principio es la especialización. No todos los técnicos poseen las mismas competencias. Un técnico electrónico no puede calibrar un sensor de presión neumática con la misma competencia que un especialista en sistemas neumáticos. Asignar tareas al técnico incorrecto extiende tiempos, reduce calidad, o ambas cosas. Una buena programación respeta las competencias de cada técnico, asignándole tareas para las que está cualificado.
El tercer principio es la flexibilidad controlada. La realidad operacional siempre difiere del plan teórico. Una tarea toma más tiempo de lo estimado, surge una emergencia, un técnico se enferma. Una buena programación tiene colchón (slack), permitiendo ajustes sin que el derrumbe total. Esto significa no programar tareas al límite máximo de capacidad, sino mantener un 10-15% de capacidad disponible para absorber desviaciones.
El cuarto principio es la visibilidad. Todos los involucrados (técnicos, supervisores, producción) deben conocer el plan y, especialmente, cualquier cambio respecto al plan. Esto evita conflictos sorpresivos y permite que se negocie pro-activamente cuando surgen desviaciones.
Métodos de programación: empuje versus tracción
Existen dos paradigmas principales en programación de tareas. El enfoque de empuje (push) es donde el supervisor programa las tareas al inicio del período (semana, mes) y luego comunica el plan a los técnicos para que lo ejecuten. Este enfoque es predecible pero rígido: si una emergencia surge, el plan se desmorona.
El enfoque de tracción (pull) es donde se mantiene un backlog de tareas disponibles y los técnicos extraen (tiran) tareas según su capacidad disponible. Esto es más flexible pero requiere mayor comunicación y disciplina. Un técnico que completa una tarea antes de lo esperado puede inmediatamente aceptar otra del backlog, sin esperar a que alguien le asigne. Este enfoque es particularmente efectivo en contextos donde hay mucha variabilidad.
Muchas organizaciones modernas utilizan un híbrido: se programa un 70-80% de capacidad de forma tradicional (push), manteniendo un 20-30% como capacidad flexible (pull) para absorber eventos no previstos y permitir que técnicos con capacidad disponible auto-asignen tareas.
Construcción de un programa semanal de mantenimiento
La unidad de programación más común es la semana. A nivel operativo, un supervisor programa las tareas específicas de mantenimiento para la semana siguiente. El proceso típico es: (1) revisar qué tareas están vencidas o próximas a vencer (basado en los intervalos especificados), (2) revisar qué personal está disponible durante esa semana, (3) revisar qué ventanas de disponibilidad existen en cada equipamiento, (4) asignar tareas a personas y momentos específicos respetando restricciones, (5) comunicar el plan, (6) ejecutar el plan, (7) registrar lo realizado y desviaciones, (8) analizar desviaciones para mejorar futuros planes.
Un formato típico de programa semanal es una tabla con filas para cada día (u hora, en operaciones 24/7) y columnas para cada técnico (o equipo). Cada celda indica qué tarea está asignada, con indicadores visuales de estado (planificada, en ejecución, completada, retrasada). Los sistemas CMMS modernos generan automáticamente estas vistas dinámicamente, actualizando en tiempo real conforme se reportan progresos.
Un aspecto crucial es la planificación de la capacidad. Si el total de horas estimadas de todas las tareas programadas es 45 horas y se dispone de 48 horas de capacidad de personal, aparentemente hay espacio. Sin embargo, si esas 45 horas incluyen tareas que dependen unas de otras (una no puede empezar hasta que otra termine), la secuencia real podría requerir 60 horas calendario. Un buen programador entiende estas dependencias y las maneja explícitamente.
Gestión de tareas de duración variable y emergencias
Una complicación realista es que los tiempos estimados de tareas son justamente eso: estimaciones. En la práctica, cambiar el aceite de una caja de engranajes puede tomar 2 horas en condiciones normales, pero 4 horas si el componente está oxidado o inaccessible. Agregar una estimación de tiempo probable y un máximo realista (por ejemplo, 2-3 horas) permite programadores ajustar expectativas.
Similarmente, las emergencias ocurren: una máquina se daña inesperadamente, un componente crítico falla sin aviso. La programación debe contemplar cómo se abordan estas situaciones sin que desmoronar todo el plan. Una estrategia es mantener un técnico como respuesta a emergencias durante cada turno, disponible para intervenciones no planificadas. Otra es tener tareas de baja prioridad que pueden ser desplazadas (postponidas) si surge una emergencia.
Programación multiequipo y coordinación
Cuando el mantenimiento de un equipamiento requiere múltiples técnicos simultáneamente (por ejemplo, calibración de un sistema de visión que requiere un especialista eléctrico y un especialista de sensores), la programación debe asegurar que ambos técnicos estén disponibles en el mismo momento. Esto añade una restricción de precedencia: ambas personas deben estar libres al mismo tiempo, lo cual es menos probable que solo una persona.
En sistemas de automatización complejos, mantenimiento de un subsistema frecuentemente requiere coordinación con producción para bajar el sistema de manera segura, con otros departamentos para acceder a áreas físicamente, con almacenes para confirmar disponibilidad de repuestos. Una buena programación coordina estas dependencias, clarificando responsables y secuencias.
Ejemplo práctico: programación semanal de un equipo de cuatro técnicos
Considere un equipo de cuatro técnicos que mantiene una línea de producción semiautomatizada. Cada técnico trabaja 40 horas semanales (160 horas totales disponibles). De esas, 20 horas (12.5%) se anticipan para tareas no planificadas (respuesta a emergencias, administración). Quedan 140 horas para mantenimiento planificado.
El catálogo de tareas planificadas para esa semana suma 130 horas, deixando un 7% de colchón. Las tareas se agrupan por especialidad: el técnico eléctrico recibe 40 horas de tareas eléctricas, el especialista mecánico recibe 35 horas de tareas mecánicas, el especialista neumático recibe 30 horas, y el técnico general recibe 25 horas. Se distribuyen a través de la semana respetando las ventanas de disponibilidad de equipamiento: máquinas críticas se mantienen los sábados cuando la producción es baja, máquinas secundarias los viernes.
Un técnico que trabaja en ciertos equipamientos puede estar inactivo en momentos en que esas máquinas están en producción crítica. En esos momentos, se le asignan tareas menores (limpieza, organización, inspección visual) que siempre necesitan hacerse. Esto asegura utilización productiva sin parar equipamiento crítico.
Monitoreo y ajustes durante la semana
La programación no es estática. Durante la semana, conforme se ejecutan tareas, se monitora el progreso. Si una tarea se completa antes de lo estimado, se captura esa capacidad liberada y se asigna una tarea del backlog. Si una tarea se retrasa, se negocia si es posible absorber el retraso o si debe postergarse otras tareas. Al fin de la semana, se analiza: ¿qué se completó conforme a plan? ¿Qué se atrasó y por qué? ¿Qué emergencias consumieron tiempo no previsto? Este análisis retroalimentar el plan de la siguiente semana, mejorando precisión de estimaciones y conocimiento de restricciones reales.
Ideas clave
- La programación de tareas traduce la planificación estratégica en calendario operativo específico (quién, cuándo, qué), maximizando eficiencia y respetando restricciones reales.
- Los principios de continuidad, especialización, flexibilidad controlada y visibilidad son fundamentos de programación efectiva.
- El enfoque híbrido (push 70-80% más pull 20-30%) combina predictibilidad con flexibilidad para absorber variabilidad operacional.
- Asignar tareas conforme a competencias del personal, agrupar tareas para eficiencia de desplazamientos, y coordinar dependencias son técnicas clave.
- Mantener un colchón de capacidad (10-15% no programado) es esencial para absorber desviaciones sin que el plan colapse.
- El monitoreo continuo y el análisis de desviaciones permiten mejorar iterativamente la precisión de programación y la comprensión de restricciones reales.