ทุกอย่างขึ้นอยู่กับกระบวนการพัฒนาซอฟต์แวร์โดยรวม การจัดการการกำหนดค่าและวิธีที่จะไม่สามารถกำหนดเวอร์ชันใหม่โดยไม่ทราบเกี่ยวกับกระบวนการโดยรวม
มีฝ่าย "เปรียว" ที่จะเลือกสำหรับ "มักจะใช้พื้นที่กระทำก่อน" พวกเขาจะดำเนินการสร้างและทดสอบสิ่งอำนวยความสะดวกอัตโนมัติอย่างต่อเนื่องกับพื้นที่นั้นและพยายามมีระบบการทำงาน "ตลอดเวลา"
พวกเขาจะเห็น (หลัก) -> (วางจำหน่าย) โดยอาจมีขั้นตอนกลางขั้นที่ 1,2 ซึ่งเป็นประโยชน์
จากนั้นก็มีฝ่าย "คลาสสิก" มากขึ้นซึ่งมีกระบวนการขับเคลื่อนโดยการวางแผนและขั้นตอนการรวมที่วางแผนไว้สู่เหตุการณ์สำคัญซึ่งการปล่อย "หน่วยงาน" เป็นกิจกรรมตามแผนที่มีข้อกำหนดเช่น "ปล่อยเฉพาะเมื่อมีการทดสอบ (หน่วย) และควรจะสอดคล้องกับเหตุการณ์สำคัญในการวางแผนครั้งต่อไป " ที่นั่นการวางแผนประกอบด้วยการกำหนดเวอร์ชันของ "หน่วยงาน" และโดยทั่วไปจะมีความยาวเพื่อกำหนดว่าการวางจำหน่ายผลิตภัณฑ์ที่วางแผนไว้ครั้งต่อไปควรมีลักษณะอย่างไรในแง่ของคุณลักษณะและการแก้ไข เพื่อประโยชน์ในการวางแผนพวกเขาต้องการที่จะรู้ว่าสิ่งที่นักพัฒนาเผยแพร่คือ "เหมาะสม" และการกระทำอย่างมีสติในการสร้างหน่วยงาน
วิธีแบบดั้งเดิมนั้นไม่ได้หมายความว่าจะต้องใช้เวลานานกว่าที่จะไม่มีการสร้างผลิตภัณฑ์ที่สมบูรณ์
ดังนั้นขั้นตอน "คลาสสิค" จะเป็น: (dev) -> (หน่วย) -> (การรวม) -> (ทดสอบ / qa) -> (การผลิต)
บทบาทของผู้รวมระบบคือ "ยอมรับ / ซื้อ" หน่วยที่วางจำหน่ายหรือปฏิเสธพวกเขาหากพวกเขาไม่ตรงกับความต้องการของรุ่นถัดไปที่จะมาถึง
มันเป็นไปได้ที่จะมีการผสมผสานวิธีพื้นฐานทั้งสองเข้าด้วยกันในรูปแบบที่เหมาะสม
จากประสบการณ์ของฉัน (ซึ่งส่วนใหญ่อยู่ในพื้นที่ของการใช้วิธีการ "คลาสสิก") วิธีการ "คลาสสิก" ทำงานได้ดีในโครงการจากประมาณ 4-50 คนในทีม