Chuyên môn · Lăng kính theo ngành

Phần mềm cho doanh nghiệp: cần thư viện tới mức nào

Câu trả lời là: đúng mức cho bài toán của Anh / Chị lúc này.

Chốt nhanh

Nếu Anh / Chị đang chạy từ hai sản phẩm trở lên, và đội thiết kế lẫn đội kỹ thuật cùng sửa giao diện, một hệ thiết kế số (bộ quy chuẩn thiết kế dùng chung cho mọi sản phẩm) bắt đầu đáng đồng tiền ngay, vì không còn ai phải làm lại cùng một thứ lần thứ hai. Nếu mới một sản phẩm và đội dưới ba người, chỉ cần bắt đầu bằng bộ token (các biến lưu màu sắc, kiểu chữ, khoảng cách) và vài component lõi (thành phần giao diện dùng nhiều nhất, như nút bấm hay ô nhập liệu). Dựng cả hệ lúc này là lãng phí. Mức đầu tư nên đi theo số đội cùng dùng chung, không theo quy mô tham vọng.

Đối sánh nhanh
Nên chọn hướng này khi
  • nhiều sản phẩm, nhiều đội, component đang bị code lại ở nhiều nơi
  • bảng và form dày đặc cần nhất quán giữa các module
  • có người chủ quản duy trì hệ sau bàn giao
Chưa cần khi
  • mới một sản phẩm, đội dưới ba người, còn đổi hướng thường xuyên
  • sản phẩm chưa có người dùng thật
Nhìn nhanh
Ngành hay dùng
SaaS B2B

Với SaaS B2B (phần mềm doanh nghiệp bán theo thuê bao) đa sản phẩm, câu hỏi không phải là có nên xây hệ thiết kế số, mà là xây đến mức nào và xây lúc nào. Hệ thiết kế số là bộ thành phần giao diện và quy tắc dùng chung cho mọi sản phẩm. Bài toán chi phí ở đây khá rõ. Một thành phần giao diện (như nút bấm, bảng dữ liệu, ô nhập liệu) tốn nhiều công để dựng đúng. Khi được dùng lại ở hàng chục nơi trong tổ chức đa sản phẩm, chi phí đó được chia đều. Mức đầu tư hợp lý tuỳ vào số đội đang cùng sửa giao diện.

Ba mức đầu tư theo bài toán

Sinh Vũ chia mức đầu tư thành ba bậc, tương ứng với giai đoạn và quy mô thực tế:

  • Mức 1: Nền tảng token. Dành cho một sản phẩm, đội dưới ba người. Giai đoạn này vẫn còn đang tìm sự phù hợp sản phẩm-thị trường (product-market fit, tức giai đoạn chưa xác định được sản phẩm đúng nhu cầu thị trường). Chuẩn hoá màu sắc, kiểu chữ, khoảng cách thành các biến token theo chuẩn DTCG (Design Tokens Community Group, chuẩn chung của ngành). Thêm mười đến hai mươi component dùng nhiều nhất. Đủ để thống nhất giao diện mà không bị hệ thiết kế trói buộc khi sản phẩm còn đổi hướng thường xuyên.
  • Mức 2: Hệ thống đầy đủ. Dành cho đội thiết kế và kỹ thuật cùng làm trên nhiều sản phẩm song song, khi cùng một component đang bị code lại ở nhiều nơi. Thư viện gồm bốn mươi đến tám mươi component lõi. Tài liệu ghi bằng Storybook (công cụ ghi tài liệu cho từng component ngay trong mã). Mỗi component trong Figma (phần mềm thiết kế giao diện) có một bản tương ứng trong mã. Đây là mức đáng đầu tư nhất với SaaS B2B trưởng thành.
  • Mức 3: Hệ có quản trị. Dành cho tổ chức nhiều đội nội bộ và đối tác cùng dùng. Bổ sung quy trình RFC (Request for Comments, tức quy trình đề xuất thay đổi có phản hồi cộng đồng) và chỉ số đo mức độ các đội đang dùng hệ. Thêm mô hình đội liên bang (federated), nghĩa là mỗi sản phẩm vừa dùng hệ vừa đóng góp ngược vào hệ.

Các yếu tố quyết định mức

Trước khi chọn mức, Anh / Chị cần trả lời thành thật mấy câu hỏi này:

  • Hiện tại có bao nhiêu sản phẩm và bao nhiêu đội cùng đụng giao diện?
  • Cùng một component, như bảng dữ liệu hoặc form lọc, đang bị code riêng ở bao nhiêu chỗ?
  • Sản phẩm đã có người dùng thật và đang mở rộng, hay vẫn đang thử nghiệm?
  • Sau khi dựng hệ, ai là người chủ quản để duy trì và tiếp nhận yêu cầu thay đổi?
  • Đội đang chạy song song bao nhiêu khung công nghệ (framework), ví dụ React, Vue?

Với SaaS B2B, giao diện thường dày đặc: bảng, biểu mẫu, biểu đồ, bộ lọc lồng nhau. Thiếu nhất quán giữa các module (phân hệ chức năng) không chỉ là vấn đề thẩm mỹ. Nó ảnh hưởng trực tiếp đến tốc độ học của người dùng doanh nghiệp, những người phải thao tác lặp đi lặp lại hàng ngày.

Bộ token cộng component lõi: khởi động nhanh, ít rủi ro bỏ xó, phù hợp giai đoạn còn đổi hướng. Giới hạn: chưa có tài liệu đủ để onboard đội mới nhanh.

Hệ đầy đủ với Storybook và Figma: tốn công dựng hơn, nhưng là ngôn ngữ chung thật sự giữa thiết kế và kỹ thuật. Phù hợp khi đội đã ổn định và sản phẩm đang mở rộng.

