หนังสือและบทความการต่อสู้จำนวนมากบอกว่าการวิ่งล้มเหลว (เมื่อทีมไม่สามารถทำคุณสมบัติบางอย่างจาก Sprint Backlog) ไม่ใช่สิ่งที่เลวร้ายมันเกิดขึ้นเป็นครั้งคราวและมันจะมีประโยชน์จริง ๆ ถ้าทีมเรียนรู้จากความผิดพลาดของพวกเขา และปรับปรุงบางสิ่งบางอย่างในการวิ่งดังต่อไปนี้ และทีมงานไม่ควรถูกลงโทษเนื่องจากไม่ได้ทำงานให้สำเร็จ
วิธีที่คุณ "ลงโทษ" พฤติกรรมแบบนี้คือการ จำกัด ปริมาณงานที่คนที่ยังไม่เสร็จสามารถวิ่งต่อไปได้ โอกาสที่จะทำงานกับสิ่งดีๆนั้นกำลังหายไป รางวัลสำหรับการทำงานที่ดีคืองานที่มากขึ้น
สิ่งนี้ดูดีมากจากมุมมองของนักพัฒนา แต่สมมุติว่าเรามี บริษัท ซอฟต์แวร์ "Scrum-Addicts LLC" กำลังพัฒนาบางสิ่งสำหรับลูกค้าที่จริงจัง ("Money-Bags Corporation"):
ผู้จัดการ Scrum-Addicts แนะนำให้ทำชิ้นส่วนของซอฟต์แวร์สำหรับ Money-Bags พวกเขาเห็นด้วยกับรายการคุณสมบัติและ Money-Bags ขอให้ระบุวันที่จัดส่งผู้จัดการของ Scrum-Addicts ปรึกษาทีมการต่อสู้ของพวกเขาและทีมบอกว่าจะใช้เวลา 3 สัปดาห์ - sprints ยาวเพื่อทำให้คุณสมบัติทั้งหมดของ Scrum-Addicts manager เพิ่ม 1 สัปดาห์เพื่อความปลอดภัยสัญญาส่งซอฟต์แวร์ใน 1 เดือนและเซ็นสัญญากับ Money-Bags หลังจาก 4 sprints (กำหนดส่งพัสดุ) ทีม Scrum สามารถส่ง 80% เท่านั้น ของคุณสมบัติ (เนื่องจากไม่มีประสบการณ์กับระบบใหม่ความจำเป็นในการแก้ไขข้อบกพร่องที่สำคัญในคุณสมบัติก่อนหน้านี้ในสภาพแวดล้อมการผลิต ฯลฯ ... ) ตามที่ Scrum แนะนำ ณ จุดนี้ผลิตภัณฑ์อาจมีความเป็นไปได้สูง คุณสมบัติตามที่ระบุไว้ในสัญญา ดังนั้นพวกเขาจึงผิดสัญญาและไม่จ่ายอะไรเลย
Scrum-Addicts กำลังจะล้มละลายเพราะพวกเขาไม่มีเงินจาก Money-Bags และนักลงทุนผิดหวังกับผลลัพธ์และไม่เต็มใจที่จะช่วย บริษัท อีกต่อไป
หากในวันจันทร์ฉันเดิมพันคุณ $ 100 ว่าจะมีฝนตกในวันพฤหัสบดีและจะไม่ฝนตกจนถึงวันศุกร์คุณจะถูกต้องที่จะรับเงินของฉัน หากแทนที่จะมีโอกาสเล่นการพนันสิ่งที่คุณต้องการคือการพยากรณ์อากาศจากนั้นเราจำเป็นต้องมีสัญญาที่ให้ฉันให้การคาดการณ์ที่อัปเดตในวันอังคาร
เห็นได้ชัดว่า บริษัท ซอฟต์แวร์ไม่ต้องการที่จะอยู่ในรองเท้าของ Scrum-Addicts สิ่งที่ฉันไม่เข้าใจเกี่ยวกับ Agile and Scrum คือวิธีที่พวกเขาแนะนำให้ทีมจัดการกับการวางแผนและกำหนดเวลาเพื่อหลีกเลี่ยงสถานการณ์ที่อธิบายไว้ข้างต้น
ลองคิดดูว่าทำไม MB ต้องการพาบอลกลับบ้าน MB ไม่ต้องการให้งานเสร็จภายในหนึ่งเดือนเมื่อเริ่มต้น SA สัญญา 100% ของคุณสมบัติที่สำคัญในหนึ่งเดือนและไม่ได้ส่งมอบ SA ตั้งค่ากำหนดส่งไม่ใช่ MB SA แม้เพิ่มโดยพลการหนึ่งสัปดาห์ในกำหนดเวลา เหตุใดจึงเป็นเส้นตาย
บางครั้งเมื่อการแข่งขันเพื่อ บริษัท ซอฟต์แวร์ทำงานให้ในสิ่งล่อใจเพื่ออวดและสัญญาดวงจันทร์ ผู้เชี่ยวชาญด้านการสร้างอย่างระมัดระวังว่าจำเป็นต้องมีดวงจันทร์หรือไม่ MoneyBags ต้องการอะไรที่สำคัญยิ่งกว่า 100% ของคุณสมบัติหรือผลิตภัณฑ์ที่ใช้งานได้ในเวลาหนึ่งเดือน? พวกเขารู้หรือไม่ว่าอะไรสำคัญอย่างแท้จริง มีเหตุการณ์ที่จะเกิดขึ้นบางอย่างที่กำหนดเส้นตายอย่างหนัก?
ถ้าฉันเป็นผู้แย่งกันเจรจาต่อรองสัญญาฉบับนี้ฉันต้องการทราบเพิ่มเติมเกี่ยวกับความต้องการทางธุรกิจของ Money-Bags และจัดทำสัญญาเพื่อให้ความยืดหยุ่นมากที่สุดเท่าที่ Money-Bags จะสะดวกสบาย ฉันจะสอนพวกเขาถึงวิธีการทำงานที่คล่องตัวเพื่อให้พวกเขารู้ว่าจะคาดหวังอะไรจากเรา
วิธีนี้แทนที่จะคาดหวังว่าทุกอย่างจะทำงานได้อย่างสมบูรณ์แบบในเดือนเดียวพวกเขาคาดว่าจะประเมินการส่งมอบครั้งแรกใน 1 ถึง 2 สัปดาห์
ดังนั้นเพื่อสรุปฉันมี 2 คำถาม:
ใครจะไปโทษ? ผู้จัดการเพราะมันเป็นงานของพวกเขาที่จะทำการวางแผนที่เหมาะสม
ทีมเพราะพวกเขามุ่งมั่นที่จะทำผลงานมากขึ้นกว่าที่พวกเขาจะทำได้
คนอื่น
ใคร ๆ ก็สามารถหยุดการเลียนแบบนี้ได้ก่อนที่เราจะลงไปหนึ่งเดือน
ฉันสามารถไปไกลเท่าที่โทษ บริษัท Money-Bags Corp สำหรับการว่าจ้างทีมที่เห็นได้ชัดว่าเป็นการฉ้อโกงกระบวนการน้ำตกอย่างฉับพลัน ตัวสัญญาเองทำให้ชัดเจนว่านี่ไม่ใช่ความคล่องตัว การวางแผนที่จะทำในหนึ่งเดือนนั้นไม่ได้ทำให้มันคล่องตัว
หากคุณยืนยันว่ามันว่องไวก็ว่องไวด้วยการวิ่งเพียงครั้งเดียวที่ยาวเป็นเดือน ซึ่งใช่ฉันจะไม่แนะนำเพราะนั่นคือสิ่งเดียวกันกับน้ำตก
จะทำอะไร?
แล้วเปรียวล่ะ ส่งบางสิ่งวิ่งทุกครั้งหรือไม่ รับข้อเสนอแนะก่อนกำหนด? วิ่งสัปดาห์ยาว? วิธีการเกี่ยวกับการเจรจาสัญญา draconian ในช่วงเวลาที่คุณสงสัยว่ากำหนดเวลาตกอยู่ในอันตรายแทนที่จะซ่อนตัวและอธิษฐาน? อย่างน้อยที่สุดคุณสามารถหยุดการสูญเสียเวลาในโครงการถึงวาระและหาลูกค้าที่เหมาะสมกว่า
ผู้จัดการควรเลื่อนกำหนดเวลา 2x (หรือ 3x) ในเวลาช้ากว่าประมาณการของทีมดั้งเดิม
ตัวคูณกำหนดเวลามีประโยชน์เกี่ยวกับการตั้งค่านาฬิกา 15 นาทีก่อนดังนั้นคุณจะไม่สาย คุณสามารถหลอกตัวเองได้นาน ๆ ก่อนที่คุณจะรู้ตัวว่ากำลังทำอะไรอยู่
การประเมินต้นผิด พยายามที่จะจับภาพว่าผิด 5 สัปดาห์ให้หรือใช้เวลาสองสามสัปดาห์เป็นการแสดงออกอย่างง่าย ๆ ที่ให้คุณแสดงความไม่แน่นอนว่าวันที่เสร็จสมบูรณ์นั้นเป็นอย่างไร แทนที่จะพยายามเดาให้ถูกต้องคุณเดาว่าการเดาของคุณเป็นอย่างไร ทำงานจริงและรับข้อมูลจริง จากนั้นคุณสามารถเริ่มต้นประมาณด้วยช่วงที่แคบลง หนึ่งถึงสองสัปดาห์มีเวลาอีกมากในการทำเช่นนี้
สมาชิกในทีมควรได้รับการสนับสนุนให้ทำงานทุกอย่างที่พวกเขาทำไม่ว่าจะเกิดอะไรขึ้น
สมาชิกในทีมควรได้รับการส่งเสริม ล้มเหลวมุ่งมั่นหรืออื่น ๆ แทนที่จะสร้างผลเทียมใด ๆ เช่นการลงโทษหรือแม้แต่การศึกษาโบนัส (แครอทและกิ่งไม้) แสดงให้เห็นว่าผู้คนที่ทำงานสร้างสรรค์เช่นการเขียนโปรแกรมตอบสนองได้ดีที่สุดหากมีสามสิ่ง: อิสระเอกและจุดประสงค์
Daniel Pink มีการพูดคุย TEDเกี่ยวกับเรื่องนี้ การพูดคุยเกี่ยวกับแรงจูงใจไม่ใช่ความคล่องแคล่ว แต่ฉันเห็นวิธีทำแผนที่จุดเหล่านี้อย่างคล่องแคล่ว:
เอกราช - ฉันต้องการกำกับชีวิตของตัวเอง - ให้ฉันเลือกงานจากคนในมือ
การเรียนรู้ - ฉันต้องการที่จะดีขึ้นในบางสิ่งที่สำคัญ - ความคิดเห็นของลูกค้า
จุดประสงค์ - ฉันต้องการเป็นส่วนหนึ่งของบางสิ่งที่ใหญ่กว่าตัวฉัน - ทีมทำงานร่วมกัน
ทีมควรปล่อย Scrum เนื่องจากไม่ตรงกับนโยบาย บริษัท ที่กำหนดเวลา Scrum สามารถเข้าถึงกำหนดเวลาได้แม่นยำกว่าน้ำตก รับการกำหนดเวลาการต่อสู้สามารถตอบสนองได้ มันอาจจะตอบสนองมันด้วย 1 ใน 47 คุณสมบัติขึ้นอยู่กับเวลาคุณสมบัติและทักษะ แต่มันสามารถตอบสนองได้
โปรเจ็กต์แบบเปรียวนั้นมีสไตล์อย่างมากจนทุกคืนเมื่อทีมกลับบ้านพร้อมที่จะส่ง ดูเหมือนว่าจะโง่ถ้าคุณคิดว่าการจัดส่งเป็นการขอให้ลูกค้าทดสอบและให้ข้อเสนอแนะ ยิ่งเกิดขึ้นเร็วเท่าไหร่คุณก็สามารถทำการปรับเปลี่ยนได้เร็วขึ้น ความนิยมนี้กำหนดเวลาที่เป็นไปได้ทุก ไม่ใช่ทุกคุณสมบัติ แต่มันนำคุณไปสู่คุณสมบัติที่สำคัญ
เราทุกคนควรวางการพัฒนาซอฟต์แวร์และเข้าร่วมอาราม
ใช่เหมือนล็อคฉันไว้ในห้องห่างจากชีวิตจริงจะทำให้ฉันเขียนรหัสน้อยลง
ฉันได้แก้ไขคำตอบนี้ลงขนาดแล้ว หากคุณอยากรู้อยากเห็นอ่านประวัติการแก้ไข