- Vai trò cốt lõi của phần mềm là hiểu rõ vấn đề mình cần giải quyết và nhận thức được giới hạn của chính nó
- Phần mềm tốt không cố nhồi nhét mọi tính năng, mà chỉ xử lý những phần thực sự cần cải thiện và không đi chệch khỏi mục đích
- Đưa ra một ví dụ giả tưởng về việc lệnh
ls bị thay thế bằng tính năng AI, qua đó châm biếm hiện tượng các công cụ hiện có bị mở rộng một cách không cần thiết
- Trích dẫn các nguyên tắc trong ‘Getting Real’ và ‘Rework’ của 37Signals để nhấn mạnh rằng cần biến các ràng buộc thành lợi thế và biết từ chối những yêu cầu tính năng không cần thiết
- Nhắc lại rằng ngay trong làn sóng AI, sự ổn định của các tiêu chuẩn hiện có và việc xác định vấn đề rõ ràng vẫn có giá trị lớn hơn những trào lưu mới
Vai trò và giới hạn của phần mềm
- Bài viết mở đầu bằng một cảnh tưởng tượng: sau khi cập nhật bản phân phối Linux, lệnh
ls được biến thành trí tuệ thư mục dựa trên AI
- Lệnh
als mới dự đoán ý định của người dùng, xếp hạng tệp, và hiển thị thông báo rằng ls cũ sẽ ngừng được hỗ trợ sau 30 ngày
- Cảnh này là một ví dụ châm biếm về sự dư thừa tính năng và đổi mới không cần thiết
- Tác giả nhấn mạnh rằng “may mắn là chuyện như vậy không thực sự xảy ra”, và rằng phần mềm tốt biết khi nào mình nên dừng lại
Các nguyên tắc cốt lõi của phần mềm tốt
- Phần mềm tốt hiểu rõ mục đích mà nó phải thực hiện, không cố làm mọi thứ, và biết phân biệt giữa lúc nào nên dừng lại với điều gì cần cải thiện
- Tư duy tối đa hóa của con người có xu hướng làm mọi thứ lớn hơn và phức tạp hơn
- Nhưng phần mềm cần xác định rõ vai trò và vị trí của mình, và nếu một ý tưởng mới không phù hợp với tầm nhìn hiện có thì nên tách nó thành một dự án riêng
Triết lý sản phẩm của 37Signals
- ‘Rework’ và ‘Getting Real’ do những người sáng lập Basecamp viết mang lại nhiều bài học quan trọng cho thiết kế sản phẩm
- Ràng buộc là lợi thế (Constraints are advantages): đội ngũ nhỏ, ngân sách hạn chế và phạm vi giới hạn sẽ dẫn đến những quyết định tốt hơn
- Phớt lờ yêu cầu tính năng (Ignore feature requests): thay vì triển khai nguyên xi tính năng người dùng yêu cầu, cần tiếp cận bằng cách hiểu vấn đề gốc rễ
- Phát hành sớm, phát hành thường xuyên (Ship early, ship often): một sản phẩm chưa hoàn hảo nhưng thực sự hoạt động có giá trị hơn một sản phẩm hoàn hảo nhưng chưa bao giờ ra mắt
- Thiết kế xoay quanh tâm điểm (Epicenter design): thay vì điều hướng hay các yếu tố phụ, hãy thiết kế giao diện và tương tác cốt lõi trước
- Mặc định nói “không” (Say no by default): tính năng mới luôn đi kèm những chi phí ẩn như độ phức tạp, chi phí bảo trì và số lượng ngoại lệ cần xử lý tăng lên
- Tự làm thứ mình cần (Scratch your own itch): một sản phẩm giải quyết vấn đề mà chính bạn thực sự cần sẽ giúp đưa ra quyết định tốt hơn
Giá trị của sự bền vững hơn thay đổi
- Gần đây có xu hướng nhiều sản phẩm tái cấu trúc tên gọi và chức năng xoay quanh AI
- MinIO → AIStor
- Oracle Database → Oracle AI Database
- Không phải mọi thứ đều cần thay đổi một cách kịch tính
- Trong một miền vấn đề cụ thể, việc trở thành tiêu chuẩn trên thực tế (de facto standard) mang lại giá trị lớn hơn
Chưa có bình luận nào.