푸시 및 풀 개발 모델과의 차이점은 무엇입니까? 두 개의 이미지 만 취합니다.

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

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

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



답변

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

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

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

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

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


답변