Chuyên môn · Có nên làm và làm khi nào

Khi nào chưa nên làm design system

Design system khuếch đại giao diện hiện có, không tạo ra sản phẩm tốt hơn nếu nền tảng chưa vững.

Chốt nhanh

Design system chỉ sinh lời khi sản phẩm đã có người dùng thực, đội ngũ đủ lớn để vận hành, và giao diện đã tương đối ổn định. Nếu ba điều kiện đó chưa đủ, mọi giờ và ngân sách đổ vào đây đều có chi phí cơ hội cao hơn so với các việc khác như nghiên cứu người dùng, tăng trưởng, hoặc tuyển thêm người. Sinh Vũ công khai từ chối triển khai A3 (design system) cho khách chưa đủ điều kiện, vì tư vấn đúng cho khách là nguyên tắc vận hành lâu dài, không phải ngoại lệ.

Design system không phải việc cần làm sớm nhất có thể. Nó là cơ sở hạ tầng thiết kế, và cơ sở hạ tầng chỉ đáng đầu tư khi đã biết chắc mình đang xây cái gì lên trên. Trước khi hỏi "làm thế nào", Anh Chị cần hỏi "làm bây giờ có phải lúc không".

Ba trường hợp rõ ràng chưa nên làm

Sinh Vũ công khai ba điều kiện loại trừ trong dịch vụ A3. Nếu Anh Chị thuộc một trong số này, câu trả lời là chưa.

  • Sản phẩm chưa có người dùng thực. Khi chưa xác nhận được product-market fit (sự khớp giữa sản phẩm và nhu cầu thị trường), giao diện có thể thay đổi toàn bộ sau một vòng nghiên cứu người dùng. Design system lúc này là cấu trúc cứng cho thứ chưa định hình.
  • Đội kỹ thuật dưới ba người và không có designer toàn thời gian. Design system cần người sở hữu và bảo trì liên tục. Nếu không có ai có thể đảm nhận vai trò đó, hệ thống sẽ xuống cấp nhanh hơn là không có gì.
  • Công ty đang trong giai đoạn thay đổi lớn về hướng sản phẩm hoặc thương hiệu. Nếu đang cân nhắc rebrand hoặc pivot (chuyển hướng sản phẩm), mọi component xây ra hôm nay có thể vô dụng sau ba tháng.

Ngoài ba trường hợp trên, nếu Anh Chị chỉ có website giới thiệu, không có logic tương tác phức tạp, brand guideline (tài liệu hướng dẫn thương hiệu) ở cấp A2 là đủ. Không cần leo lên A3.

Chi phí cơ hội là lý do thực sự

Mọi giờ nhân lực và đồng ngân sách đổ vào design system là một giờ và một đồng không đổ vào việc khác. Kinh tế học gọi đây là chi phí cơ hội: giá trị của lựa chọn tốt nhất bị bỏ qua.

Ở giai đoạn sớm, "việc khác" thường có ROI (tỷ suất sinh lời trên đầu tư) cao hơn rõ rệt: nghiên cứu người dùng, tối ưu tỷ lệ giữ chân khách hàng, vá lỗi bảo mật, hoặc đơn giản là tuyển thêm người để đội không bị quá tải.

"Trong giai đoạn tìm kiếm product-market fit, mọi đầu tư vào cấu trúc thay vì học hỏi đều là lãng phí."

Eric Ries, The Lean Startup (2011)

Nguyên tắc "ba lần mới rút ra"

Martin Fowler mô tả nguyên tắc này trong Refactoring: đừng trừu tượng hóa (tạo ra hệ thống dùng chung) trước khi một pattern (mẫu lặp) xuất hiện ít nhất ba lần trong thực tế. Với design system, điều này có nghĩa là: hãy để các component được tạo thủ công nhiều lần trước, rồi mới rút ra thành hệ thống.

