В чем разница между вытягивающей и проталкивающей системами

«В чем разница между вытягивающей и проталкивающей системами» — вопрос из категории Методологии разработки, который задают на 23% собеседований Менеджер Проектов. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Вытягивающая система (Pull System)
Работает по принципу «забирай по мере необходимости». Задачи выполняются только при поступлении запроса от следующего этапа. Пример: Kanban, где новая задача берется в работу только при освобождении ресурсов.

Проталкивающая система (Push System)
Задачи планируются и распределяются заранее, вне зависимости от готовности следующего этапа. Пример: Waterfall, где этапы выполняются строго по плану, даже если следующий этап не готов принять результат.

Ключевое отличие

  • Pull минимизирует перегрузку (ограничение WIP), снижает потери.
  • Push рискует создать очереди (бутылочное горлышко), если следующий этап не успевает.

Пример (код):

# Pull System (Kanban)  
if team_capacity > 0:  
    start_new_task()  

# Push System (Waterfall)  
schedule_all_tasks_in_advance()  # Независимо от текущей загрузки  

Выбор зависит от гибкости проекта: Agile/Kanban — Pull, жесткие сроки/бюджет — Push.