En los principios ágiles , el timeboxing asigna una unidad máxima de tiempo a una actividad, denominada timebox , dentro del cual se lleva a cabo una actividad planificada. Se utiliza en los enfoques de gestión de proyectos basados en principios ágiles y para la gestión del tiempo personal.
El timeboxing se utiliza como técnica de planificación de proyectos . El cronograma se divide en varios períodos de tiempo separados (timeboxes), y cada parte tiene sus propios entregables, plazo y presupuesto. [ cita requerida ] A veces se lo denomina cronograma como variable independiente (SAIV). [1] "El timeboxing funciona mejor en proyectos o tareas de varias etapas que requieren poco tiempo y se pueden incluir en el mismo intervalo de tiempo. También vale la pena implementarlo en el caso de tareas que tienen plazos de finalización previsibles". [2]
En la gestión de proyectos , generalmente se consideran tres restricciones : tiempo (a veces cronograma ), costo (a veces presupuesto ) y alcance . [3] [4] [5] [6] [7] ( La calidad a menudo se agrega como una cuarta restricción, representada como el medio de un triángulo. [8] [9] [10] ) Se supone que un cambio en una restricción afectará a las demás. [6]
Sin timeboxing, los proyectos suelen funcionar con un alcance fijo, [11] en cuyo caso, cuando queda claro que algunos entregables no se pueden completar dentro de los plazos planificados, se debe extender el plazo (para tener más tiempo para completar el alcance fijo) o se involucra a más personas (para completar el alcance fijo en el mismo tiempo). A menudo ocurren ambas cosas, lo que da como resultado demoras en la entrega, mayores costos y, a menudo, una calidad reducida (según el principio mítico del hombre-mes ).
En el caso del timeboxing, la fecha límite es fija, lo que significa que el alcance debe reducirse. Como esto significa que las organizaciones deben centrarse en completar primero los entregables más importantes, el timeboxing suele ir de la mano de un esquema de priorización de entregables (como el método MoSCoW ). [12]
Los timeboxes se utilizan como una forma de gestión de riesgos , para identificar explícitamente relaciones inciertas entre tareas y tiempo, es decir, trabajo que puede extenderse fácilmente más allá de su fecha límite. Las limitaciones de tiempo son a menudo un factor principal en la planificación y no deben cambiarse sin considerar las rutas críticas del proyecto o subproyecto. Es decir, normalmente es importante cumplir con los plazos. Los factores de riesgo de incumplimiento de los plazos pueden incluir complicaciones en la fase anterior del proyecto, errores de planificación dentro del proyecto, problemas relacionados con el equipo o ejecución defectuosa del plan. Los problemas en la fase anterior pueden incluir cambios en la misión del proyecto o en el respaldo/apoyo de la dirección. Un error de planificación común es el desglose inadecuado de las tareas, que puede llevar a subestimar el tiempo necesario para realizar el trabajo. Los problemas relacionados con el equipo pueden incluir problemas con la comunicación entre equipos; falta de experiencia o de multifuncionalidad requerida; falta de compromiso/empuje/motivación (es decir, formación y gestión deficientes del equipo).
Para cumplir con el plazo, comúnmente se evalúan las siguientes acciones frente a las restricciones triples:
Muchos proyectos de desarrollo de software exitosos utilizan timeboxing, especialmente los más pequeños. [13] La adopción de timeboxing triplicó la productividad de los desarrolladores en DuPont en los años 80. [14] En algunos casos, las aplicaciones se entregaron completamente dentro del tiempo estimado para completar solo una especificación . [14] Sin embargo, Steve McConnell sostiene que no todos los productos son adecuados [14] y que el timeboxing solo debería usarse después de que el cliente acepte reducir las características, no la calidad. [14] Hay poca evidencia de una fuerte adopción entre la clase más grande de proyectos. [13]
El timeboxing ha sido adoptado por algunas metodologías de desarrollo de software notables :
El desarrollo de software ágil aboga por pasar de un desarrollo orientado a la planificación a un desarrollo orientado al valor . La calidad y el tiempo son fijos, pero se permite flexibilidad en el alcance. Entregar primero las características más importantes conduce a un retorno de la inversión más temprano que el modelo en cascada . [7]
La falta de especificaciones detalladas suele ser consecuencia de la falta de tiempo o de la falta de conocimiento del resultado final deseado (solución). En muchos tipos de proyectos, y especialmente en ingeniería de software, es imposible analizar y definir todos los requisitos y especificaciones antes del inicio de la fase de realización. El timeboxing puede ser un tipo de contratación favorable para proyectos en los que la fecha límite es el aspecto más crítico y cuando no se especifican todos los requisitos por completo desde el principio. Esto también permite que los nuevos comentarios o los nuevos conocimientos descubiertos durante el proyecto se reflejen en el resultado final. [12]
El timeboxing se puede utilizar para tareas personales, en cuyo caso utiliza una escala reducida de tiempo (por ejemplo, treinta minutos) y de entregables (por ejemplo, una tarea doméstica en lugar de un entregable de un proyecto), y a menudo se denomina timeblocking .
También se dice que el timeboxing personal actúa como un truco de vida para ayudar a frenar las tendencias perfeccionistas (al establecer un tiempo firme y no comprometerse demasiado con una tarea), lo que también puede mejorar la creatividad y la concentración (al crear una sensación de urgencia o mayor presión). [21]
El timeboxing actúa como un elemento fundamental en otros métodos de gestión personal del tiempo: