การแก้ไขข้อบกพร่องที่ทำโดยคนอื่นเป็นวิธีที่ดีหรือไม่?


17

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

อะไรคือวิธีการที่ต้องการในการพัฒนาแบบเปรียว (scrum)?


3
ผู้ที่สร้างรหัสของคุณควรแก้ไขรหัสของคุณ
Agile Scout

คำตอบ:


35

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


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

1
และสิ่งที่เกี่ยวกับข้อเสนอแนะให้กับคนที่ยอมรับข้อผิดพลาด?

@ Robert มันไม่ได้เป็นเพียงแค่ข้อเสนอแนะ ข้อผิดพลาดจะต้องปิดอย่างเป็นทางการโดยผู้ส่ง

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

1
@yegor, robert ถามถึงคนที่เขียนบั๊กไม่ใช่ผู้ส่ง สำหรับข้อบกพร่องที่สำคัญควรรายงานให้คนที่ไม่สำคัญ

8

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

หากบุคคลนั้นไม่ว่างบุคคลอื่นสามารถแก้ไขได้ แต่บุคคลนั้นควรทำตามวงจรชีวิตของแมลง


3
นั่นคือเหตุผลที่การสื่อสารมีความสำคัญ หากคนที่แก้ไขข้อผิดพลาดที่ไม่ใช่ coder ดั้งเดิมอธิบายว่าปัญหาและการแก้ไขนั้นคืออะไรกับผู้ริเริ่มจากนั้นคนสองคนเรียนรู้จากมันมากกว่าหนึ่งคน
AndrewKS

7

ในฐานะ PM ฉันจะหลีกเลี่ยงการเชื่อมโยงข้อบกพร่องกับนักพัฒนาเฉพาะ หากจำเป็นต้องทำให้ผู้จัดการการทำงาน / การพัฒนาทำเช่นนั้น กังวลกับทีม มีข้อผิดพลาดที่ทีมต้องแก้ไข


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

2

ฉันไม่ทราบว่า scrum จัดการกับสถานการณ์นี้ได้อย่างไร แต่ในทีมของฉันเรามีบางอย่างที่เหมือนการทดสอบข้ามรหัส / ด้วยวิธีนี้ในกรณีที่พบข้อผิดพลาดทั้งผู้พัฒนาและผู้ตรวจทานจะหารือถึงวิธีที่ดีที่สุดในการแก้ไข

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

Rgds

แก้ไข: ไม่แน่ใจว่าฉันทำให้ตัวเองชัดเจนหรือไม่ แต่สิ่งสำคัญคือต้องเน้นว่าผู้ตรวจสอบเป็นนักพัฒนาคนอื่นในทีม


@ ติอาโก้: ฉันขอขอบคุณทางออกของคุณ แต่ฉันไม่คิดว่าการอภิปรายเป็นสิ่งที่จำเป็นเสมอ
Hoàng Long

1
  1. ประเมินข้อผิดพลาด
  2. ถ้ามันจะเร็วขึ้น / ทำให้เหมาะสมสำหรับนักพัฒนาดั้งเดิมในการแก้ไขให้กับพวกเขา
  3. ถ้าทุกคนในทีมสามารถแก้ไขได้ให้ทุกคนทำ

1

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

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

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


1

มีเพียงสามเหตุผลในการดูแลว่าใครแก้ไขข้อบกพร่อง: ค่าใช้จ่ายความเร็วและการพัฒนามืออาชีพ

และมีข้อดีข้อเสียสำหรับทั้งสาม ยกตัวอย่างเช่นการพัฒนาวิชาชีพในทางกลับกันโอกาสในการเรียนรู้เพิ่มเติมเกี่ยวกับรหัสในอีกด้านหนึ่งถือเป็นโอกาสอันดีที่จะตระหนักถึงข้อผิดพลาดที่คุณทำและหลีกเลี่ยงบางอย่างในอนาคต หรือใช้ค่าใช้จ่ายสันนิษฐานว่าคนที่ทำผิดจะสามารถแก้ไขได้เร็วขึ้นและอาจถูกกว่าในทางกลับกันมีค่าใช้จ่ายสำหรับเวลาที่ระบุว่าใครทำผิดและมอบหมายให้คนที่เหมาะสม - เวลา ซึ่งในหลายกรณีเกินกว่าการแก้ไขบั๊ก

แนวทางแบบว่องไวคือการให้ผู้พัฒนากำหนดปัญหาเองฉันจะลบล้างสิ่งนั้นด้วยเหตุผลที่ดีเท่านั้น


1

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


0

คิดเกี่ยวกับ: ใครมีข้อมูลเพิ่มเติมเกี่ยวกับบั๊กบ้าง ทีมพัฒนา

ดังนั้นให้พวกเขาตัดสินใจว่าจะทำอย่างไรกับข้อผิดพลาด พวกเขาเป็นเจ้าของรหัสดังนั้นพวกเขาจึงรับผิดชอบมัน

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

หลีกเลี่ยงการตัดสินใจหลายอย่างที่คุณ (ในฐานะบทบาท PM) มีข้อมูลน้อยกว่าทีม

ดูคำถามเกี่ยวกับ: วิธีหลีกเลี่ยงการจัดการทีมพัฒนาซอฟต์แวร์ขนาดเล็กได้อย่างไร?


0

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

จากนั้นคุณสามารถแสดงให้ผู้เขียนโค้ดเห็นว่าพวกมันก่อให้เกิดข้อบกพร่องอย่างไร

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

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


0

เมื่อพบข้อผิดพลาดมันเป็นความรับผิดชอบของทีมพัฒนาทั้งหมดในการแก้ไข

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

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

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