Nguyên tắc YAGNI (You Aren't Gonna Need It, tạm dịch: anh chưa cần nó đâu) của Fowler nói thẳng hơn: đừng xây abstraction lớn trước khi có bằng chứng rõ ràng rằng nó cần thiết. Design system là abstraction lớn nhất ở lớp giao diện.

Những lý do sai thường gặp

Sinh Vũ quan sát thấy một số lý do dẫn khách đến quyết định làm design system quá sớm, đều là lý do không đủ chính đáng:

  • Làm để trông chuyên nghiệp hơn với khách hàng hoặc nhà đầu tư. Đây là mục đích sai. Design system là công cụ vận hành nội bộ, không phải tài liệu thuyết phục bên ngoài.
  • Làm vì đối thủ có. Design system của đối thủ phản ánh quy mô và giai đoạn của họ. Điều kiện của Anh Chị chưa chắc giống.
  • Làm vì thích công nghệ. Design system là công cụ, không phải mục tiêu.
  • Làm theo đề xuất của nhà cung cấp thiết kế. Vendor có xu hướng đề xuất hệ thống lớn cho mọi khách, kể cả khi chưa cần. Hãy hỏi họ: nếu chúng tôi chưa đủ điều kiện, các anh có nói không?

Chưa đủ điều kiện: Ưu tiên user research, MVP, hoặc brand guideline cấp A2. Giữ thiết kế linh hoạt, tránh khoá cứng cấu trúc.

Muốn chuẩn bị trước: Bắt đầu bằng token layer, chỉ định nghĩa màu, kiểu chữ, khoảng cách dưới dạng biến số. Chi phí thấp, không khoá cứng, dễ mở rộng khi đủ điều kiện.

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

Sinh Vũ từ chối triển khai A3 cho khách chưa đủ điều kiện, không phải vì thiếu năng lực thực hiện mà vì làm vậy sẽ gây hại cho khách. Tư vấn đúng cho khách là nguyên tắc vận hành lâu dài của studio, không phải lựa chọn tình huống.

Nếu Anh Chị đang phân vân, câu hỏi thực tế nhất không phải "design system là gì" mà là: đội tôi hiện tại có ai đủ năng lực và thời gian để vận hành hệ thống này sau khi bàn giao không? Nếu câu trả lời là chưa chắc, hãy giải quyết câu đó trước.

Nguồn tham khảo

Eric Ries, The Lean Startup (2011). Martin Fowler, Refactoring (2nd edition) và nguyên tắc YAGNI tại refactoring.com. Nguyên lý chi phí cơ hội trong kinh tế học. Dữ liệu dịch vụ A3 của Sinh Vũ Studio (phần Counterpoint).

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

Công ty tôi có vài chục màn hình rồi, có phải lúc làm design system chưa?

Số lượng màn hình không phải tiêu chí quyết định. Câu hỏi đúng hơn là: đội kỹ thuật có đủ người để vận hành hệ thống sau khi bàn giao không, và giao diện có còn thay đổi lớn trong ba tháng tới không? Nếu cả hai câu trả lời còn lơ lửng, hãy chờ thêm.

Đối thủ của tôi đã có design system, tôi có cần làm theo không?

Không nhất thiết. Design system của đối thủ phản ánh quy mô và giai đoạn của họ, không phải của Anh Chị. Làm theo vì đối thủ có là lý do dễ dẫn đến đầu tư lãng phí nhất trong nhóm lý do Sinh Vũ thường gặp.

Tôi muốn chuẩn bị trước khi đủ điều kiện, có bước nào nhỏ hơn không?

Có. Anh Chị có thể bắt đầu bằng token layer, tức là chỉ định nghĩa màu sắc, kiểu chữ và khoảng cách dưới dạng biến số, chưa xây component. Chi phí thấp, dễ refactor (điều chỉnh lại) sau này, và tạo thói quen nhất quán cho đội ngũ mà không khoá cứng cấu trúc quá sớm.

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