อะไรคือความแตกต่างจากโมเดลการพัฒนาแบบผลักและดึง?


14

ผมอ่านมาก Programming อธิบาย, Second Editionและในบทที่ 11 "ทฤษฎีของข้อ จำกัด" ผู้เขียนพูดคุยเกี่ยวกับความเก่าและล้าสมัย"ดัน" การพัฒนารูปแบบและวิธีการ XP ที่"ดึง" รูปแบบการพัฒนา ดูเหมือนแนวคิดที่สำคัญ แต่จะมีเพียงย่อหน้าเล็ก ๆ และสองภาพเท่านั้นที่เป็นภาพประกอบของ "น้ำตก" และกระบวนการวนซ้ำไม่มีอะไรเฉพาะเจาะจงเกี่ยวกับโมเดลเหล่านี้ยกเว้นจากคำบรรยายภาพ ฉันค้นหาและไม่ไปเพิ่มเติมเกี่ยวกับเรื่องนี้ในส่วนที่เหลือของหนังสือ ฉันไม่สามารถหาคำอธิบายหรือการอภิปรายเพิ่มเติมในอินเทอร์เน็ตได้เช่นกัน

หากความแตกต่างเพียงอย่างเดียวเกี่ยวกับสิ่งนั้นคือหนึ่งคือ"น้ำตก"และอีกอย่างหนึ่งคือซ้ำพวกเขาจะผลักทำไมและดึงทำไม?

มีใครบ้างที่เข้าใจว่าอะไรคือความแตกต่างระหว่างทั้งสองกับตัวอย่างที่ดี?



1
ต่อเนื่องและเพิ่มขึ้นเป็นแนวคิดพื้นฐานอีกอย่างหนึ่งที่อาจทำให้สับสน ตัวอย่างเช่น XP เป็นระบบดึงที่เพิ่มขึ้นในขณะที่ Kanban อาศัยการดึงอย่างต่อเนื่อง (เช่นไม่มีการวิ่งแบบกล่องเวลา)
Michael

คำตอบ:


16

ความแตกต่างระหว่างระบบ push และ pull คือหน่วยงานที่ได้รับมอบหมายให้บุคคลที่จะปฏิบัติงานในหน่วยงานนั้น แนวคิดของการผลักดันและดึงไม่ได้ไม่ซ้ำกันในการพัฒนาซอฟแวร์ - มาของความคิดจากโลจิสติกและการจัดการห่วงโซ่อุปทาน

ในระบบพุชจะมีการสร้างงานบางประเภทและมอบหมายให้กับนักพัฒนา งานอาจเป็นอะไรก็ได้ตั้งแต่การปฏิบัติตามข้อกำหนด (หรือส่วนประกอบที่จำเป็นในการรับรู้ข้อกำหนด) ไปจนถึงการแก้ไขข้อบกพร่องไปยังเอกสารที่จะเขียน บางคนมักจะเป็นผู้จัดการหรือหัวหน้าทีมบางประเภทใช้หน่วยงานที่ต้องทำและจัดสรรให้สมาชิกของทีมเพื่อให้เสร็จสมบูรณ์ เพียง แต่งานจะถูกผลักดันให้คนที่จะทำมัน

ในระบบดึงงานที่ต้องทำจะถูกเก็บไว้ในคิวซึ่งมักจะเป็นลำดับความสำคัญของคิว ตัวอย่างอาจเป็นผลิตภัณฑ์ของ Scrum และ backlogs ที่วิ่งกลับซึ่งมีเรื่องราวของผู้ใช้ที่ต้องทำ นักพัฒนาซอฟต์แวร์ที่ไม่ทำงานในขณะนี้จะไปที่คิวและถอดเรื่องลำดับความสำคัญสูงสุดที่พวกเขาสามารถทำและทำงานได้ คนที่ทำงานกำลังดึงงานออกจากรายการและทำมัน

แนวคิดของการผลักและดึงไม่ได้เกี่ยวข้องกับการพัฒนาซ้ำ / เพิ่มขึ้นเมื่อเทียบกับต่อเนื่อง ทีมที่ใช้เทคนิควนซ้ำ / เพิ่ม / ว่องไวสามารถใช้ระบบพุชในขณะที่ทีมที่ใช้การพัฒนาตามลำดับสามารถใช้ระบบดึงได้ อย่างไรก็ตามโดยทั่วไปแล้ววิธีการแบบเปรียว (XP, Scrum) สนับสนุนทีมที่จัดระเบียบตัวเองและดึงระบบ

สำหรับข้อมูลเพิ่มเติมที่คุณอาจจะสนใจในการโพสต์บล็อกนี้ในการผลักดันกับดึงในการแย่งชิงกัน Kanbanอาจเป็นที่สนใจเช่นกัน - Kanban เป็นวิธีการที่มาจากการผลิต แต่สามารถนำไปใช้กับการพัฒนาซอฟต์แวร์ซึ่งเน้นการพัฒนาแบบทันเวลาและลดภาระงานมากเกินไป Kanban นอกจากนี้ยังเกี่ยวข้องกับการและใช้กับมักลีนแนวคิดการผลิตอื่นที่สามารถนำไปใช้ในการพัฒนาซอฟแวร์


ตอนนี้ฉันเข้าใจแล้วฉันเห็นว่ามันไม่ได้อธิบายจริงๆในหนังสือแค่ใช้ ฉันชอบหนังสือของฉันสั้น ๆ แต่ย่อหน้านั้นไม่เพียงไร้ประโยชน์ แต่ทำให้เข้าใจผิด
michelpm

@michelpm ฉันไม่ได้เป็นเจ้าของหนังสือดังนั้นฉันไม่สามารถให้ความเห็นเกี่ยวกับความถูกต้องของสิ่งที่พวกเขากำลังพูด แต่ฉันไม่เคยได้ยินเกี่ยวกับการผลักและดึงที่ใช้ในวิธีอื่นใดที่ฉันอธิบาย บางทีหากคุณสามารถแก้ไขคำถามของคุณเพื่อให้มีย่อหน้าเต็มหรือสองย่อหน้าที่อธิบายถึงการผลักและดึงฉันสามารถปรับแต่งคำตอบนี้เพิ่มเติม
โธมัสโอเวนส์

ภาพที่เกี่ยวข้องกับน้ำตกโดยเฉพาะสิ่งที่ฉันเข้าใจตอนนี้คือมันไม่ใช่กฎและไม่ได้ช่วยให้เข้าใจแบบจำลอง นั่นไม่ใช่สิ่งที่คุณพูด?
michelpm

1
@michelpm ใช่แล้วไม่ใช่กฎ โดยปกติแล้วตัวแบบเรียงตามลำดับจะถูกผลักและวิธีการแบบเปรียวมักจะดึง แต่ก็ไม่จำเป็นต้องเป็นแบบนั้นเลย
โธมัสโอเวนส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.