TL; DR
กำหนดเวลา [a] gile เป็นอย่างไร ... [D] eadlines ถูกมองว่าจะไปด้วยกันกับการพัฒนา [a] gile
คำตอบมากมายที่นี่มีแนวโน้มที่จะมุ่งเน้นด้านวิศวกรรมของคำถาม ฉันจะจัดการเรื่องนี้จากมุมมองการจัดการโครงการแทน
กำหนดเวลาแสดงถึงการวางแผนล่วงหน้าซึ่งไม่สอดคล้องกับหลักการเปรียว แต่รูปแบบการพัฒนาแบบวนซ้ำนั้นขึ้นอยู่กับตารางเวลาจังหวะและการปล่อยรอบซึ่งรวมถึงการวางแผนแบบทันเวลา แต่ไม่ใช่ "การวางแผนขนาดใหญ่ด้านหน้าขึ้นไป" ซึ่งโดยทั่วไปเกี่ยวข้องกับกำหนดเวลาการจัดการโครงการแบบเดิม
ยังคงเป็นไปได้ที่จะทำการวางแผนการปล่อยด้วยวิธีการที่คล่องตัว แต่โดยทั่วไปแผนจะขึ้นอยู่กับการประเมินจำนวนการวนซ้ำที่จำเป็นเพื่อให้บรรลุเป้าหมายมากกว่าเป้าหมายการจัดการที่กำหนดโดยคำสั่ง ไม่ได้หมายความว่าจะไม่สามารถกำหนดวันที่จัดส่งได้หรือไม่สามารถทำตามเป้าหมายได้ แต่วิธีการที่กำหนดและตรงตามความต้องการนั้นแตกต่างจากวิธีการจัดการโครงการแบบเดิม
คิดว่ากล่องเวลาไม่กำหนดเวลา
อย่างไรก็ตามทุกโครงการที่ฉันทำเคยยืนยันที่จะกำหนดเส้นตาย เนื่องจาก Agile พยายามมุ่งเน้นไปที่การวางแผนการปรับตัวความยืดหยุ่นและการเปลี่ยนแปลง กำหนดเวลา Agile คืออะไร
นี่คือความเข้าใจผิดทั่วไปของหลักการเปรียว กรอบความคล่องแคล่วเช่น Scrum และ Kanban ไม่ได้มุ่งเน้นไปที่กำหนดเวลา แต่จะเน้นในเรื่องการต่อเวลาและการส่งมอบอย่างยั่งยืน
ใน Scrum ตัวอย่างเช่น Sprint ไม่ใช่ "วันครบกำหนด" มันเป็นกล่องเวลาซึ่งเต็มไปด้วยปริมาณงานที่ทีมประเมินจะพอดีภายในกล่องเวลาโดยไม่ล้นและจากนั้น "เสร็จแล้ว" หรือ "ไม่ทำ" เมื่อกล่องเวลาหมดอายุ เมื่อหมดเวลาจะหายไปตลอดกาล; งานใด ๆ ที่ไม่ได้ทำจะต้องมีการวางแผนใหม่และประเมินใหม่ภายในกล่องเวลาชั่วคราวที่ไม่เท่าเทียมกันโดยพิจารณาจากความต้องการในปัจจุบัน (มากกว่าในอดีต) ของโครงการ
ความสำคัญของกรอบเวลาคือการสร้างจังหวะการคาดการณ์สำหรับผู้มีส่วนได้ส่วนเสียเพื่อทบทวนความคืบหน้าและการก้าวไปอย่างยั่งยืนสำหรับทีมที่จะส่งมอบมูลค่าที่เพิ่มขึ้นที่อาจเกิดขึ้นได้ การทำงานเพิ่มขึ้นและติดตามจังหวะ; แนวคิดของเส้นตายขนาดใหญ่ด้านหน้าจึงไม่สอดคล้องกับหลักการที่คล่องตัว
การวางแผนการวางจำหน่ายตามกรอบเวลา
บางทีพื้นที่หนึ่งที่ผู้คนมีความยากลำบากที่สุดในการทำแผนที่กระบวนการแบบเปรียวกับกรอบดั้งเดิมคือการวางแผนปล่อย การวางแผนการวางจำหน่ายมักจะเกี่ยวข้องกับขอบเขตคงที่หรือการส่งมอบวันที่คงที่ ในเฟรมเวิร์กเปรียวการวางแผนการวางจำหน่ายมักจะทำผ่านกระบวนการประเมินที่ขอบเขตถูกกำหนดไว้อย่างชัดเจนเป็นตัวแปรที่ไม่แน่นอนในขณะที่วันที่วางจำหน่ายจะถูกประเมินในการทำซ้ำ
ตัวอย่างเช่นโครงการอาจมุ่งมั่นที่จะปล่อย v1.0 ของโครงการเมื่อสิ้นสุดการทำซ้ำ 20 ครั้ง ขอบเขตของสิ่งที่เผยแพร่อาจเปลี่ยนแปลงตลอดอายุของโครงการ (ตามขอบเขตคุณลักษณะและลำดับความสำคัญสามารถเปลี่ยนแปลงได้ในช่วงเริ่มต้นของ Sprint ทุกเครื่อง) แต่วันที่เป้าหมายสำหรับแต่ละรุ่นจะได้รับการแก้ไขในแผนโครงการ ทีมมุ่งมั่นที่จะส่งมอบที่เพิ่มขึ้นอาจเกิดขึ้นในแต่ละ Sprint และคำจำกัดความของการกระทำรวมถึงการตรวจสอบคุณภาพเช่นการรวมอย่างต่อเนื่องเพื่อให้แน่ใจว่าโครงการอยู่ในสถานะ releasable ในตอนท้ายของ Sprint แต่ละ
ในบางครั้งคุณจะเห็นโปรเจ็กต์ที่คล่องตัวซึ่งขอบเขตนั้นได้รับการแก้ไข แต่เนื่องจากขอบเขตเป็นตัวแปรที่ผันแปรได้ในโปรเจ็กต์เปรียววันที่วางจำหน่ายอาจเปลี่ยนไปตามเวลาเมื่อขอบเขตของการวนซ้ำแต่ละครั้งปรับเปลี่ยนหรือปรับให้เหมาะกับความต้องการ . แน่นอนว่าฉันไม่แนะนำวิธีกำหนดขอบเขตแบบคงที่ให้กับทีมเปรียวโดยเฉพาะทีมที่ไม่มีประสบการณ์ แต่มีบางครั้งที่มันเป็นแนวทางที่ถูกต้อง
ดูสิ่งนี้ด้วย