Cẩm nang · Lăng kính theo ngành

SaaS B2B đa sản phẩm cần hệ thiết kế số tới mức nào

Câu hỏi không phải 'có nên làm không' mà là 'làm lúc nào và làm bao nhiêu'.

Chốt nhanh

SaaS B2B đa sản phẩm nên bắt đầu xây design system khi đội kỹ thuật vượt quá 4 đến 5 kỹ sư và giao diện giữa các module bắt đầu phân kỳ. Trước ngưỡng đó, ưu tiên MVP và product-market fit: giao diện còn thay đổi liên tục thì mọi token và component viết ra đều có nguy cơ phải viết lại. Khi đã có khách hàng trả tiền và cần mở rộng module hoặc hỗ trợ white-label, đó là lúc đầu tư có giá trị rõ ràng.

Với SaaS B2B đa sản phẩm, câu hỏi đúng không phải "có nên làm design system không" mà là "làm lúc nào và làm bao nhiêu". Làm quá sớm thì lãng phí vì phải viết lại. Làm quá trễ thì nợ kỹ thuật giao diện tích lũy âm thầm, đến lúc phát hiện thì chi phí sửa đã lớn hơn chi phí làm từ đầu.

Hai ngưỡng quyết định

Sinh Vũ dùng hai ngưỡng để xác định thời điểm:

  • Ngưỡng đội: Khi đội kỹ thuật vượt 4 đến 5 kỹ sư, chi phí phối hợp tăng nhanh. Kỹ sư mới mất nhiều tuần để hiểu các pattern giao diện không được ghi chép. Lúc này, design system không còn là công cụ thiết kế mà là cơ chế phối hợp tổ chức, đúng như Conway's Law mô tả từ năm 1968: cấu trúc phần mềm phản chiếu cấu trúc giao tiếp của đội xây nó.
  • Ngưỡng sản phẩm: Khi đã có khách hàng trả tiền và giao diện cần giữ ổn định qua các lần cập nhật. Nielsen Norman Group nhấn mạnh tính nhất quán là nguyên tắc cốt lõi về khả năng sử dụng (usability): người dùng kỳ vọng các thành phần tương tự hoạt động giống nhau xuyên suốt sản phẩm. Phá vỡ kỳ vọng đó có chi phí thực: khách hàng enterprise phàn nàn, đội hỗ trợ mất thêm giờ giải thích.

Chưa chạm cả hai ngưỡng thì chưa cần đầu tư bài bản. Chạm một trong hai thì bắt đầu chuẩn bị nền, chạm cả hai thì làm ngay.

Yếu tố đặc thù SaaS B2B cần cân nhắc thêm

  • Số module và vòng lặp release: Càng nhiều module, chi phí không nhất quán tích lũy càng nhanh. Nhịp release nhanh cần component tái sử dụng được, nếu không mỗi tính năng mới lại kéo theo một bộ giao diện riêng.
  • Dashboard và data visualization (biểu đồ dữ liệu): SaaS B2B thường có màn hình báo cáo phức tạp. Đây là nơi component lặp lại nhiều nhất và cũng là nơi thiếu nhất quán dễ thấy nhất.
  • Yêu cầu white-label hoặc theming: Nếu khách hàng enterprise yêu cầu giao diện mang màu sắc thương hiệu của họ, bắt buộc phải có design token (lớp trừu tượng hóa giá trị thiết kế như màu, khoảng cách, bo góc) tách rời khỏi component. Không có token thì mỗi khách là một lần sửa thủ công, dễ lỗi và không thể nhân rộng.
Làm sớm: Phù hợp nếu đội từ 5 người trở lên, sản phẩm post-PMF (đã đạt độ phù hợp sản phẩm và thị trường), có kế hoạch mở thêm module hoặc hỗ trợ white-label. Chi phí ban đầu cao hơn nhưng rút ngắn thời gian phát triển tính năng về sau và giảm nợ kỹ thuật giao diện tích lũy.

Làm trễ hoặc không làm: Phù hợp nếu sản phẩm chưa có user thực, đội dưới 3 kỹ sư, sản phẩm đơn module không có kế hoạch mở rộng. Rủi ro là nếu đợi quá lâu, phải refactor toàn bộ khi giao diện đã rối.

