Câu hỏi không phải bao nhiêu cho nhiều, mà bao nhiêu là vừa để đội thật sự dùng.
Đủ là số component mà đội thật sự dùng lại nhiều lần trên các màn hình thật, không phải con số càng lớn càng oai. Một hệ vài chục component lõi được áp dụng khắp nơi giá trị hơn hàng trăm component nằm im trong thư viện. Bắt đầu từ những dạng giao diện lặp lại nhiều nhất, rồi mở rộng khi có bằng chứng nhu cầu thật.
Khi bắt đầu xây design system (hệ thiết kế), câu hỏi đầu tiên nhiều đội đặt ra là: cần bao nhiêu component? Câu trả lời thẳng của Sinh Vũ là: đủ để đội dùng lại nhiều lần, không phải đủ để trông hoành tráng. Hệ thiết kế không phải bảo tàng trưng bày, nó là công cụ vận hành thật sự.
Mỗi component đưa vào hệ là một khoản nợ bảo trì. Khi sản phẩm thay đổi, khi token (đơn vị thiết kế nền như màu, khoảng cách, kiểu chữ) cập nhật, khi nền tảng kỹ thuật nâng cấp, mỗi component đều phải được kiểm tra và điều chỉnh theo. Đội nhỏ mà ôm hệ lớn sẽ mau chóng bị kéo vào việc bảo trì thay vì dùng hệ để xây sản phẩm.
Alla Kholmatova trong cuốn Design Systems đặt vấn đề rõ: hệ thiết kế hiệu quả là tập pattern (mẫu giao diện) nhỏ, chất, kết nối nhau, không phải kho phình to và cồng kềnh. Một thư viện 200 component mà tỉ lệ áp dụng thật chỉ 30% kém hơn thư viện 60 component được dùng gần như hoàn toàn.
Nathan Curtis từ EightShapes đặt nguyên tắc phân loại rõ ràng: phần dùng lại nhiều thì đưa vào hệ, phần dùng một lần thì để ở sản phẩm. Nguyên tắc này đơn giản nhưng giúp tránh được phần lớn các quyết định sai về phạm vi.
Xây từ dưới lên theo atomic design (thiết kế nguyên tử): atom (nguyên tử, phần nhỏ nhất như nút, ô nhập), molecule (phân tử, tổ hợp vài atom), organism (cơ thể, khối giao diện hoàn chỉnh). Thêm khi có nhu cầu thật, không dựng sẵn toàn bộ.
Brad Frost, Atomic Design, Chương 2
Trong thực hành, Sinh Vũ thường dựng thư viện trong khoảng 40 đến 80 component lõi đầy đủ trạng thái thật. Đây là chỉ dấu quy mô tham khảo, không phải con số cố định, vì con số này thay đổi tùy độ phức tạp của sản phẩm và mức độ lặp lại thật sau khi rà soát giao diện hiện có.
Quan điểm vận hành của Sinh Vũ là: mỗi component thêm vào phải trả giá bằng công bảo trì về sau. Vì vậy tiêu chí nghiệm thu không phải "hệ có bao nhiêu component" mà là "tỉ lệ áp dụng thật của hệ trong đội là bao nhiêu". Nếu Anh Chị muốn đánh giá sức khỏe của một design system, hãy hỏi: bao nhiêu phần trăm giao diện đang chạy thật dùng component từ hệ? Con số đó mới là thước đo thật sự.
Chủ đề: Cần bao nhiêu component là đủ trong design system. 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.
Alla Kholmatova, Design Systems (Smashing Magazine); Nathan Curtis, EightShapes, Design Systems; Brad Frost, Atomic Design, Chương 2. Số liệu quy mô thư viện phản ánh kinh nghiệm thực hành của Sinh Vũ, không phải cam kết kỹ thuật cố định.
Không có con số chuẩn áp dụng cho mọi trường hợp. Sinh Vũ thường làm việc với khoảng 40 đến 80 component lõi đầy đủ trạng thái, nhưng con số này thay đổi tùy độ phức tạp của sản phẩm và mức độ lặp lại thật sau khi rà soát. Tiêu chí quan trọng hơn số lượng là tỉ lệ áp dụng thực tế trong đội.
Nên đợi có bằng chứng nhu cầu thật. Dựng sẵn component phòng khi cần là lỗi phổ biến nhất, vì phần lớn những component đó sẽ không được dùng và vẫn phải bảo trì. Rà soát các màn hình đang có, tìm những gì lặp lại nhiều nhất, rồi ưu tiên dựng những phần đó trước.
Nhiều biến thể gần giống nhau làm đội khó chọn đúng cái cần dùng, tăng thời gian quyết định, và nhân gấp chi phí bảo trì khi cần cập nhật. Thường thì các biến thể đó có thể gộp về một component có tham số (props hoặc variant), vừa gọn hơn vừa dễ kiểm soát hơn về lâu dài.