Я читал « Объяснение экстремального программирования», второе издание, а в главе 11 «Теория ограничений» авторы рассказывают о старой и устаревшей модели «push» развития и способе XP, модели «pull» . Это выглядит как довольно важная концепция, но для этого требуется только очень маленький абзац и два изображения, которые являются просто иллюстрациями «водопада» и итеративного процесса, ничего особенного в этих моделях, за исключением подписи к изображению. Я искал, и это не идет дальше об этом в остальной части книги. Я не мог найти дальнейших объяснений или дискуссий по этому поводу в Интернете.
Если единственное различие между ними состоит в том, что один является «водопадом», а другой - итеративным , то зачем им толкать и зачем тянуть?
Кто-нибудь понимает, в чем разница между этими двумя, и приводит несколько хороших примеров?
Ответы:
Разница между системой push и pull заключается в том, как единицы работы назначаются человеку, который будет выполнять эту единицу работы. Концепция push и pull не уникальна для разработки программного обеспечения - идея берет свое начало от логистики и управления цепями поставок .
В push-системе создается какая-то задача, которая затем назначается разработчику. Задачей может быть что угодно, от реализации требования (или компонента, необходимого для реализации требования) до исправления ошибки в документе для записи. Кто-то, обычно какой-то менеджер или руководитель группы, берет единицы работы, которые необходимо выполнить, а затем распределяет их среди членов команды для выполнения. Просто работа навязывается людям, которые будут ее выполнять.
В системе извлечения задачи, которые необходимо выполнить, хранятся в очереди, часто в приоритетной очереди. Примером могут служить журналы Scrum по продуктам и спринтам, которые содержат пользовательские истории, которые необходимо выполнить. Разработчик, который в настоящее время ни над чем не работает, пойдет в очередь и снимает историю с наивысшим приоритетом, которую он может сделать, и работает над ней. Люди, которые делают работу, вытягивают работу из списка и делают это.
Концепция push и pull не связана с итеративной / последовательной или последовательной разработкой. Команда, использующая итеративные / инкрементные / гибкие методы, может использовать систему push, в то время как команда, использующая последовательную разработку, может использовать систему pull. Однако, как правило, гибкие методы (XP, Scrum) предпочитают самоорганизующиеся команды и, следовательно, используют системы.
Для получения дополнительной информации, возможно, вас заинтересует этот пост в блоге « Push vs. Pull in Scrum» . Kanban также может быть интересен - Kanban - это методология, которая исходит из производства, но может быть применена к разработке программного обеспечения , которая делает упор на своевременную разработку и снижает перегрузку на работников. Kanban также связан и часто используется с Lean , еще одной производственной концепцией, которая может применяться для разработки программного обеспечения .
источник