Lý do không phải ý thức kém, mà là ma sát: đường đúng khó hơn đường tắt.
Nguyên nhân gốc gần như luôn là ma sát: khi làm theo hệ tốn công hơn tự chế một component riêng, đội sẽ chọn tự chế, không phải vì bướng mà vì hợp lý. Cách chặn không phải ra lệnh bắt tuân thủ, mà là làm cho đường đúng dễ đi hơn đường tắt, cộng thêm một cửa đóng góp rõ ràng để thứ còn thiếu được bổ sung nhanh thay vì bị âm thầm đè.
Mỗi lần Sinh Vũ vào audit một hệ thiết kế đã chạy được vài tháng, điều thường thấy không phải là hệ bị phá, mà là hệ bị vòng vèo qua: Figma có một bộ component, code có một bộ khác, và một số đội đang dùng cả hai lẫn một bộ tự chế thứ ba. Không ai nổi loạn, mọi người chỉ chọn con đường ít cản trở hơn.
Khi làm đúng theo hệ (dùng component chuẩn, theo token thiết kế) tốn nhiều bước hơn tự kéo một khung mới và chỉnh tay, người ta sẽ chọn chỉnh tay. Đây là hành vi hợp lý, không phải bất tuân. Đội không bỏ hệ vì lười hay không tôn trọng công sức xây dựng, mà vì họ có deadline và hệ đang đứng chắn giữa đường.
Theo tổng hợp thực hành của Design Systems Collective, tỉ lệ dùng thấp gần như luôn bắt nguồn từ ma sát chứ không phải thiếu nhận thức. Ra lệnh bắt tuân thủ mà không giảm ma sát chỉ làm chống đối chuyển từ công khai sang ngầm.
Khi Sinh Vũ xây component, yêu cầu tối thiểu là đủ trạng thái thật: mặc định, hover, focus, lỗi, tải, rỗng. Không phải để đẹp, mà để đội không có cớ tự làm lại. Vỏ đẹp mà thiếu trạng thái thì chỉ là template, không phải hệ.
Quy trình RFC là cửa để đội đề xuất thay đổi có kiểm soát, thay vì âm thầm đè. Sinh Vũ áp dụng nó không vì thủ tục, mà vì không có cửa đó thì mọi thứ thiếu sẽ được vá ngoài hệ, và hệ mất dần tính thẩm quyền.
Một điều Sinh Vũ nói thẳng với khách: nếu đội kỹ thuật quá nhỏ hoặc sản phẩm chưa có người dùng thật, hệ sẽ bị bỏ xó vì không đủ người bảo trì và không đủ nhu cầu tái sử dụng để hệ tự chứng minh giá trị. Lúc đó không phải vấn đề ma sát mà là vấn đề thời điểm.
Một quy trình quản trị rõ ràng là điều kiện để hệ tồn tại lâu dài. Thiếu nó, mỗi đội tinh chỉnh theo cách riêng, các bản đè chồng lên nhau và hệ vỡ dần mà không có điểm chịu trách nhiệm.
Brad Frost, A Design System Governance Process
Chủ đề: Vì sao đội âm thầm quay lại làm thủ công và cách chặn. Cẩm nang Sinh Vũ, sinhvu.com
Bấm chọn từng mục Anh / Chị thấy đúng, rồi bấm in hoặc lưu thành PDF để mang theo.
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.
Brad Frost, A Design System Governance Process; Brad Frost, Atomic Design (chương Maintaining Design Systems); Design Systems Collective, Why Your Design System Fails; kinh nghiệm thực hành Sinh Vũ.
Dấu hiệu rõ nhất là Figma hoặc codebase có nhiều component trùng tên nhưng khác hình thức, hoặc đội hay hỏi 'cái này có trong hệ chưa' mà câu trả lời luôn là 'chưa'. Khi số lượng bản đè (override) tăng mà không có yêu cầu đóng góp nào được gửi về, đó là dấu hiệu hệ đang bị vượt qua thay vì được dùng.
Không nên nếu chưa giải quyết xong ma sát. Ép theo hạn mà component vẫn thiếu trạng thái, tài liệu vẫn khó tra, thì đội sẽ chuyển trên danh nghĩa nhưng tiếp tục tự đè bên dưới, tức là vừa tốn công chuyển vừa sinh nợ kỹ thuật mới. Ưu tiên làm đường đúng dễ trước, rồi mới đặt kỳ vọng thời hạn.
Không cần phức tạp, cần rõ hơn là cần nhiều bước. Tối thiểu là: đội biết gửi đề xuất về đâu, ai xem xét, và trong bao lâu có phản hồi. Thiếu một trong ba điều đó thì đội sẽ không gửi mà tự làm.