Các Lập Trình Viên Tranh Luận Về Quy Tắc 80/20: Tại Sao Mỗi Người Dùng Cần Những Tính Năng Khác Nhau

Nhóm Cộng đồng BigGo
Các Lập Trình Viên Tranh Luận Về Quy Tắc 80/20: Tại Sao Mỗi Người Dùng Cần Những Tính Năng Khác Nhau

Thách thức lâu đời về việc phần mềm trở nên cồng kềnh đã khơi dậy cuộc tranh luận mới giữa các lập trình viên và quản lý sản phẩm. Một cuộc thảo luận gần đây đã làm nổi bật một sự thật cơ bản về thiết kế ứng dụng: trong khi người dùng thường chỉ sử dụng 20% tính năng của một ứng dụng, mỗi người dùng lại phụ thuộc vào một 20% hoàn toàn khác nhau.

Thực Tế Trong Doanh Nghiệp

Cuộc trò chuyện trở nên thú vị hơn khi xem xét việc bán phần mềm doanh nghiệp. Nhiều lập trình viên đã chia sẻ kinh nghiệm khi những tính năng tưởng chừng không được sử dụng lại trở thành yếu tố quyết định thành bại đối với các khách hàng doanh nghiệp lớn. Những tính năng vệ sinh này - như đăng nhập một lần, ghi nhật ký kiểm toán, hoặc các yêu cầu tuân thủ cụ thể - có thể được sử dụng ít nhưng lại hoàn toàn thiết yếu để chốt được các hợp đồng lớn.

Bởi vì một 'tính năng vệ sinh' bị thiếu có thể làm hỏng toàn bộ thỏa thuận. Và mỗi Doanh nghiệp lại có một tính năng khác nhau.

Điều này tạo ra một động lực đầy thách thức cho các nhóm phát triển. Các nhóm bán hàng thường hứa hẹn các tính năng tùy chỉnh để có được khách hàng lớn, khiến các kỹ sư phải xây dựng và duy trì chức năng phục vụ nhu cầu rất cụ thể, đôi khi chỉ cho một khách hàng duy nhất. Nợ kỹ thuật từ những tính năng bắt buộc này có thể tích lũy nhanh chóng, đặc biệt khi khách hàng yêu cầu ban đầu cuối cùng rời bỏ.

Danh sách kiểm tra "Tính năng Vệ sinh" Doanh nghiệp:

  • Đăng nhập một lần (SSO) / tích hợp SAML
  • Chứng nhận ISO và tuân thủ
  • Kiểm tra thâm nhập định kỳ
  • Hỗ trợ bản địa hóa
  • Truy cập API (thường không được sử dụng nhưng bắt buộc)
  • Khả năng thao tác hàng loạt
  • Tùy chọn tự lưu trữ
  • Nhóm & quyền hạn chi tiết
  • Ghi nhật ký kiểm toán
  • Tuân thủ SOC 2/3
  • Chính sách lưu giữ dữ liệu
  • Công cụ tuân thủ GDPR & CCPA

Hiện Tượng Microsoft Office

Cuộc thảo luận thường xuyên quay trở lại với Microsoft Office như một ví dụ điển hình của nguyên tắc này. Một lập trình viên đã cố gắng phân tích ứng dụng SaaS của họ bằng cách nhóm người dùng dựa trên việc sử dụng tính năng, hy vọng xác định được các kiểu người dùng cốt lõi. Kết quả rất có ý nghĩa - ngoài chức năng đăng nhập cơ bản, hầu như mọi người dùng đều có một sự kết hợp tính năng độc đáo mà họ dựa vào.

Điều này phản ánh những quan sát từ hàng thập kỷ trước về việc sử dụng Office Suite, nơi có câu nói đùa rằng không ai sử dụng quá 5% khả năng của Microsoft Word, nhưng không có hai người dùng nào chia sẻ cùng 5% đó. Cùng một mô hình xuất hiện trên các ứng dụng phức tạp: mỗi người dùng tạo ra bộ công cụ thiết yếu riêng của họ từ tập tính năng rộng lớn hơn.

