Chà, câu trả lời này không thực sự cụ thể đối với lập trình như bạn nghĩ. Bạn phải mang nó trở lại những điều họ hiểu.
Nếu đó là một thứ gì đó giống như thành phần trên sự kế thừa, có lẽ bạn chỉ cần nói rằng hiện tại có lẽ 90% các nhà phát triển sẽ coi đó là một cách thực hành tốt nhất (một phỏng đoán hoang dã, một phần dựa trên thực tế là 100% các nhà phát triển đồng ý gần như không có gì), và bạn đồng ý và sẽ rất vui khi đi vào lý do tại sao.
Tôi cố gắng trung thực hết mức có thể về những gì gây tranh cãi và bao nhiêu phần trăm các nhà phát triển sẽ đồng ý với tôi.
Điều này thường làm việc tốt hơn với quản lý so với các nhà phát triển, những người có thể sẽ khiến bạn đi xuống hố thỏ để giải thích liệu bạn có thực sự ủng hộ thiết kế tốt hay không và làm thế nào để bạn biết điều đó. Có điều gì đó đáng khen ngợi trong việc này, nhưng điều đó có nghĩa là bạn phải dành nhiều thời gian. Trừ khi họ tin tưởng bạn đủ để nhận lời của bạn cho những điều đó, ít nhất là tạm thời. Về mặt tốt, họ có thể thuyết phục bạn rằng bạn sai, điều đó đánh bại sự thật phũ phàng, lạnh lùng thuyết phục bạn xuống đường.
Đối với những thứ như một thiết kế dễ kiểm chứng hơn, nếu họ không đồng ý rằng nó dễ kiểm tra hơn thì nó khá giống với ví dụ đầu tiên. Nếu họ không đồng ý rằng mong muốn được kiểm chứng nhiều hơn, thì bạn phải đưa nó trở lại những điều họ hiểu. Đây rất có thể là quản lý và bạn có thể nói về chi phí phát triển thấp hơn trong dài hạn, ít QA hơn, các quy trình dễ dự đoán hơn (vì độ dài của các chu kỳ QA lặp lại là khó dự đoán), v.v.
Tôi nghĩ một phần của vấn đề là bạn đánh giá thấp việc khó khăn như thế nào để một nhóm đồng ý với bạn về bất cứ điều gì gây tranh cãi, ngay cả khi bạn tình cờ là chính xác (và tất nhiên bạn có thể không). Lập trình một phần là một bài tập xã hội học và bạn có thể cần sắp xếp thời gian để thực sự đi xuống một số lỗ thỏ đó, vì một thiết kế tuyệt vời mà không ai hiểu hoặc bị bỏ lại phía sau hiếm khi là một thiết kế tuyệt vời trong thực tế. Vì vậy, đừng nghĩ rằng thời gian đó là lãng phí, hãy nghĩ rằng đó là một phần cần thiết trong thành công của dự án của bạn. Mặc dù nó sẽ dễ dàng hơn nhiều nếu bạn bằng cách nào đó có thể bỏ qua nó.