Tôi coi nguyên nhân chính của lỗi phần mềm là lập trình viên.
Không nói rằng chỉ để gây cười, nhưng bởi vì một trong những vấn đề lớn mà tôi quan sát được trong công việc của mình là thu thập các yêu cầu kém, cùng với sự hiểu biết kém về lĩnh vực vấn đề, gây ra các khiếm khuyết lớn và các vấn đề về khả năng sử dụng trong dự án.
Một phần trong đó xuất phát từ việc không sẵn sàng tìm hiểu / hiểu thuật ngữ của người dùng cuối, gây ra sự hiểu lầm.
Một phần trong số đó đến từ việc nói về công nghệ quá sớm trong quá trình cho những người không biết bạn đang nói về vấn đề gì hoặc tại sao nó lại quan trọng.
Ví dụ điển hình nhất là khi tôi tình cờ nghe thấy một trong những lập trình viên cố gắng tìm hiểu các câu hỏi / câu trả lời sẽ diễn ra trong bao lâu ... Tôi biết anh ta đang cố gắng tìm ra trường kích thước nào sẽ được sử dụng trong cơ sở dữ liệu, nhưng bộ phận yêu cầu điều này không có sương mù tại sao điều đó quan trọng - hoặc không gian đó được tính. Đối với chúng tôi điều đó có vẻ hiển nhiên, nhưng với họ đó là một sự mặc khải thực sự.