Không phải mọi thay đổi đều cần họp bàn, nhưng không phải mọi thay đổi đều có thể tự ý làm.
RFC (Request for Comments, quy trình đề xuất và lấy ý kiến) là cách để một thay đổi được nêu, bàn và duyệt trước khi đưa vào hệ thống. Anh / Chị cần RFC khi hệ mở cho nhiều đội đóng góp, hoặc khi thay đổi lớn và có thể gây phá vỡ chuẩn hiện tại. Hệ nhỏ với một chủ sở hữu thì không cần quy trình nặng, chỉ cần ghi chú và duyệt nhanh là đủ.
RFC (Request for Comments, quy trình đề xuất và lấy ý kiến) không phải thủ tục hành chính. Đây là cơ chế để một thay đổi quan trọng được nêu rõ, bàn có căn cứ và duyệt có trách nhiệm, trước khi ảnh hưởng tới toàn bộ những ai đang dùng hệ thống. Câu hỏi không phải "có nên làm RFC không?" mà là "thay đổi này lớn cỡ nào và bao nhiêu bên bị ảnh hưởng?"
Mô hình RFC phổ biến trong lập trình nguồn mở, được cộng đồng Rust và Ember áp dụng cho việc thêm tính năng lớn vào ngôn ngữ và framework. Nathan Curtis đề xuất design system học theo cách tiếp cận này: bàn sơ bộ trước, rồi đề xuất chính thức có mô tả, lý do và phạm vi, cuối cùng mới làm và duyệt bản hoàn chỉnh.
Trong bối cảnh design system, RFC thường gồm ba bước cơ bản:
Độ nặng của từng bước tùy quy mô thay đổi và số đội cùng dùng hệ thống.
Không có một khuôn duy nhất đúng cho mọi trường hợp. Anh / Chị cần cân theo bốn yếu tố:
Brad Frost nhấn mạnh rằng cần một quy trình quản trị công khai để cân bằng giữa mở cho đóng góp và giữ chuẩn chung. Công khai ở đây không có nghĩa là phức tạp, mà nghĩa là ai cũng biết đề xuất đang ở đâu, ai quyết định và vì sao.
Trong gói thiết kế và vận hành có quản trị, Sinh Vũ bàn giao sẵn quy trình RFC phù hợp quy mô đội khách: mọi thay đổi có người đề xuất và người duyệt, hệ tiến hóa có kiểm soát thay vì trôi dần. Trọng tâm là để đội khách tự đề xuất, tự thêm component mà vẫn giữ chuẩn, không phụ thuộc một người duy nhất biết toàn bộ hệ thống.
Mức nặng nhẹ của quy trình được cân theo quy mô đội và số bên cùng dùng. Sinh Vũ không bê nguyên khuôn của tập đoàn lớn vào một đội năm người. Nguyên tắc chính: nhiều mức song song, đường nhanh cho việc nhỏ, đường đầy đủ cho việc lớn và có rủi ro.
Đóng góp là bất kỳ đề xuất, thiết kế, mã nguồn, tài liệu hay tài sản của một tính năng mới do người ngoài đội lõi làm và phát hành lại cho người khác dùng. Nên cần khung tiếp nhận rõ ràng.
Nathan Curtis, Defining Design System Contributions, EightShapes
Chủ đề: Quy trình đề xuất và duyệt thay đổi RFC 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.
Nathan Curtis, Defining Design System Contributions (EightShapes). Brad Frost, A Design System Governance Process.
Nếu chỉ một đội lõi dùng và sở hữu, Anh / Chị chưa cần RFC theo nghĩa đầy đủ. Ghi chú lý do thay đổi, ai duyệt và khi nào áp dụng là đủ. RFC nặng chỉ sinh giá trị khi có nhiều bên cùng đóng góp hoặc phụ thuộc vào hệ.
Tối thiểu gồm: mô tả thay đổi, lý do đề xuất, phạm vi ảnh hưởng và ai duyệt. Với thay đổi lớn nên thêm bản nháp để bàn trước khi đề xuất chính thức. Không cần bê nguyên khuôn của tập đoàn lớn vào đội nhỏ.
Đội lõi (core team) của design system là người duyệt cuối. Tiêu chí quan trọng nhất là: thay đổi này có thực sự thuộc phạm vi hệ thống không, hay chỉ là nhu cầu riêng của một sản phẩm. Nếu không có đội lõi đủ sức duyệt, đừng mở đóng góp rộng, vì đề xuất sẽ chất đống mà không ai chốt.