Gần đây tôi đã tham dự một bài giảng được đưa ra bởi Greg Wilson (Nhà khoa học trưởng về phần mềm mộc). Từ tóm tắt:
Ý tưởng tuyên bố về thực tiễn phát triển phần mềm nên dựa trên bằng chứng vẫn còn xa lạ với các nhà phát triển phần mềm, nhưng điều này cuối cùng đã bắt đầu thay đổi: bất kỳ học giả nào tuyên bố rằng một công cụ hoặc thực tiễn cụ thể làm cho việc phát triển phần mềm nhanh hơn, rẻ hơn hoặc đáng tin cậy hơn bây giờ dự kiến sẽ sao lưu yêu cầu đó với một số loại nghiên cứu thực nghiệm.
Nhìn chung, bài giảng rất nhiều thông tin và khiến tôi suy nghĩ khá sâu sắc về cách tiếp cận phát triển của mình. Đặc biệt, bây giờ tôi thấy mình đang tìm kiếm trích dẫn để sao lưu rất nhiều báo cáo. Trước đây, tôi đã có thói quen đơn giản là lặp lại những sự thật được cung cấp, có lẽ là một lưu ý về tinh thần để kiểm tra nó sau.
Nói một cách thẳng thắn, tôi đã được cả tin .
Đây là một ví dụ được lấy từ bài giảng:
"Nếu hơn 25% mã cần tái cấu trúc, thì việc viết lại nó sẽ nhanh hơn".
Nghe có vẻ hợp lý, nhưng nó có đúng không? Nghiên cứu ủng hộ điều này ở đâu? Có đúng với tất cả các ngôn ngữ? Và như thế.
OK, hoàn toàn có thể đưa điều này đến mức cực đoan và không tin bất cứ ai trừ khi bạn tự mình lấy nó từ những nguyên tắc đầu tiên. Đó là cách điên rồ (hoặc có thể là toán học ;-)). Nhưng, nếu ai đó đến với bạn bằng một tuyên bố dọc theo dòng chữ "Này, bằng cách thực hiện điều này trong [ngôn ngữ chọn thời điểm], chúng tôi sẽ có thể tăng năng suất bằng cách [chọn nhiều trong số 10]%", bạn có xu hướng chỉ chấp nhận nó, hoặc bạn sẽ yêu cầu bằng chứng đã được chứng minh?
Nếu đó là cái sau (và tôi hy vọng là vậy) thì
- bạn sẽ đi đâu để tìm bằng chứng này?
- bạn sẽ nghiêm ngặt đến mức nào?
Nói tóm lại, nếu ai đó đưa ra cho bạn một tuyên bố chưa được xác minh, bạn sẽ trả lời với "cần dẫn nguồn" chứ?