วิธีการเข้าประชิดงานล้มเหลวเมื่องานมีส่วนร่วมของหลายคน?


12

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

ปัญหาคือฉันจะเข้าใกล้เผาไหม้ได้อย่างไร? หากฉันรวมชั่วโมงเข้าด้วยกันให้ถือว่าการประมาณการต่อไปนี้:

10 ชั่วโมง - เวลาการปรับปรุง

4 ชม. - QA

4 ชม. - ตรวจสอบรหัส

ประมาณการงาน = 18 ชม

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

UPDATE

เพื่อช่วยอธิบายสิ่งเล็ก ๆ น้อย ๆ ที่องค์กรของฉันแต่ละงานในเรื่องราวต้องใช้ 3 คน

  1. ใครบางคนในการพัฒนางาน (ทำการทดสอบหน่วย ฯลฯ ... )
  2. ผู้เชี่ยวชาญด้านคุณภาพเพื่อตรวจสอบงาน (โดยหลักแล้วพวกเขาจะทำการทดสอบการรวมและการถดถอย)
  3. ฝ่ายเทคนิคนำไปสู่การตรวจสอบโค้ด

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

คำถามของฉันสำหรับผู้ที่ทำงานในลักษณะนี้จะเป็นวิธีการเผาไหม้ "งาน" เมื่อพวกเขาตั้งค่าด้วยวิธีนี้ เว้นแต่งานจะมีภารกิจย่อยเป็นของตัวเอง (ซึ่ง JIRA ไม่อนุญาต) ... ฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการติดตาม "สิ่งที่เหลืออยู่" ในแต่ละวันเป็นอย่างไร


8
คุณช่วยอธิบายกระบวนการของคุณได้ไหม เราไม่เคยใช้ชั่วโมงในการวางแผนการต่อสู้และเราไม่เคยรายงานเวลาที่เหลืออยู่ เมื่องานเสร็จแล้ว
dcaswell

1
@ user814064: จุดดี ทุกครั้งที่ฉันเห็นทีมประเมินงานทุกอย่างพวกเขาเข้าใจผิดเสมอ บางครั้งโดยปัจจัยของ 1/10 และมากกว่า
Arseni Mourzenko

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

เป็นการยากที่จะอธิบายว่าทำไมคุณไม่ควรทำในตัวละครสองสามตัวที่คุณได้รับอนุญาตให้พิมพ์ที่นี่ การประมาณนั้นเป็นชื่อที่สื่อความหมาย: มันคลุมเครือเป็นรูป ballpark และคุณไม่สามารถทำให้ดีขึ้นได้ในทางที่มีความหมายและสมดุลกับความคุ้มทุน ท้ายที่สุดเรียกว่า "กำลังประเมิน" ไม่ใช่ "กำลังคำนวณ" ฉันขอแนะนำให้คุณอ่านโพสต์ของ Neil Killick ใน #NoEstimates: neilkillick.com/2013/01/01/31/ …
Stefan Billiet

คำตอบ:


14

นั่นคือ 3 ภารกิจไม่ใช่งานเดียว

มันอาจจะเป็นหนึ่งในคุณสมบัติ / เรื่อง แต่มันเป็นสามงาน งานเดียวสามารถทำได้โดยคนเดียวในเวลา จำกัด


@ user814064: ไม่ใช่ข้อสมมุติ การประมาณการที่แสดงไว้สำหรับแต่ละงานในโพสต์
สตีเฟนเอโลว์

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

