Encontrar el número mínimo de equipos funcionales necesarios para realizar tareas repetitivas

Tengo un Plan de proyecto en MS Project, es un proyecto de construcción que tiene tareas repetitivas y múltiples pandillas. Por ejemplo:

  • Edificio 1

    • Banda
    • Limpio
    • Pintura
    • Barniz
  • Edificio 2

    • Banda
    • Limpio
    • Pintura
    • Barniz
  • Edificio 3

    • Banda
    • Limpio
    • Pintura
    • Barniz
  • Edificio 4
    • Banda
    • Limpio
    • Pintura
    • Barniz

Ahora tengo 4 grupos de pintura (PG1, PG2, PG3 y PG4) actualmente los asigno en orden de salto, así que

  • Edificio 1 = PG1
  • Edificio 2 = PG2
  • Edificio 3 = PG3
  • Edificio 4 = PG4
  • Edificio 5 = PG1 etc...

El problema es que si deseo reducir la cantidad de Paint Gangs para ver si el proyecto aún termina a tiempo, actualmente aplico un filtro a la lista de tareas para mostrar solo las tareas de 'Paint', luego resalto la columna de recursos y la columna de predecesores y borra los. Luego selecciono la columna de recursos al lado de la tarea de pintura de cada edificio y selecciono la pandilla de pintura que sigue en el orden PG1, PG2, PG3, PG4, PG1, PG2, PG3, PG4 pero obviamente esto lleva mucho tiempo y luego los vinculo hasta.

¿Hay una manera más fácil de hacer esto?

Gracias

Si tiene 4 grupos de pintura, los edificios del 1 al 4 deberían poder realizarse simultáneamente. No estoy seguro de por qué está vinculando (y luego desvinculando) las tareas. Asignaría los equipos, buscaría sobreasignaciones y trabajaría a partir de ahí. Si todos los edificios están programados para la misma hora, en su escenario anterior, solo se sobreasignará la cuadrilla de pintura 1.
@JulieS Lo siento, no lo expliqué claramente, los edificios 1-4 se harían simultáneamente como usted sugiere, las tareas están vinculadas en función de las pandillas, por lo que todas las tareas PG1 están vinculadas, etc., por lo que la pintura de los edificios 5 no comenzaría hasta Se terminó la pintura del edificio 1. El problema es asignar las pandillas y luego vincularlas para 300 edificios es un trabajo largo, estoy pensando que tal vez me estoy equivocando al respecto.
Los puristas (y yo no soy uno) dirían que solo debe crear vínculos entre tareas impulsadas por la TAREA, no por los recursos. Por lo tanto, dentro de cada edificio debe haber vínculos entre Decapar, Limpiar, Pintar y Barnizar, ya que existen relaciones lógicas entre esas tareas. No vincule los edificios: asigne los recursos y luego busque sobreasignaciones en los recursos. Si desea vincular el Edificio 1 con el Edificio 5, le sugiero que utilice algunos de los campos Marcadores de repuesto para marcar las tareas que ha vinculado debido a la sobreasignación de recursos. Por ejemplo, establezca Flag1 en "sí" para enlaces PG1.
@JulieS, la razón por la cual Task & Resource vincula la pintura es que necesito saber cuántos grupos de pintura se requieren para el trabajo. la única forma que conozco de hacer esto es la forma en que expliqué, saltando PG1->4, PG1->4, etc., pero agregar o eliminar Paint Gangs lleva mucho tiempo en completarse, por eso tengo la sensación de que soy Echando de menos algo. La única otra forma en que se me ocurrió hacerlo fue tomar el número de edificios, dividirlo por el número de Paint Gangs y luego asignarlos por lotes PG1 do Buildings 1-75 inclusive, pero la pintura del edificio debe hacerse en orden. .
No estoy seguro de por qué se tarda tanto en agregar o quitar pandillas. Si usa la nivelación de recursos (como sugerí), agregue o elimine y vuelva a nivelar. Usa prioridades para decirle a Project qué edificios son más "importantes".
He jugado un poco más y puedo hacer que funcione bastante bien sin la vinculación y desvinculación que parece estar haciendo. Todos los edificios (8 en mi experimento) están configurados para comenzar el mismo día. He configurado los edificios 1-4 con una prioridad (agregue el campo y use el comando de relleno) de 999. Los siguientes 4 son 900. El grupo de pintura 1 se asigna (mediante el cuadro de diálogo de asignación de recursos) a las tareas en el edificio 1 y 5. La cuadrilla de pintura 2 se asigna a 2 y 6, la cuadrilla de pintura 3 a 3 y 7, y la cuadrilla de pintura 4 a 4 y 8. Nivelo la cuadrilla de pintura 1: retrasa el edificio 2 hasta el final del edificio 1.
Ahora descubro que solo tengo 3 equipos de pintura, he perdido el equipo de pintura 4, por lo que es necesario reemplazar el equipo en dos edificios B4 y B8. En el edificio 4, los reemplazo con Crew 1 (usando el comando reemplazar en Asignar recursos). La tripulación 1 ahora está sobreasignada entre B1 y B4. Necesito decidir si quiero construir el edificio 1, luego el edificio 4 y luego el edificio 5. Ajuste las prioridades según sea necesario y vuelva a nivelar. No estoy vinculando ni desvinculando y solo estoy reemplazando recursos donde sea necesario. ¿Esto ayuda?