Lỗi thường gặp

  • Dựng hệ đầy đủ khi mới một sản phẩm và đội dưới ba người. Kết quả thường là hệ bị bỏ xó sau vài tháng vì không ai có thời gian duy trì.
  • Thiết kế token và component trong Figma nhưng không nối với mã đang chạy thật của sản phẩm. Đội kỹ thuật vẫn làm lại từ đầu vì không tin tài liệu.
  • Không cử người chủ quản. Hệ đứng yên trong khi sản phẩm tiến, sau vài quý đội bắt đầu bỏ qua hệ và tạo nhánh riêng.
  • Chạy theo số lượng component thay vì độ phủ các tình huống giao diện thật. Một hệ có hai trăm component nhưng thiếu trạng thái báo lỗi của biểu mẫu, hay khung xám giữ chỗ khi bảng đang tải dữ liệu (skeleton loading), thì vẫn chưa đủ dùng.

Ngay cả sản phẩm nhỏ cũng nên nghĩ tới chuyện dùng lại từ đầu: đặt tên token, tách vài component lõi. Nhưng chưa cần dựng cả hệ hay chăm chút đến mức của doanh nghiệp lớn.

Brad Frost, Design Systems Q&A

Góc nhìn của Sinh Vũ

Với các dự án SaaS B2B, Sinh Vũ bắt đầu bằng rà soát giao diện hiện có, tìm các component đang bị lặp và chuẩn hoá thành token theo chuẩn DTCG. Bước này thường phát hiện ra rằng đội đang duy trì ba đến năm biến thể của cùng một màu nút bấm mà không ai biết cái nào đúng.

Sau đó mới dựng component lõi, ưu tiên những thứ xuất hiện nhiều nhất trong sản phẩm thật chứ không theo danh sách component của hệ thiết kế nổi tiếng. Với SaaS B2B, bảng dữ liệu phức tạp, biểu mẫu nhiều bước, và trạng thái rỗng (màn hình hiện ra khi chưa có dữ liệu) thường quan trọng hơn nhiều so với băng chuyền ảnh (carousel) hay ảnh đại diện (avatar).

Một điều Sinh Vũ nói thẳng: nếu đội kỹ thuật dưới ba người hoặc sản phẩm chưa có người dùng thật, tập trung làm MVP (bản sản phẩm tối thiểu đủ để thử với người dùng thật) trước, hệ thiết kế đầy đủ để sau. Đầu tư vào hệ lúc sản phẩm chưa tìm được sự phù hợp với thị trường (product-market fit) là đặt cược sai thứ tự.

Mô hình đội quản hệ nên dịch chuyển dần từ đội tập trung sang liên bang khi số sản phẩm tăng, để mỗi sản phẩm vừa dùng vừa đóng góp ngược.

Nathan Curtis, Team Models for Scaling a Design System (EightShapes)
Công cụ mang về

Bảng kiểm quyết định

Chủ đề: Công ty bán phần mềm cho doanh nghiệp cần thư viện giao diện tới mức nào. Cẩm nang Sinh Vũ, sinhvu.com

0 trên 4 mục

Bấm chọn từng mục Anh / Chị thấy đúng hoặc đã trả lời được, rồi bấm Tải bản gửi nhanh để gửi đi, hoặc bấm In nếu cần bản giấy.

Dấu hiệu cho thấy Anh / Chị nên làm
Câu hỏi cần trả lời trước khi quyết định

Nếu Anh / Chị đánh dấu phần lớn ở nhóm dấu hiệu trên, đây là lúc nên trao đổi kỹ hơn. Sinh Vũ có thể cùng Anh / Chị soi lại và đề xuất hướng đi.

Nguồn tham khảo

Brad Frost, Design Systems Q&A; Brad Frost, The Design System Ecosystem; Nathan Curtis, Team Models for Scaling a Design System (EightShapes). Kinh nghiệm thực hành từ các dự án SaaS B2B của Sinh Vũ Studio.

Câu hỏi thường gặp

Một sản phẩm SaaS nhỏ có cần hệ thiết kế số không?

Chưa cần hệ đầy đủ, nhưng cần bộ token ngay từ đầu. Token là các biến lưu màu sắc, khoảng cách, kiểu chữ, giúp Anh / Chị thay đổi diện mạo toàn bộ sản phẩm chỉ bằng cách sửa một chỗ. Chi phí thấp, lợi ích dài hạn cao, và khi sản phẩm lớn lên Anh / Chị đã có nền để xây tiếp thay vì làm lại từ đầu.

Ai cần chủ quản hệ thiết kế số sau khi dựng xong?

Hệ thiết kế không tự duy trì. Nếu không có người chủ quản rõ ràng, hệ sẽ đứng yên trong khi sản phẩm vẫn tiến, sau vài tháng đội kỹ thuật bắt đầu bỏ qua và code lại ngoài hệ. Anh / Chị cần chỉ định ít nhất một người, có thể là kỹ sư hoặc nhà thiết kế nhiều kinh nghiệm, chịu trách nhiệm tiếp nhận yêu cầu thay đổi và cập nhật tài liệu.

Storybook có bắt buộc không?

Không bắt buộc ở giai đoạn đầu, nhưng rất đáng khi đội thiết kế và kỹ thuật làm cùng nhau trên nhiều sản phẩm. Storybook là công cụ tài liệu hoá component trực tiếp trong code, giúp hai bên nói chung một ngôn ngữ. Nếu đội còn nhỏ và tài liệu dạng trang Notion là đủ, chưa cần thêm lớp này.

← Về Thư viện giao diện dùng chung