Giả sử mã đã được thử nghiệm (và đặc biệt nếu được phát hành) hoàn toàn.
Có một số lý do cho việc này:
Bộ nhớ - Hệ thống thực sự không thể quên lỗi, bất kỳ nhà phát triển nào cũng có thể.
Số liệu - Số lượng lỗi được tìm thấy, đã đóng và thời gian thực hiện có thể là số liệu dễ nắm bắt tốt để cho bạn biết chất lượng mã của bạn đang tiến triển như thế nào
Tính cấp thiết - Có vẻ như là điều quan trọng nhất trên thế giới đối với nhà phát triển, tuy nhiên thời gian dành cho việc khắc phục vấn đề này có thể được dành tốt hơn cho thứ gì đó mà người dùng cuối muốn trước (xem thêm bộ nhớ).
Sao chép - Có thể nó đã bị phát hiện và đang được người khác kiểm tra / sửa chữa. Mặt khác, nó có thể đã phạm lỗi của quy tắc khẩn cấp và đã được đưa ra. Tất nhiên, thực tế là bạn đã tìm thấy nó một lần nữa không có nghĩa là nó không nên được thực hiện, điều đó có thể có nghĩa là (vì nó tiếp tục phát triển) hiện đang khẩn cấp hơn để khắc phục.
Phân tích nguyên nhân gốc rễ - Lỗi dễ khắc phục nhất là lỗi chưa từng có. Có thể là nhóm nên xem xét lỗi này để tìm hiểu xem nó đã xảy ra như thế nào. Đây là definativley không phải để trừng phạt người chịu trách nhiệm (điều đó không bao giờ giúp đỡ) mà để tìm hiểu làm thế nào có thể tránh được tình huống trong tương lai.
Phân tích tác động rộng hơn - Lỗi rẻ nhất để tìm là lỗi bạn đã biết trước khi tìm thấy. Bằng cách xem xét lỗi này (đặc biệt là sau khi thực hiện phân tích nguyên nhân gốc), có thể nhanh chóng thấy rõ rằng vấn đề này có thể tồn tại ở những nơi khác trong mã. Kết quả là nhóm có thể chọn đi tìm nó trước khi nó ngẩng cái đầu xấu xí của mình vào một thời điểm đáng xấu hổ hơn.
Lượng thời gian dành cho những điều này (nếu có) phần lớn phụ thuộc vào mức độ trưởng thành và chất lượng của mã. Phân tích nguyên nhân gốc rễ có thể là quá mức cần thiết cho một nhóm nhỏ làm việc về mã trình diễn, nhưng một nhóm lớn về phát triển quan trọng trong kinh doanh có lẽ cần phải học các bài học một cách hiệu quả và hiệu quả.
Từ kinh nghiệm, có hai lý do rộng rãi mà các nhà phát triển tránh sử dụng công cụ:
- Công cụ xử lý lỗi và / hoặc quy trình được coi là quá nặng cho sự phát triển
- Các nhà phát triển tìm thấy thử thách tinh thần trong việc sửa lỗi thú vị hơn những thứ họ đang làm.
Mục 1 ngụ ý rằng một hệ thống tốt hơn / đơn giản hơn có thể được yêu cầu; hoặc cách khác, một sự biện minh hấp dẫn hơn của hệ thống hiện tại có thể theo thứ tự.
Mục 2 phải là một dấu hiệu cảnh báo hữu ích cho lãnh đạo phát triển về phân bổ nhiệm vụ hiện tại.