คำจำกัดความของ "เสร็จสิ้น" ในกรณีที่ทีมพัฒนาหลายแห่งทำงานกับผลิตภัณฑ์เดียวกัน


12

หนึ่งในการทดสอบการทะเลาะกันประกอบด้วยคำถามเกี่ยวกับคำนิยามที่ดีที่สุดที่อธิบายว่า "เสร็จสิ้น" เมื่อทีมพัฒนาหลายคนทำงานในผลิตภัณฑ์เดียวกัน

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

สิ่งที่ไม่ชัดเจนสำหรับฉันจากคำตอบที่เหมาะสมสำหรับคำถามนี้คือ:

  • ทีมสามารถมีคำจำกัดความที่แตกต่างกันของ "เสร็จสิ้น" ได้หรือไม่ ในระดับใด
agile  scrum 

นึกถึงทีมที่เปิดตัวผลิตภัณฑ์โดยตรงรวมถึงงานเดียวกันกับที่ทีมอื่นใช้
เอียน

หรือตัวอย่างเช่นซอฟต์แวร์เวอร์ชันภาษาอังกฤษสามารถจัดส่งก่อนที่จะแปลเป็นภาษาฝรั่งเศส
เอียน

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

คำตอบ:


16

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

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

  • เมื่อเกิดปัญหาการรวมทีมจะไม่ต้องการแก้ไขปัญหาใด ๆ ท้ายที่สุดมันเป็น "เสร็จสิ้น" เมื่อพวกเขาเริ่มรวมสิ่งต่าง ๆ ดังนั้นมันจึงต้องมีอะไรบางอย่างกับงานของทีมอื่น

  • เมื่อคุณมีมากกว่าหนึ่งทีมมันจะยากที่จะจดจำ "คำจำกัดความของการทำ" ของทุกคน - โดยเฉพาะอย่างยิ่งเมื่อมีความแตกต่างระหว่างทีม

  • คำจำกัดความของการทำไม่ได้รับประกันว่าจะรวมว่าการรวมการทำงานอย่างถูกต้อง

คำตอบที่ได้รับการยอมรับระบุไว้อย่างชัดเจนว่าสิ่งต่าง ๆ ไม่ได้ทำจนกว่างานจากทุกทีมจะถูกรวมเข้าด้วยกันและทำงานได้อย่างถูกต้อง ต้องสามารถ releasable และทำให้สามารถได้รับการยอมรับจากผู้ใช้ทั้งหมด


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


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

2
@Andremoniy คำตอบที่ถูกต้องแน่นอนไม่ได้พูดอะไรเกี่ยวกับกระทรวงเดียวแต่มันหมายความว่ากระทรวงของทีมทั้งหมดควรมีองค์ประกอบทั่วไปที่ผลิตภัณฑ์โดยรวมยังคงทำงานได้ ตัวอย่างของทีมที่แตกต่างกันที่ทำงานเกี่ยวกับการใช้งานที่แตกต่างกันของ API ไม่ได้ทำให้ฉันมั่นใจว่าอาจเรียกได้ว่าเป็นผลิตภัณฑ์เดียว
Bart van Ingen Schenau

2
@Andremoniy ทันทีที่ทีมหนึ่งขึ้นอยู่กับการทำงานของทีมอื่นปัญหาการรวมกลุ่มสามารถเกิดขึ้นได้ (จะ) แม้ว่าจะมีการนำชิ้นส่วนไปใช้ในสถานที่ต่างกันก็ตาม นอกจากนี้ยังเป็นปัญหาการรวมเช่นเมื่อไมโครเซอร์วิสหนึ่งใช้ไมโครเซอร์วิสอื่นในวิธีที่ไม่คาดคิดและอาจไม่ถูกต้อง
Bart van Ingen Schenau

2
@Andremoniy: คุณถูกต้องที่ทั้งสองทีมไม่ควรใช้กระทรวงเดียวกัน แต่พวกเขาสามารถแบ่งปันกฎว่าการเปลี่ยนแปลงใด ๆ จะต้องไม่ส่งผลเสียต่อทีมอื่น ๆ เซิร์ฟเวอร์ปลายทาง)
Bart van Ingen Schenau

1
@Andremoniy: ขอบคุณสำหรับความคิดเห็นของคุณ ฉันได้อัปเดตคำตอบเพื่อแก้ไขปัญหาที่คุณพบ
Greg Burghardt

6

ฉันสามารถจินตนาการถึงสถานการณ์ที่ทีมหนึ่งระบุว่า "เสร็จสิ้น" เป็น "การพัฒนาเสร็จสิ้น" (เช่นรหัสที่รวมเข้ากับ repo) ในขณะที่คนอื่น ๆ ระบุว่าเป็น "การทดสอบเสร็จสิ้น" (เช่นรหัสที่ปล่อยให้ Q / A และทดสอบ)

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


คุณพิจารณาคำตอบที่ถูกต้องหรือไม่โดยระบุว่าทุกทีมควรใช้คำจำกัดความเดียวกันหรือไม่?

ใช่ฉันเห็นด้วยว่าควรมีคำจำกัดความร่วมกันด้วยเหตุผลง่ายๆ - โครงการที่ซับซ้อนสามารถพิจารณาโครงสร้างของต้นไม้ที่โครงการย่อย (เช่น microservices) สร้างผลิตภัณฑ์โดยรวม (เช่น MyCool ERP) ดังนั้นในช่วงเวลาที่กำหนดคุณต้องการทราบว่าสามารถเปิดตัวผลิตภัณฑ์รุ่นใหม่ได้หรือไม่ แต่ถ้าคุณมีกระทรวงที่แตกต่างกันสำหรับคอมโพเนนต์ย่อยโดยเฉพาะข้อมูลนี้จะยากมากที่จะอนุมาน
Pawel Gorczynski
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.