Lỗi thường gặp khi xây design system cho SaaS

  • Xây quá sớm khi giao diện chưa ổn định: Token và component phải viết lại khi sản phẩm pivot. Lãng phí cả thời gian lẫn ngân sách.
  • Thiếu người ownership rõ ràng: Không có kỹ sư hoặc designer chịu trách nhiệm chính thì system bị bỏ xó sau vài tháng. Component mới không được đưa vào thư viện, tài liệu không được cập nhật.
  • Thiết lập token sai cấp độ: Design token có ba cấp: global (giá trị gốc như màu hex), alias (tên ngữ nghĩa như màu nền chính), và component-level (màu nền nút). Bỏ qua cấp alias khiến việc theming sau này phải sửa từng component một.
  • Scope quá lớn ngay từ đầu: Một thư viện 200 component khi sản phẩm thực tế chỉ dùng 40 sẽ kéo dài thời gian xây, tạo tài liệu không ai đọc và component không ai dùng.
  • Không có Storybook hoặc tài liệu: Kỹ sư mới không biết component nào đã có, dẫn đến viết lại song song, phá vỡ mục đích của thư viện.
  • Design-code drift: Figma và code bị lệch khi không có quy trình đồng bộ token. Kỹ sư implement theo code cũ, designer thiết kế theo Figma mới, hai bên không gặp nhau.

Cấu trúc phần mềm phản chiếu cấu trúc giao tiếp của tổ chức xây dựng nó.

Melvin Conway, 1968

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

Sinh Vũ khuyên SaaS B2B bắt đầu từ gói 40 đến 80 component cốt lõi, không nhiều hơn. Liệt kê các màn hình thực tế, đếm pattern lặp lại ít nhất 5 lần, đó là danh sách ưu tiên.

Về kỹ thuật: dùng chuẩn DTCG (Design Tokens Community Group) của W3C từ đầu để không bị phụ thuộc vào một bộ công cụ duy nhất. Phương pháp Atomic Design của Brad Frost giúp tổ chức component theo cấp bậc rõ ràng từ atom nhỏ nhất đến template hoàn chỉnh, giúp đội mới onboard nhanh hơn và giảm trùng lặp.

Sau khi giao hệ thiết kế, đội kỹ thuật của Anh / Chị cần ít nhất một kỹ sư quen với Storybook để tự mở rộng thư viện về sau. Nếu không có người đó, hệ thiết kế sẽ đông cứng ở phiên bản ban đầu và mất giá trị nhanh. Sinh Vũ không bao gồm dịch vụ bảo trì dài hạn trong gói mặc định: nếu Anh / Chị cần, cần thương thảo retainer riêng.

Điểm Sinh Vũ muốn nhấn mạnh: design system không phải dự án làm một lần rồi thôi. Nó là sản phẩm nội bộ, cần được đối xử như một sản phẩm thực thụ với owner, backlog và lịch cập nhật.

Nguồn tham khảo

Brad Frost, Atomic Design (2016). W3C Design Tokens Community Group, DTCG format. Nielsen Norman Group, 10 Usability Heuristics, Jakob Nielsen. Melvin Conway, 1968. Sinh Vũ Studio, kinh nghiệm thực hành.

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

Startup của tôi có 3 kỹ sư, 2 sản phẩm riêng biệt. Tôi có nên làm design system ngay không?

Chưa nên. Với 3 kỹ sư, design system sẽ khó được duy trì vì không ai có bandwidth để làm chủ nó. Ưu tiên trước là làm cho giao diện hai sản phẩm dùng chung một bộ màu và kiểu chữ cơ bản, dùng biến (variable) trong Figma và CSS. Khi đội tăng lên 5 người và bắt đầu onboard thêm, lúc đó mới đáng đầu tư bài bản.

Khách hàng enterprise yêu cầu logo và màu của họ hiển thị trong sản phẩm. Tôi có cần design system để làm white-label không?

Gần như chắc chắn cần. White-label đòi hỏi theming có hệ thống: nếu màu sắc, bo góc, kiểu chữ được mã hóa trực tiếp trong từng component thì mỗi lần thay đổi cho một khách là một lần sửa thủ công dễ lỗi. Design token theo chuẩn DTCG giúp tách lớp giá trị thiết kế ra khỏi component, cho phép đổi theme mà không đụng vào logic. Đây là trường hợp đầu tư sớm có lợi rõ ràng nhất.

Bắt đầu từ bao nhiêu component là hợp lý?

Sinh Vũ khuyên gói khởi đầu 40 đến 80 component cốt lõi. Nhiều hơn con số đó thì thời gian xây ban đầu kéo dài, nhiều component không dùng tới và tài liệu khó theo kịp. Hãy liệt kê các màn hình thực tế của sản phẩm, đếm pattern lặp lại, rồi ưu tiên những component xuất hiện ít nhất 5 lần.

← Về Hệ thiết kế số
{INJ}