3
@AgileMan: ในโลกแห่งสามัญสำนึกงานคือหน่วยงานเดียวที่สามารถทำได้โดยคนคนเดียวและสามงานในซีรีส์โดยคนสามคนที่แตกต่างกันคือโครงการ ในโลกแห่งการต่อสู้ ... มันเป็นสิ่งเดียวกัน (เช่น www.scrumalliance.org/community/articles/2007/march/glossary-of-scrum-terms#1129) Story-1-dev, Story-1-QA-review และ Story-1-code-review เป็น 3 ภารกิจที่แตกต่างกัน หากคุณต้องจำลองงาน 3 ส่วนอาจจะมีแผนภูมิการเบิร์นที่แตกต่างกัน 3 แบบที่เหมาะสม;)
Steven A. Lowe

หากจำเป็นในระดับงานคุณต้องทำงานตามคำจำกัดความของงานที่ทำและแยกงาน ควรเป็นเรื่องง่ายใช่ / ไม่ใช่เพื่อทราบว่างานเสร็จสมบูรณ์ไม่ใช่กระบวนการผ่านหลายคน
SpoonerNZ

7

TL; DR

คุณกำลังใช้งานการเผาไหม้ไม่ถูกต้องในหลายวิธี งานและเรื่องราวต่าง ๆ สามารถทำได้หรือไม่ทำ; ด้วยการพยายามติดตามความเบี่ยงเบนจากการประมาณตามการวางแผนตามเวลาในการเผาผลาญของคุณคุณกำลังประเมินตารางเวลาของคุณใหม่มากกว่าที่จะประเมินผลิตภัณฑ์ที่เหลือจากการทำงาน

ใน Scrum คุณควรวัดความก้าวหน้าของเป้าหมาย Sprint แทนที่จะวัดกล่องเวลาของ Sprint สิ่งนี้จะมุ่งเน้นไปที่ความสามารถของทีมและการส่งมอบคุณลักษณะมากกว่าการปรับการตั้งเวลาอย่างต่อเนื่อง

งานกับเรื่อง

คุณกำลังสร้างความสับสนให้กับงานและเรื่องราว เรื่องราวประกอบด้วยงานทั้งหมดที่จำเป็นในการทำให้เรื่องราวเสร็จสมบูรณ์ตาม "คำจำกัดความของการกระทำของทีม" เรื่องนี้ถือว่าสมบูรณ์ 100%เว้นแต่งานทั้งหมดจะเสร็จสมบูรณ์ ในการต่อสู้เรื่องต่าง ๆ มักจะถูกประเมินในบางวิธี; บ่อยที่สุดพวกเขาถูกประเมินในจุดเรื่องราว

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

มอดไหม้

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

Mon | Tue | Wed | Thu | Fri
--- | --- | --- | --- | ---
 8  |  5  |  5  |  5  |  0

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

เวลามวย

การปฏิบัติที่ยอมรับกันโดยทั่วไปคือเพื่อให้แน่ใจว่างานของคุณจะถูกแบ่งออกเป็นชิ้นขนาดกัดระหว่าง 1/2 วันและ 2 วัน ความแปรปรวนมากกว่าหนึ่งวันควรปรากฏชัดในตัวเองจากสแตนอัพรายวันหรือ Sprint Backlog ไม่จำเป็นต้องทำการดึงสถานะเป็นทางการ

คุณยังสามารถทำการวิเคราะห์ทางสถิติในแผนภูมิเบิร์นดาวน์เพื่อพิจารณาว่าการวิ่งของคุณมีแนวโน้มที่ถูกต้องหรือไม่ ความเบี่ยงเบนเล็ก ๆ หรือที่ราบสูงเป็นเรื่องปกติ แต่ถ้าไม่มีใครยกบล็อคใด ๆ ในสแตนด์อะโลนรายวัน แต่การเผาไหม้ของคุณดูเหมือนจะติดอยู่นั่นเป็นสัญญาณว่า Sprint Backlog ประมาณการผิดพลาดหรือมี "งานที่มองไม่เห็น" ที่ จะต้องทำให้ชัดเจนในกระบวนการของคุณ


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

หนึ่งในความเสี่ยงของการไม่อนุญาตให้งานปิด 100% กำลังทำ 100% ของงานของคุณเสร็จ 99% ซึ่งหมายความว่าไม่มีอะไร "เสร็จสิ้น" จริง ๆ แล้ว
hanzolo

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

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

4

คุณสามารถกำหนดภารกิจ dev เป็น "เสร็จสิ้น" ก่อนที่ QA จะทำส่วนของพวกเขาได้หรือไม่? คุณสามารถกำหนดการทบทวนรหัสว่า "เสร็จสิ้น" ก่อนที่จะทำ dev ได้หรือไม่? QA จะ "เสร็จสิ้น" ได้หรือไม่หาก dev และการตรวจสอบโค้ดไม่ใช่

ฉันจะบอกว่าคุณควรรวมสามรายการไว้ในงานเดียวและทั้งสามคนควรทำงานร่วมกัน

การต่อสู้ไม่ได้บอกว่าสิ่งใดเป็นความรับผิดชอบของสมาชิกในทีมคนใดคนหนึ่ง ตรงข้าม - รายการบันทึกการวิ่งเป็นความรับผิดชอบของทีม ถ้าใช้คนสามคนในการทำงานนั่นก็คือสิ่งที่ต้องทำ


ฉันมีข้อสงสัยเกี่ยวกับคำแนะนำนั้น สำหรับฉันงาน dev นั้นสามารถทำได้ก่อน QA และการตรวจสอบโค้ด แต่การตรวจสอบโค้ดและ QA (ซึ่งเป็นงานเดี่ยวสำหรับตัวเอง) ส่วนใหญ่อาจสร้างงาน dev ใหม่ซึ่งสามารถ "เบิร์นลง" ทีละรายการ แน่นอนถ้า "งาน" หมายถึง "ใช้เรื่องราวของผู้ใช้แบบเต็ม" แล้วคุณก็ถูก แต่ทำไมงานจะหยาบดังนั้น?
Doc Brown

@DocBrown - ฉันทำได้ทั้งสองวิธี ฉันพบว่าการบอกว่างานทำเมื่อไม่ได้รับการตรวจสอบ (การตรวจสอบและทดสอบ) ไม่ได้พิสูจน์ว่ามีประโยชน์สำหรับความคืบหน้าการติดตาม การทำให้ทุกคนเป็นหนึ่งเดียวกับการทำภารกิจให้สำเร็จจะช่วยรักษาความเร่งด่วนให้กับทุกคนที่เกี่ยวข้อง
Matthew Flynn

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

3

มันไม่สำคัญ ตราบใดที่มันมีความสอดคล้องกันในเรื่องราวต่างๆชาร์ตการเบิร์นของคุณจะยังคงทำงานได้ทั้งสองทาง ใช้วิธีใดเป็นธรรมชาติที่สุดสำหรับทีมของคุณในการรายงาน

ทีมของฉันทำไฮบริดจริง ๆ แม้ว่าจะไม่ใช่ข้อตกลงที่เป็นทางการ เราใช้เวลา 16 ชั่วโมงถ้าเราคิดว่างานจะใช้เวลาหนึ่งคนสองวัน แต่ถ้าคนสองคนจบลงด้วยการทำงานด้วยกันเราจะไม่เปลี่ยนแปลง

หลังจากการประเมินเบื้องต้นมันจะเสร็จสมบูรณ์อย่างไม่เป็นทางการสำหรับทีมของเรามากกว่าที่เหลืออีกหนึ่งชั่วโมง ถ้าเริ่มแรกเราคิดว่ามันต้องใช้เวลาสองวัน แต่หลังจากผ่านไปหนึ่งวันเราคิดว่ามันเสร็จสมบูรณ์เพียง 25% แล้วเราก็ปิดการใช้งาน 4 ชั่วโมงจากเดิม 16 ชั่วโมง นั่นใช้เวลา 12 ชั่วโมงโดยทางเทคนิคเราประมาณ 24 เพราะเราอาจหัก 4 ชั่วโมงสำหรับ 3 วันที่เหลือ

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


2

เวลาที่เหลืออยู่ของภารกิจไม่สำคัญมาก: ไม่มีอะไรสามารถส่งได้จนกว่าเรื่องราวทั้งหมดจะเสร็จสิ้น

หากคุณต้องการติดตามเวลาที่เหลืออยู่ในเรื่อง (โดยรวม) โดยให้ผู้คนกรอกเวลาที่เหลืออยู่ในงานให้แยกงานต่อคน

ที่กล่าวว่า:

  • งานใหญ่อาจเป็นตัวบ่งชี้ว่าเรื่องราวของคุณใหญ่เกินไป ในกรณีนี้ทางออกที่ดีที่สุดคือการลดขอบเขตและขนาดของเรื่องราวและหากคุณลดการติดตามเวลาที่เหลืออยู่ในงานมากพอไม่สำคัญอีกต่อไป (ไม่ว่าจะทำเสร็จหรือไม่ก็ตาม เพียงพอแล้ว)
  • SCRUM สนับสนุนให้ทุกคนเลือกสิ่งที่ต้องการทำ หากคุณกำลังมอบหมายงานให้กับบุคคล (เมื่อเทียบกับบทบาท) แสดงว่าคุณอาจป้องกันตัวเองจากการส่งเรื่องแม้ว่านักพัฒนาจะไม่ทำอะไรเลย - เนื่องจาก QA มีปัญหาด้านคอขวด

-1

แบ่งงานออกเป็นหลาย ๆ งานและป้อนเป็นงานที่แต่ละคนจัดการโดยบุคคลอื่น

งานดั้งเดิม: แก้ไขบางสิ่งบางอย่าง

งานใหม่: (ลูกของผู้ปกครองของงานเดิม)

  • Dev A - แก้ไขปัญหา
  • Dev B - ช่วย Dev A ในการแก้ไขปัญหา (เช่นการเขียนโปรแกรมคู่การตรวจสอบโค้ด)
  • Dev A - dev ทดสอบการแก้ไขโดยใช้ชุดข้อมูล X
  • Dev B - dev ทดสอบการแก้ไขโดยใช้ชุดข้อมูล Y

รัฐคำถามที่งานย่อยไม่ได้รับอนุญาต
ริ้น

ฉันไม่ได้หมายถึงงานย่อยต่อ se .. ฉันหมายถึงแบ่งงานออกเป็นงานและทำให้พวกเขาเป็นลูกของเรื่องราวหรือข้อผิดพลาด .. ฉันจะใช้คำตอบใหม่ของฉัน ..
Asim Ghaffar

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