สมมติว่ามีการทดสอบโค้ด (และโดยเฉพาะอย่างยิ่งถ้ามีการเผยแพร่) อย่างแน่นอน
มีสาเหตุหลายประการ:
หน่วยความจำ - ระบบไม่น่าที่จะลืมข้อผิดพลาดจริงๆนักพัฒนาที่ได้รับอาจ
Metrics - จำนวนของบั๊กที่พบปิดและเวลาที่ใช้อาจเป็นเมทริกที่ง่ายต่อการดักจับเพื่อบอกให้คุณทราบว่าคุณภาพของโค้ดของคุณมีความคืบหน้าอย่างไร
เร่งด่วน - อาจดูเหมือนสิ่งสำคัญที่สุดในโลกสำหรับนักพัฒนาอย่างไรก็ตามเวลาที่ใช้ในการแก้ไขปัญหานี้อาจใช้เวลากับสิ่งที่ผู้ใช้ต้องการก่อน (ดูที่หน่วยความจำ)
การทำสำเนา - อาจถูกพบแล้วและอยู่ระหว่างการตรวจสอบ / แก้ไขโดยบุคคลอื่น หรือบางทีมันอาจล้มเหลวจากกฎเร่งด่วนและถูกเลื่อนออกไป แน่นอนความจริงที่ว่าคุณพบมันอีกครั้งไม่เพียง แต่หมายความว่าไม่ควรทำ แต่อาจหมายถึงว่า (ขณะที่มันกำลังจะมาถึง) ซึ่งตอนนี้เป็นเรื่องเร่งด่วนที่จะแก้ไข
การวิเคราะห์สาเหตุที่แท้จริง - ข้อผิดพลาดที่ง่ายที่สุดในการแก้ไขคือสิ่งที่ไม่เคยเกิดขึ้นมาก่อน อาจเป็นได้ว่าทีมควรมองจุดบกพร่องนี้เพื่อค้นหาว่ามันเป็นอย่างไร นี่คือนิยามที่จะไม่ลงโทษผู้รับผิดชอบ (ที่ไม่เคยช่วย) แต่เพื่อค้นหาว่าสถานการณ์จะสามารถหลีกเลี่ยงได้ในอนาคต
การวิเคราะห์ผลกระทบที่กว้างขึ้น - ข้อผิดพลาดที่ถูกที่สุดในการค้นหาคือสิ่งที่คุณรู้ก่อนที่คุณจะพบมัน โดยการดูที่ข้อผิดพลาดนี้ (โดยเฉพาะหลังจากทำการวิเคราะห์สาเหตุที่แท้จริง) มันอาจกลายเป็นที่ชัดเจนได้อย่างชัดเจนว่าปัญหานี้อาจเกิดขึ้นในที่อื่น ๆ ในรหัส เป็นผลให้ทีมสามารถเลือกที่จะไปหามันก่อนที่จะยกหัวน่าเกลียดในช่วงเวลาที่น่าอายมากขึ้น
ระยะเวลาที่ใช้ไปกับสิ่งเหล่านี้ (ถ้ามี) ส่วนใหญ่ขึ้นอยู่กับวุฒิภาวะและระดับคุณภาพของรหัส การวิเคราะห์สาเหตุของปัญหาน่าจะเกินความจำเป็นสำหรับทีมเล็ก ๆ ที่ทำงานเกี่ยวกับรหัสสาธิต แต่ทีมใหญ่ในการพัฒนาที่สำคัญทางธุรกิจอาจต้องเรียนรู้บทเรียนอย่างมีประสิทธิภาพและมีประสิทธิภาพ
จากประสบการณ์มีเหตุผลสองประการที่นักพัฒนาหลีกเลี่ยงการใช้เครื่องมือ:
- เครื่องมือจัดการข้อผิดพลาดและ / หรือกระบวนการถูกมองว่าหนักเกินไปสำหรับการพัฒนา
- นักพัฒนาค้นหาความท้าทายทางจิตของการแก้ไขข้อผิดพลาดที่น่าสนใจกว่าสิ่งที่พวกเขากำลังทำงานอยู่
รายการที่ 1 แสดงว่าอาจจำเป็นต้องมีระบบที่ดีกว่า / ง่ายกว่า หรืออีกเหตุผลที่น่าสนใจของระบบที่มีอยู่อาจเป็นไปตามลำดับ
รายการที่ 2 ควรเป็นสัญญาณเตือนภัยที่เป็นประโยชน์ต่อผู้นำการพัฒนาเกี่ยวกับการจัดสรรงานปัจจุบัน