ความถี่ที่คุณปล่อยระหว่างการวิ่ง เฉพาะในตอนท้ายของการวิ่งหรือทุกครั้งที่คุณสมบัติพร้อม แล้วคุณจะจัดการกับการแก้ไขข้อผิดพลาดได้อย่างไร?
ความถี่ที่คุณปล่อยระหว่างการวิ่ง เฉพาะในตอนท้ายของการวิ่งหรือทุกครั้งที่คุณสมบัติพร้อม แล้วคุณจะจัดการกับการแก้ไขข้อผิดพลาดได้อย่างไร?
คำตอบ:
TL; DR: ปล่อยเมื่อใดก็ตามที่เหมาะสม
เราเผยแพร่เมื่อใดก็ตามที่มีค่าในการทำข่าว บางครั้งนั่นหมายถึงการทำรีลีสหลังจากคุณสมบัติหรือบั๊กแบบเดี่ยวเสร็จสมบูรณ์ บางครั้งนั่นหมายถึงการปล่อยคอลเลกชันของคุณสมบัติและ / หรือข้อผิดพลาด
นี่ไม่ได้หมายความว่าเรามักจะมี "เหตุฉุกเฉิน" ที่ต้องการการเผยแพร่ที่รวดเร็ว หมายความว่าเราทำงานอย่างหนักเพื่อให้การเผยแพร่ง่ายขึ้น รหัสของเราได้รับการทดสอบติดแท็กและบรรจุด้วยทุกบิลด์ เราใช้การทดสอบการยอมรับอัตโนมัติและด้วยเหตุนี้เราจึงพัฒนาความเชื่อมั่นในรหัสที่ผ่านการทดสอบสูง เนื่องจากแพ็คเกจของเราสามารถใช้งานได้ทันทีผ่าน repo yum ในท้องถิ่นที่ปรับใช้การปล่อยเป็นเรื่องเล็กน้อย
ไม่เคยอยู่ในช่วง ที่ละเมิดหลักฐานขั้นพื้นฐานของ "วิ่ง" คุณทำงานจนกว่าคุณจะเสร็จสิ้นสิ่งที่คุณมุ่งมั่นที่จะเสร็จสิ้น หลังจากที่คุณทำเสร็จแล้วมันใช้งานได้จริง จากนั้นคุณสามารถปล่อยมัน
การวางจำหน่ายสามารถแยกประเภทของการวิ่งซึ่งสิ่งต่าง ๆ จะถูกบรรจุไว้สำหรับการปล่อย
การแก้ไขข้อผิดพลาดอาจเป็นเพียงการวิ่งระยะสั้น การที่ไม่มีตารางเวลาปกติของ sprints ที่มีความยาวเท่ากันนั้นถือเป็นแนวคิดที่ไม่ดี ดังนั้นกฎปกติคือการแก้ไขข้อบกพร่องเป็นเพียงงานที่มีลำดับความสำคัญสูงซึ่งเกิดขึ้นในระหว่างการวิ่งครั้งต่อไป
หากเป็นกรณีฉุกเฉินคุณมีหลายสิ่งหลายอย่างเกิดขึ้น - การสนับสนุนและการพัฒนา - และคุณควรพิจารณาเปลี่ยนองค์กรให้มีสิ่งต่าง ๆ เกิดขึ้นน้อยลง
ถ้างานที่ทีมทำนั้นเอื้อต่อการเผยแพร่หลาย ๆ อย่างในการวิ่งให้ปล่อยมันบ่อยเท่าที่คุณต้องการ
เช่นเดียวกันถือเป็นจริงสำหรับการเปิดใช้งานการแก้ไขข้อบกพร่อง - หากเหมาะสมที่จะปล่อยให้ทำเช่นนั้น
งาน Agile ครั้งสุดท้ายที่ฉันทำงานที่เผยแพร่ทุกการวิ่ง รหัสถูกแช่แข็งทุกวันพฤหัสบดี (การวิ่งสองสัปดาห์) และจากนั้นผลิตภัณฑ์จะถูกบรรจุและเผยแพร่ไปยังเซิร์ฟเวอร์ UAT เพื่อให้ลูกค้าของเราทำงานด้วย นี่คือช่วงเริ่มต้นของการพัฒนาผลิตภัณฑ์ สำหรับผลิตภัณฑ์ที่เป็นผู้ใหญ่โดยเฉพาะอย่างยิ่งโปรแกรมที่สามารถแจกจ่ายได้และไม่ใช่เว็บแอปคุณอาจไม่ต้องการให้ผู้ใช้ของคุณต้องอัปเกรดทุกสองถึงสามสัปดาห์
แทบทุกรุ่นของเรารวมถึงจุดเรื่องราวและข้อบกพร่อง (ข้อบกพร่อง) ข้อบกพร่องนับเป็น "ชั่วโมงที่ไม่เหมาะ"; มี 5 ชั่วโมงที่เหมาะที่สุดในวันทำงานหมายถึงการเขียนรหัสลงหัวของงานจุดใหม่ อีกสามถึงสี่ชั่วโมงต่อวันคือการประชุมการอภิปรายการออกแบบบางครั้ง "แหลม" (การวิจัยที่มุ่งเน้น / การพิสูจน์แนวคิดการพัฒนาแนวคิด) และงานบกพร่อง; สิ่งที่มีส่วนช่วยให้ผลิตภัณฑ์ดีขึ้นและเป็นส่วนที่จำเป็นของกระบวนการ แต่ก็ไม่สามารถจัดการทั้งทีมได้ทั้งหมด ครั้งเดียวที่เราปล่อยข้อบกพร่องอย่างเดียวคือเมื่อไม่มีเรื่องงานใน backlog ในฐานะของ IPM; จากนั้นเราก็กำหนดเวลาการควบคุมคุณภาพที่เราได้รับคำสั่งให้ "ฆ่าข้อบกพร่องให้มากที่สุดเท่าที่จะทำได้" เนื่องจากการไม่มีข้อกำหนดพร้อมที่จะไปเป็นข้อบกพร่องของ PO เสมอ (และ PO ทำงานให้กับลูกค้า) เราสามารถออกประกาศเปลี่ยนแปลงสัญญาและทำงานกับสิ่งที่เรามี แน่นอนว่าเมื่อเรื่องจริงจบลงและเราเข้าสู่การพัฒนา "การรับประกัน" ข้อบกพร่องล้วนมีอยู่
ในโครงการ Agile ที่ได้รับการจัดการเป็นอย่างดีการทำตามข้อกำหนดไม่ควรเกิดขึ้น งานในมือควรจะมีมูลค่างานเร่งด่วนที่พร้อมจะรับได้เสมอ แต่บางครั้ง PO ได้รับข้อกำหนดการผลิตล้นมือ บางครั้งผู้จัดทำ / ผู้ทดสอบระงับการปล่อยเรื่องราวสู่งานในมือเพื่อการพัฒนาด้วยเหตุผลที่เกี่ยวข้องกับข้อกำหนดคุณภาพหรือความขัดแย้งของเรื่องราว; บางครั้งทีมตัดสินใจว่าพวกเขาต้อง "ถ่อ" ในเรื่องที่ไม่ได้ถูกกำหนดไว้อย่างดีหรือประมาณการณ์ไว้ดีและไม่มีสิ่งใดที่สามารถจัดการรอบที่เหลือได้อย่างง่ายดาย ในระยะสั้นแม้ใน Agile อึเกิดขึ้น
คุณหมายถึงอะไรโดยการปล่อย? ถ้าคุณหมายถึง PSP - อาจเป็นสินค้าที่สามารถเปลี่ยนได้คุณมีสองตัวเลือก:
ข้อแตกต่างที่สำคัญระหว่างระดับ 2 และระดับ 3 คือในระดับ 2 คุณต้องใช้ความพยายามในการสร้าง PSP ขั้นสุดท้ายเมื่อสิ้นสุดการวิ่ง แต่ในระดับ 3 คุณต้องใช้เงินและความพยายามเป็นครั้งแรกกับเครื่องมือและการกำหนดค่าของคุณ โดยอัตโนมัติตลอดเวลา = ไม่มีความพยายามด้วยตนเองที่เกี่ยวข้อง การบรรลุระดับ 3 อย่างเต็มที่นั้นหายาก
ไม่มีกฎใด ๆ ใน Scrum เกี่ยวกับเวลาที่คุณสมบัติใหม่ ๆ จะถูกนำไปใช้งาน ทุกทีมต้องมี "คำจำกัดความของการทำ" ซึ่งควรรวมถึงเกณฑ์บางอย่างเกี่ยวกับการทดสอบ เมื่อคุณสมบัติ "เสร็จสิ้น" ก็พร้อมสำหรับโลกแห่งความเป็นจริงและหากไม่มีการอ้างอิงหรือเงื่อนไขอื่น ๆ ที่ต้องพบก่อนที่จะสามารถนำไปใช้งานได้จึงไม่มีเหตุผลที่จะต้องรอให้ Sprint สิ้นสุด ปรับใช้มัน
ไม่ได้หมายความว่าจะไม่มีการนำเสนอในการประชุม Sprint Review / Planning แนวคิดคือทุกสิ่งที่ทีมงานสร้างเสร็จได้แสดงให้เห็นถึง PO (และลูกค้า SME รายอื่น) เพื่อให้พวกเขาสามารถรวมเข้ากับความเข้าใจที่เพิ่มขึ้นของระบบในขณะที่มันวิวัฒนาการ
หลังจากสองสามสัปดาห์เราพบทางออกที่ดีที่ตรงกับความต้องการของเรา เราตัดสินใจที่จะปล่อยเมื่อใดก็ตามที่เราต้องการ เราทำสิ่งนั้นอย่างไร:
แค่นั้นแหละ. เราใช้คอมไพล์และ maven เป็นระบบ CI และเรามีการทดสอบที่ครอบคลุม ซึ่งเป็นหนึ่งในเหตุผลที่เราสามารถทำสิ่งนี้ได้
ตอบคำถามที่เกือบ 2 ปีอาจจะซ้ำซ้อนเล็กน้อย แต่หวังว่าจะเพิ่มคุณค่าให้กับผู้อื่นที่มาที่คำถามนี้ฉันต้องการเพิ่ม 2 หรือมากกว่านั้น :)
ในการตอบคำถาม: คุณควรปล่อยสิ่งที่มุ่งมั่นในการวิ่งเมื่อสิ้นสุดการวิ่งนั้น การทำเช่นนี้เชื่อมโยงกับส่วนอื่น ๆ ทั้งหมด / กระบวนการ / แนวทางของการต่อสู้ซึ่งมุ่งที่จะได้รับมูลค่าทางธุรกิจที่ดีที่สุดในเวลาที่เหมาะสม
แต่ในกรณีฉุกเฉินข้อบกพร่องเหตุการณ์ที่ไม่คาดคิด ฯลฯ อาจบังคับมือของคุณซึ่งเป็นแนวคิดที่ว่า "การวางแผนการวางจำหน่าย" อาจมีประโยชน์ ด้วย "การวางแผนการปล่อย" ฉันไม่ได้หมายถึงการวางแผนแบบน้ำตก แต่เป็นการวางแผนความคาดหวังซึ่งจะช่วยจัดการงานในมือและผลิตภัณฑ์ที่มีลำดับความสำคัญของเรื่องราวในการวิ่งและอื่น ๆ
แต่บางทีความเห็นของดาวิดเกี่ยวกับคำถามนั้นเป็นสิ่งที่ควรพิจารณา การแย่งชิงกันไม่ใช่คำตอบที่ถูกเสมอไป