Nhiều hơn không phải tốt hơn, ít hơn không phải nhanh hơn. Câu hỏi đúng là: bao nhiêu component đủ cho sản phẩm của Anh/Chị?
Không có con số tuyệt đối, nhưng nguyên tắc là đủ để xây được 80 đến 90 phần trăm màn hình thực tế mà không cần vẽ lại từ đầu. Với SaaS nhỏ đến vừa, bộ 40 đến 60 component sau bước kiểm kê sản phẩm thường đáp ứng được điều đó. Nhiều hơn con số này chỉ có giá trị khi đội có người chuyên trách bảo trì, không thì thư viện sẽ nặng dần và ít người dùng.
Anh/Chị đang xây design system (hệ thống thiết kế) và tự hỏi nên có bao nhiêu component (thành phần giao diện tái sử dụng) mới là đủ. Câu hỏi này không có đáp án tuyệt đối, nhưng có nguyên tắc rõ ràng: đủ để xây được phần lớn màn hình thực tế của sản phẩm mà không cần thiết kế lại từ đầu. Quá ít thì đội mất tính nhất quán. Quá nhiều thì chi phí bảo trì vượt giá trị thực sự nhận được.
Nhiều người xây design system theo cách liệt kê component từ thư viện nước ngoài hoặc học theo Material Design, Ant Design rồi cố sao chép quy mô. Đây là sai lầm phổ biến nhất Sinh Vũ gặp khi làm việc với khách.
Material Design hay Ant Design phục vụ hàng nghìn sản phẩm khác nhau, nên buộc phải phủ rộng. Sản phẩm của Anh/Chị chỉ cần phục vụ một bộ màn hình xác định. Mỗi component trong thư viện là một cam kết: phải viết test, phải có tài liệu, phải cập nhật khi token (đơn vị thiết kế như màu sắc, kích thước) thay đổi. Đội nhỏ không thể bảo trì 200 component mà vẫn giữ chất lượng.
Khi thư viện phình quá mức, đội kỹ thuật bắt đầu bỏ qua và tự vẽ lại. Lúc đó design system tuy nhìn ấn tượng về số lượng nhưng thực tế đã mất tác dụng.
Thường 20 đến 30 component lõi đã bao phủ được phần lớn giao diện. Phần còn lại là đuôi dài, xuất hiện thưa thớt và chỉ nên xây khi sản phẩm thực sự cần.
Nguyên tắc Pareto 80/20, ứng dụng trong thực hành design systems
Sinh Vũ bắt đầu mọi dự án design system bằng bước kiểm kê: liệt kê toàn bộ màn hình của sản phẩm, đếm tần suất xuất hiện của từng pattern giao diện, chỉ đưa vào thư viện những gì xuất hiện ít nhất 3 lần. Bước này mất vài buổi làm việc nhưng tiết kiệm nhiều tháng bảo trì về sau.
Gói cơ bản của Sinh Vũ bắt đầu từ 40 component vì sau bước kiểm kê đó, con số này thường đủ cho SaaS nhỏ đến vừa. Quan trọng hơn con số là cơ chế quản trị: ai được đề xuất component mới, ai review, ai phê duyệt. Governance (quản trị thư viện) tốt thì thư viện 40 component còn có giá trị lâu dài hơn thư viện 200 component không ai kiểm soát.
Dấu hiệu để dừng lại và đánh giá lại phạm vi: khi tỷ lệ component trong thư viện nhưng không xuất hiện trong sản phẩm vượt 30 phần trăm, đó là lúc cần thu gọn chứ không phải mở rộng thêm.
Nguyên tắc Pareto 80/20 (ứng dụng không chính thức trong ngành design systems). Tài liệu dịch vụ A3 của Sinh Vũ Studio.
Material và Ant Design phục vụ hàng nghìn sản phẩm khác nhau trên toàn thế giới nên phải phủ rộng. Sản phẩm của Anh/Chị chỉ cần phục vụ một bộ màn hình cụ thể. Học cách tổ chức và đặt tên của họ thì được, còn sao chép số lượng thì không nên vì đội của Anh/Chị sẽ không đủ nguồn lực bảo trì phần dư.
Sinh Vũ dùng ngưỡng tối thiểu là xuất hiện ít nhất 3 lần trong sản phẩm thực tế. Nếu một UI chỉ dùng một lần, làm thẳng trong file thiết kế là đủ, không cần đưa vào thư viện. Đưa vào thư viện nghĩa là cam kết test, tài liệu hóa và cập nhật về lâu dài, nên chỉ làm khi xứng đáng.
Dấu hiệu rõ nhất là tỷ lệ component trong thư viện nhưng không ai dùng trong sản phẩm vượt quá 30 phần trăm. Khi đó đội kỹ thuật bắt đầu bỏ qua thư viện và tự vẽ lại, lúc đó design system thực chất đã mất tác dụng dù số lượng component nhìn rất ấn tượng.