Không phải quy mô công ty quyết định, mà là ai sẽ thực sự giữ hệ thống đó sống.
Sinh Vũ đặt ngưỡng loại trừ rõ ràng: đội kỹ thuật dưới 3 developer, hoặc đội thiết kế chỉ có 1 người phải vừa thiết kế tính năng vừa chăm sóc thư viện, thì design system (hệ thống thiết kế) sẽ bị bỏ xó sau vài tháng. Lý do cốt lõi không phải thiếu kỹ năng mà là thiếu băng thông để duy trì một sản phẩm nội bộ song song với công việc chính. Nếu đội đang dưới ngưỡng đó nhưng sắp mở rộng trong 6 đến 12 tháng tới, đầu tư sớm vẫn có thể hợp lý, với điều kiện phải có ít nhất một người được giao quyền sở hữu hệ thống một cách chính thức.
Design system (hệ thống thiết kế) là một sản phẩm nội bộ. Nó cần được maintain (bảo trì, cập nhật thường xuyên) giống như bất kỳ sản phẩm nào khác: có backlog (danh sách việc cần làm), có review, có versioning (quản lý phiên bản). Khi đội quá nhỏ để duy trì điều đó song song với công việc chính, hệ thống không chết đột ngột. Nó chết dần: component (thành phần giao diện) cũ không ai cập nhật, Figma library (thư viện thiết kế) lạc nhịp với code, rồi mọi người ngừng dùng mà không ai tuyên bố chính thức.
Sinh Vũ ghi thẳng vào điều kiện dịch vụ: đội kỹ thuật dưới 3 developer là cảnh báo đỏ. Không phải vì 3 là con số ma thuật, mà vì dưới ngưỡng đó, mỗi người đều phải gánh quá nhiều vai cùng lúc và design system sẽ thua trong cuộc cạnh tranh ưu tiên với tính năng mới.
Hai điều kiện cần kiểm tra trước khi quyết định:
Lưu ý: đếm đầu người tổng cộng chưa đủ. Điều quan trọng hơn là ai trong số đó có thời lượng thực sự và quyền hạn để làm chủ hệ thống.
Nathan Curtis từ EightShapes đặt nguyên tắc này rất rõ:
Design systems need a team. Không có owner rõ ràng, hệ thống rơi vào tragedy of the commons: tài sản chung thì không ai tự nguyện duy trì.
Nathan Curtis, EightShapes: Design systems need a team
Tragedy of the commons (bi kịch tài sản chung) là hiện tượng kinh tế học: khi một tài nguyên thuộc về tất cả mọi người mà không ai chịu trách nhiệm chính, nó sẽ bị khai thác đến kiệt quệ hoặc bị bỏ mặc. Với design system, biểu hiện cụ thể là: mọi người cứ dùng component cũ vì không biết ai có quyền sửa, hoặc mỗi người tự thêm component theo cách riêng mà không review.
Đội nhỏ vẫn có thể làm được nếu có ít nhất một người được giao vai trò 'component owner' (người chủ component) với thời lượng chính thức, không phải kiêm nhiệm lúc rảnh.
Nielsen Norman Group xác định ba mô hình vận hành design system:
Đội dưới 3 người thường chỉ có thể làm Solitary. Mô hình đó không sai về mặt kỹ thuật, nhưng rủi ro tập trung vào một người là rủi ro tổ chức thật sự.
Conway's Law (Luật Conway, Melvin Conway, 1968) cũng chỉ ra một điều thực tế: kiến trúc hệ thống phản ánh cấu trúc giao tiếp của tổ chức. Đội nhỏ không có ranh giới vai trò rõ ràng sẽ tạo ra design system cũng không rõ ràng về cấu trúc, khó dùng, khó mở rộng.
Có hai trường hợp đội dưới ngưỡng vẫn có thể đầu tư hợp lý:
Ngược lại, nếu đội lớn nhưng không ai tự nguyện nhận sở hữu hệ thống, đó cũng là dấu hiệu cần xem lại trước khi đầu tư.
Sinh Vũ đưa điều kiện loại trừ này vào dịch vụ không phải để từ chối khách, mà để bảo vệ khách khỏi một khoản đầu tư sẽ không mang lại kết quả. Một component library đơn giản hơn, được dùng đều và cập nhật được, có giá trị thực tế hơn một design system đầy đủ bị bỏ xó sau nửa năm.
Nathan Curtis, EightShapes: Design systems need a team. Nielsen Norman Group: Design System Operating Models. Melvin Conway, How Do Committees Invent? (1968), Conway's Law. Sinh Vũ Studio: dữ liệu thực hành dịch vụ A3, phần điều kiện loại trừ.
Kỷ luật không bù được băng thông. Với 2 người, mỗi sprint đều phải chọn: build tính năng hay bảo trì hệ thống. Trong thực tế, tính năng luôn thắng vì nó có deadline và stakeholder nhìn thấy. Sinh Vũ khuyên đội dưới 3 người nên dùng component library đơn giản hơn, chờ đủ người rồi đầu tư hệ thống thật sự.
Không nhất thiết full-time, nhưng phải có một người được giao vai trò 'component owner' với thời lượng chính thức, không phải kiêm nhiệm lúc rảnh. Nếu không có người đó, hệ thống sẽ rơi vào tình trạng Nathan Curtis gọi là tragedy of the commons, tức là tài sản chung thì không ai tự nguyện duy trì.
Đây là trường hợp rủi ro theo hướng khác. Developer có thể build component, nhưng nếu không có designer đủ thời lượng để review và cập nhật Figma library, token hệ thống sẽ lạc nhịp với thiết kế thực tế sau vài tháng. Sinh Vũ xem 1 designer kiêm nhiệm là điều kiện cần xem lại trước khi cam kết làm design system đầy đủ.