Hầu hết hệ thiết kế (bộ thành phần giao diện và quy tắc dùng chung cho mọi sản phẩm số) chết không phải vì thiết kế sai, mà vì không ai được giao nuôi nó.
Hệ thiết kế loãng dần khi bị đối xử như một dự án giao xong là hết. Thực ra nó là một sản phẩm sống, cần người sở hữu và ngân sách duy trì. Muốn không loãng, cần đủ bốn thứ đi cùng nhau: có người sở hữu, có quy trình duyệt thay đổi, có đo lường mức áp dụng, và làm cho đường chuẩn dễ đi hơn đường tự chế. Thiếu một trong bốn, hệ sẽ trôi theo từng đợt việc gấp của các đội sản phẩm.
Sau khi nghiệm thu, không ai được giao trách nhiệm nuôi hệ. Các đội sản phẩm bắt đầu tự chế, tài liệu ngày càng lệch với thực tế. Rồi đến một lúc, cả tổ chức thầm hiểu rằng hệ thống kia chỉ còn tồn tại trên trang trình chiếu báo cáo. Vấn đề này nằm ở cách tổ chức làm việc.
Theo Brad Frost trong Atomic Design, hệ thiết kế là một sản phẩm sống phục vụ các sản phẩm khác. Nó cần được nuôi dưỡng liên tục thì mới thật sự sống được.
Cơ chế loãng thường diễn ra theo một trình tự quen thuộc. Một đội đang gấp tiến độ thấy dùng thành phần giao diện chuẩn (component) mất công hơn tự viết mã (code), nên tự chế một bản riêng. Lần sau, đội khác thấy bản chế đó trong kho mã nguồn và sao chép lại. Cứ thế nó nhân lên.
Nếu đã thấy nhiều bản chế riêng xuất hiện trong sản phẩm: ưu tiên đóng khoảng cách giữa bản vẽ và bản chạy, đồng thời dựng rào duyệt trước khi thêm component mới. Thêm component khi kho đang loãng chỉ làm kho phình thêm mà tỉ lệ dùng lại không tăng.
Nếu chưa có chỉ số áp dụng nào: dựng đo lường trước. Không cần phức tạp, một bảng theo dõi thủ công mỗi quý cũng đủ làm điểm xuất phát để biết mình đang ở đâu.
Nếu không thể phân bổ người sở hữu nội bộ: hệ sẽ loãng theo thời gian, vấn đề chỉ là nhanh hay chậm. Lúc này gói đồng hành bên ngoài là lựa chọn thực tế hơn so với tự nuôi mà không có người.
Khi thư viện component không còn phản ánh đúng sản phẩm thật, nó thành đồ bỏ đi. Việc bảo trì khi ấy chỉ còn là vá tạm, phá hết công dựng ban đầu.
Brad Frost, Atomic Design, ch.5
Sinh Vũ dựng sẵn cơ chế chống loãng ngay trong dự án, không để đến sau mới xử lý. Cụ thể gồm ba phần. Một là nối từng thành phần trong Figma với thành phần tương ứng trong code qua Figma Code Connect. Hai là quy trình RFC cho mọi thay đổi hệ thống. Ba là bộ chỉ số áp dụng theo từng đội. Nhờ vậy có thể thấy chỗ nào đang loãng trước khi nó lan rộng.
Giai đoạn bảo trì trong cách làm việc của Sinh Vũ có mục đích nuôi hệ theo định kỳ, để các đội không âm thầm quay lại tự chế riêng. Nhưng Sinh Vũ không hứa hệ tự sống. Phần sống hay chết nằm ở người sở hữu và nhịp rà soát mà đội khách duy trì, không nằm ở chất lượng của bản dựng ban đầu.
Nếu Anh / Chị đang cân nhắc có nên đầu tư vào hệ thiết kế hay không, trước khi hỏi hệ thiết kế có đẹp không, nên hỏi đội mình có người và ngân sách để nuôi nó không. Trả lời được câu sau rồi hãy bước tiếp.
Chủ đề: Làm sao để hệ thiết kế không loãng dần theo thời gian. Cẩm nang Sinh Vũ, sinhvu.com
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.
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, Maintaining Design Systems (Atomic Design, ch.5); Brad Frost, The Design System Ecosystem.
Không có con số cố định phù hợp mọi tổ chức, nhưng nguyên tắc là phải có ít nhất một người được giao rõ ràng, không phải kiêm nhiệm mờ nhạt. Nếu không thể bố trí người nội bộ, gói đồng hành bên ngoài là lựa chọn thực tế hơn là để hệ thống không có chủ.
Chưa đủ. Figma là bản vẽ, còn sản phẩm chạy trên code. Khi hai bên lệch nhau, các đội sẽ tự chế theo code thật chứ không theo Figma đẹp. Dấu hiệu ổn là Figma và code cùng phản ánh một hiện trạng.
Dấu hiệu rõ nhất là số component tự chế xuất hiện ngoài hệ thống ngày càng nhiều sau mỗi đợt ra hàng gấp. Nếu chưa đo được, hãy bắt đầu bằng việc rà thủ công: đếm xem bao nhiêu màn hình đang dùng component chuẩn và bao nhiêu màn hình đang dùng bản chế riêng.