Sự tương tác đa dạng của người dùng với các tính năng cụ thể trong ứng dụng phần mềm phản ánh những kết hợp độc đáo mà mỗi người dùng thấy cần thiết, như được thể hiện trong bảng điều khiển tài chính được hiển thị ở đây
Sự tương tác đa dạng của người dùng với các tính năng cụ thể trong ứng dụng phần mềm phản ánh những kết hợp độc đáo mà mỗi người dùng thấy cần thiết, như được thể hiện trong bảng điều khiển tài chính được hiển thị ở đây

Tìm Thành Công Trong Những Khoảng Trống

Một số công ty đã tìm thấy cơ hội trong sự phân mảnh này. Công cụ tìm kiếm Kagi đã xác định rằng 1% không hài lòng của Google - những người dùng quyền lực bực bội với spam SEO và mối quan tâm về quyền riêng tư - thực sự đại diện cho hàng triệu khách hàng tiềm năng. Thay vì cạnh tranh với Google trên tất cả các trường hợp sử dụng, Kagi tập trung vào việc phục vụ hoàn hảo phân khúc cụ thể này.

Chiến lược này cũng xuất hiện trong các sản phẩm thành công khác. Figma không cần thay thế tất cả các công cụ sáng tạo của Adobe - họ chỉ cần xuất sắc trong thiết kế cộng tác. Hiểu biết quan trọng là nhận ra phân khúc người dùng nào đang được phục vụ không đầy đủ bởi các giải pháp hiện có và xây dựng cụ thể cho nhu cầu của họ.

Các ví dụ thành công về chiến lược "20% khác biệt":

  • Kagi: Tập trung vào những người dùng chuyên sâu không hài lòng với Google, tìm kiếm công cụ tìm kiếm không quảng cáo và bảo vệ quyền riêng tư
  • Figma: Chuyên về thiết kế cộng tác so với bộ công cụ sáng tạo rộng hơn của Adobe
  • Notion: Công cụ lai ghép dành cho các nhóm cần cả chức năng xử lý văn bản và cơ sở dữ liệu
  • VS Code: Trình soạn thảo mô-đun cho phép tùy chỉnh 20% thông qua các tiện ích mở rộng
  • Trello: Quản lý dự án đơn giản hóa được phát triển từ chức năng tạo bảng của Excel

Tiến Thoái Lưỡng Nan Trong Phát Triển

Đối với các lập trình viên cá nhân và nhóm nhỏ, thực tế này tạo ra một nghịch lý bực bội. Nhiều lập trình viên nghiệp dư tạo ra các ứng dụng giải quyết hoàn hảo các vấn đề cụ thể của riêng họ, nhưng lại do dự khi phát hành công khai vì họ không muốn triển khai 80% còn lại mà những người dùng khác có thể cần.

Giải pháp ngày càng nằm ở việc xây dựng các nền tảng mô-đun, có thể mở rộng thay vì các ứng dụng nguyên khối. VS Code thành công bằng cách bắt đầu với một lõi trình soạn thảo văn bản nhẹ và cho phép người dùng tùy chỉnh môi trường của họ thông qua các tiện ích mở rộng. Cách tiếp cận này cho phép mỗi người dùng xây dựng 20% hoàn hảo của họ trong khi giữ cho ứng dụng cơ sở có thể quản lý được.

Kết Luận

Quy tắc 80/20 trong phần mềm không chỉ là về việc xác định các tính năng không được sử dụng - mà là về việc hiểu rằng những người dùng khác nhau có nhu cầu cơ bản khác nhau từ cùng một ứng dụng. Thay vì chống lại thực tế này, các sản phẩm thành công chấp nhận nó bằng cách tạo ra những nền tảng linh hoạt mà người dùng có thể điều chỉnh theo yêu cầu cụ thể của họ. Thách thức đối với các lập trình viên là xây dựng các hệ thống hỗ trợ sự đa dạng này mà không trở nên không thể duy trì hoặc mất tập trung vào chức năng cốt lõi.

Tham khảo: Users Only Care About 20% of Your Application