푸시 및 풀 개발 모델과의 차이점은 무엇입니까?


14

나는 Extreme Programming Explained, Second Edition을 읽었고 11 장 "제약 이론"에서 저자는 오래되고 쓸모없는 "푸시"개발 모델 과 XP 방식 인 "풀"개발 모델에 대해 이야기합니다 . 그것은 매우 중요한 개념처럼 보이지만 아주 작은 단락과 단지 "폭포"와 반복 과정을 나타내는 두 개의 이미지 만 취합니다. 이미지 캡션을 제외하고는 이러한 모델에 대해서는 구체적이지 않습니다. 나는 검색했고 책의 나머지 부분에서는 더 이상 다루지 않습니다. 인터넷에서도 이에 대한 추가 설명이나 토론을 찾을 수 없었습니다.

이것들에 대한 유일한 차이점이 하나는 "폭포" 이고 다른 하나는 반복적 이라면, 왜 밀고 당기는가?

누구든지 그 둘의 차이점이 무엇인지 이해하고 좋은 예를 제시합니까?



1
연속 대 증분은 혼란 스러울 수있는 또 다른 기본 개념입니다. 예를 들어, XP는 증분 풀 시스템이지만 Kanban은 연속 풀에 의존합니다 (즉, 타임 박스 스프린트 없음).
Michael

답변:


16

푸시 및 풀 시스템의 차이점은 작업 단위를 해당 작업 단위를 수행 할 사람에게 할당하는 방법입니다. 푸시 앤 풀이라는 개념은 소프트웨어 개발에만 국한된 것이 아니라 물류 및 공급망 관리에서 비롯된 아이디어 입니다.

푸시 시스템에서는 일종의 작업이 생성되어 개발자에게 할당됩니다. 작업은 요구 사항의 구현 (또는 요구 사항을 실현하는 데 필요한 구성 요소)에서 작성할 문서의 버그 수정에 이르기까지 모든 것이 될 수 있습니다. 일반적으로 일종의 관리자 또는 팀 리더 인 누군가는 수행해야하는 작업 단위를 가져 와서이를 팀 구성원에게 할당하여 완료합니다. 간단히 말해서, 일을 할 사람들에게 일이 밀려납니다.

풀 시스템에서 수행해야 할 작업은 종종 우선 순위 대기열에 저장됩니다. 예를 들어 Scrum의 제품 및 스프린트 백 로그가 있으며 여기에는 수행 할 사용자 스토리가 포함됩니다. 현재 작업을하고 있지 않은 개발자는 대기열로 이동하여 작업을 수행하고 수행 할 수있는 최우선 순위 스토리를 수행합니다. 작업을 수행하는 사람들은 작업을 목록에서 꺼내어 수행합니다.

푸시 앤 풀의 개념은 반복 / 증분 대 순차적 개발과 관련이 없습니다. 반복 / 증분 / 애자 기술을 사용하는 팀은 푸시 시스템을 사용할 수 있고 순차적 개발을 사용하는 팀은 풀 시스템을 사용할 수 있습니다. 그러나 일반적으로 민첩한 방법 (XP, Scrum)은 자체 구성 팀을 선호하므로 시스템을 끌어냅니다.

자세한 내용은 Push vs. Pull in Scrum 에 대한이 블로그 게시물에 관심이있을 수 있습니다 . Kanban 도 관심을 가질 수 있습니다. Kanban은 제조 과정에서 제공되는 방법론이지만 소프트웨어 개발에 적용 할 수 있습니다 . 이는 소프트웨어 개발 에 적시에 개발 및 작업자의 과부하 감소를 강조합니다. Kanban은 소프트웨어 개발에 적용될 수있는 또 다른 제조 개념 인 Lean 과도 관련되어 있으며 종종 사용됩니다 .


이제 이해 했으므로 책에서 실제로 설명하지 않고 방금 사용한 것을 알 수 있습니다. 나는 짧은 책을 좋아하지만 그 단락은 쓸모없는 것이 아니라 오도했습니다.
michelpm

@michelpm 나는이 책을 소유하고 있지 않기 때문에 그들이 말하는 내용의 타당성에 대해서는 언급 할 수 없지만, 내가 묘사 한 다른 방식으로 밀고 당기는 것에 대해 들어 본 적이 없다. 푸시 앤 풀을 설명하는 전체 단락 또는 두 단락을 포함하도록 질문을 편집 할 수 있다면이 답변을 더 세분화 할 수 있습니다.
Thomas Owens

이미지는 특히 폭포와 관련이 있습니다. 지금 이해하는 것은 규칙이 아니며 실제로 모델을 이해하는 데 도움이되지 않는다는 것입니다. 당신이 한 말이 아닙니까?
michelpm

1
@michelpm 그것은 규칙이 아닙니다. 일반적으로 순차 모델은 밀고 민첩한 방법은 풀리는 경향이 있지만 전혀 그렇게 할 필요는 없습니다.
Thomas Owens
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.