Respuestas (2)

Cálculo del "Tiempo para completar" al estilo Kanban

No estoy seguro de si esto se puede hacer en MS Project o no, pero parece que lo que realmente está tratando de hacer es determinar (de manera similar a Kanban) cuánto tiempo necesitaría para vaciar una cola de trabajo asumiendo algún número variable de equipos. Normalmente haría esto calculando el rendimiento y el tiempo de entrega del ciclo , y luego aplicando esas cifras al tamaño de su cola de entrada.

Considere un ejemplo en el que el rendimiento es la cantidad de tiempo promedio que tarda una tarea de pintura en pasar de "iniciada" a "finalizada", y el tiempo_promedio_de_entrega es el tiempo que pasa un trabajo de pintura en la cola de entrada antes de que se inicie el trabajo. La fórmula podría verse así:

time_to_complete =   
    (paint_jobs_in_queue / (paint_gangs * throughput)) + 
    (average_lead_time * paint_jobs_in_queue)

Esta fórmula se basa en la idea de que todos los trabajos de pintura tienen un tamaño similar y que el rendimiento de cada equipo de pintura está dentro de dos desviaciones estándar de la media. Es posible que deba usar una fórmula más compleja si estas suposiciones no son válidas para su proyecto.

Su respuesta tiene sentido, pero ¿hay alguna forma de reflejar esto en MS Project? Eliminé 1 grupo de pintura ayer y me tomó alrededor de 2 horas hacerlo, la tarea depende de la tarea pero solo depende del trabajo de pintura anterior en el que estaba ese equipo.
El tiempo de pintura es el mismo en todos los edificios, actualmente para mis Paint Gangs tengo 4 'cascadas' en mi wbs, 1 por Paint Gang, me he estado golpeando la cabeza tratando de pensar en una forma más eficiente de hacer esto pero no no se me ocurre ninguna idea.
¿Estás seguro de que la fórmula es correcta? Si tomo el rendimiento como "tiempo por trabajo", entonces debe multiplicarlo por la cantidad de trabajos para obtener un tiempo total, no dividir la cantidad de trabajos por él.
@BartvanIngenSchenau Asuma 10 trabajos, 4 cuadrillas, y cada cuadrilla puede hacer 1 trabajo de pintura por día. 2.5 days = 10 jobs / (4 gangs * 1 day per job)me parece correcto, más tiempo de entrega; sin embargo, agregar un tiempo de entrega promedio de 5 days = ((5 * 0) + (5 * 1 day)) * 10 jobspuede o no generar un valor razonable para su proceso de trabajo, pero tendría en cuenta los procesos de instalación/desmontaje y el traslado de edificios si tales cosas afectan su cronograma. Simplemente puede dividir la segunda parte en una métrica completamente separada si eso es más útil. YMMV.
@BartvanIngenSchenau Pero no... No estoy absolutamente seguro de que las matemáticas sean correctas. Simplemente lo ofrecí como punto de partida. Correcciones, sugerencias y ejemplos resueltos son bienvenidos.
@CodeGnome: Asumir 10 trabajos, 4 cuadrillas y 2 días por trabajo: 1.25 day = 10 jobs / (4 gangs * 2 day per job)me parece incorrecto. Si ignoro por completo el tiempo de entrega, un mejor punto de partida podría ser RoundUp(paint_jobs_in_queue / paint_gangs) * average_time_per_job_per_gang. El redondeo se basa en el supuesto de que no es posible asignar varias cuadrillas al mismo trabajo.
@BartvanIngenSchenau Creo que me descarrilé tratando de descomponer el rendimiento por proceso en rendimiento por equipo y por grupo. ¿Sobre qué (paint_jobs_in_queue * (team_throughput_per_day / paint_gangs))? El tiempo de entrega generalmente también es por proceso y se ve afectado por el límite WIP, por lo que tiene problemas similares. Podemos pasar esto al chat si crees que vale la pena profundizar más.

Debería poder asignar las cuadrillas a un tipo de recurso. A continuación, especifique el tipo de recurso para las tareas de cada edificio. Entonces debería ser posible nivelar sus recursos. Establecer límites de fecha en las fechas de inicio y finalización puede ayudar a ordenar la asignación de edificios.

Mientras no termine con cosas en una ruta crítica, puede calcular la cantidad de grupos necesarios manualmente.

  • Sume el número de días de esfuerzo.
  • Divida por el número de días de trabajo hasta que se deba completar todo el trabajo.
  • Redondea al siguiente número.

Por ejemplo:

  • 231 días de esfuerzo.
  • 68 días hasta la finalización
  • Calcula hasta 3,4 cuadrillas.
  • El redondeo produce 4 bandas.

Luego puede usar el software del proyecto para asignar los equipos a edificios particulares. Tenga cuidado con el tiempo de inactividad inesperado o la sobrecarga de recursos. Las vacaciones y otros eventos pueden causar desviaciones inesperadas de la actividad planificada.