В чем отличие от двухтактных моделей разработки?


14

Я читал « Объяснение экстремального программирования», второе издание, а в главе 11 «Теория ограничений» авторы рассказывают о старой и устаревшей модели «push» развития и способе XP, модели «pull» . Это выглядит как довольно важная концепция, но для этого требуется только очень маленький абзац и два изображения, которые являются просто иллюстрациями «водопада» и итеративного процесса, ничего особенного в этих моделях, за исключением подписи к изображению. Я искал, и это не идет дальше об этом в остальной части книги. Я не мог найти дальнейших объяснений или дискуссий по этому поводу в Интернете.

Если единственное различие между ними состоит в том, что один является «водопадом», а другой - итеративным , то зачем им толкать и зачем тянуть?

Кто-нибудь понимает, в чем разница между этими двумя, и приводит несколько хороших примеров?



1
Непрерывный и инкрементальный - еще одна базовая концепция, которая может сбивать с толку. Например, XP - это система инкрементного вытягивания, в то время как Kanban полагается на непрерывное вытягивание (то есть без спринтов в штучной упаковке).
Майкл

Ответы:


16

Разница между системой push и pull заключается в том, как единицы работы назначаются человеку, который будет выполнять эту единицу работы. Концепция push и pull не уникальна для разработки программного обеспечения - идея берет свое начало от логистики и управления цепями поставок .

В push-системе создается какая-то задача, которая затем назначается разработчику. Задачей может быть что угодно, от реализации требования (или компонента, необходимого для реализации требования) до исправления ошибки в документе для записи. Кто-то, обычно какой-то менеджер или руководитель группы, берет единицы работы, которые необходимо выполнить, а затем распределяет их среди членов команды для выполнения. Просто работа навязывается людям, которые будут ее выполнять.

В системе извлечения задачи, которые необходимо выполнить, хранятся в очереди, часто в приоритетной очереди. Примером могут служить журналы Scrum по продуктам и спринтам, которые содержат пользовательские истории, которые необходимо выполнить. Разработчик, который в настоящее время ни над чем не работает, пойдет в очередь и снимает историю с наивысшим приоритетом, которую он может сделать, и работает над ней. Люди, которые делают работу, вытягивают работу из списка и делают это.

Концепция push и pull не связана с итеративной / последовательной или последовательной разработкой. Команда, использующая итеративные / инкрементные / гибкие методы, может использовать систему push, в то время как команда, использующая последовательную разработку, может использовать систему pull. Однако, как правило, гибкие методы (XP, Scrum) предпочитают самоорганизующиеся команды и, следовательно, используют системы.

Для получения дополнительной информации, возможно, вас заинтересует этот пост в блоге « Push vs. Pull in Scrum» . Kanban также может быть интересен - Kanban - это методология, которая исходит из производства, но может быть применена к разработке программного обеспечения , которая делает упор на своевременную разработку и снижает перегрузку на работников. Kanban также связан и часто используется с Lean , еще одной производственной концепцией, которая может применяться для разработки программного обеспечения .


Теперь, когда я понимаю это, я вижу, что это не объясняется в книге, просто используется. Мне нравятся мои короткие книги, но этот абзац был не просто бесполезным, но вводящим в заблуждение.
michelpm

@michelpm Мне не принадлежит книга, поэтому я не могу комментировать достоверность того, что они говорят, но я никогда не слышал о том, чтобы толкать и тянуть использовали каким-либо другим способом, как я описал. Возможно, если бы вы могли отредактировать свой вопрос так, чтобы он содержал полный параграф или два, в которых описываются «толкай и толкай», я мог бы уточнить этот ответ.
Томас Оуэнс

Изображения определенно связывают водопад с толчком, и теперь я понимаю, что это не правило и не помогает понять модели. Разве это не то, что вы сказали?
Мишель вечера

1
@michelpm Это верно, что это не правило. Обычно последовательные модели работают быстро, а гибкие методы имеют тенденцию работать, но так быть не должно.
Томас Оуэнс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.