AllianceProject Handbook
← Knowledge

Nền tảng

Vai trò và trách nhiệm

Mỗi thứ trong dự án có đúng một người chịu trách nhiệm. Bài này nói rõ ai quyết gì, ai làm gì, và khi nào phải hỏi ai.

Cập nhật 12/09/2026tổ chứctrách nhiệm

Nguyên tắc gốc

Một thứ, một người chịu trách nhiệm. Không có việc nào thuộc về "cả đội". Thuộc về cả đội nghĩa là không thuộc về ai, và sẽ không ai làm cho tới lúc nó thành sự cố.

Chịu trách nhiệm không có nghĩa là tự tay làm hết. Nó có nghĩa là: nếu thứ đó hỏng, người này là người phải trả lời câu hỏi "vì sao hỏng và bao giờ xong".

Các vai trò

Vai tròQuyết định cuối cùng vềKhông được quyết
Chủ sản phẩmLàm gì, thứ tự ưu tiên, acceptance criteria, phạm vi cắt bớtCách làm, ước lượng, chuẩn kỹ thuật
Chủ kỹ thuậtKiến trúc, chuẩn code, công nghệ, cách chia việc kỹ thuậtĐộ ưu tiên nghiệp vụ, hạn giao
Chủ moduleChất lượng và tiến độ trong phạm vi module của mìnhThứ vượt ra ngoài ranh giới module
Lập trình viênCách hiện thực một hạng mục cụ thểBỏ qua quality gate, đổi phạm vi
Người testBản này đủ chuẩn để release hay chưaÉp thêm phạm vi vào bản release
Người trực vận hànhXử lý sự cố đang diễn ra, quyền rollback ngay lập tứcThay đổi tính năng khi đang trực

Một người có thể giữ nhiều vai trong đội nhỏ. Nhưng vai trò vẫn phải tách bạch: lúc đang đội mũ test thì đánh giá theo tiêu chí test, không nể bản thân lúc viết code.

Ai quyết cái gì — bảng tra nhanh

Tình huốngNgười quyếtNgười phải được hỏi ý kiến
Thêm một tính năng vào quý nàyChủ sản phẩmChủ kỹ thuật (về sức chứa)
Hoãn một tính năng để sửa nợ kỹ thuậtChủ sản phẩmChủ kỹ thuật đề xuất và giải thích
Đổi thư viện hoặc kiến trúc lõiChủ kỹ thuậtCác chủ module bị ảnh hưởng
Đổi giao diện công khai giữa hai moduleChủ kỹ thuậtCả hai chủ module
Chặn một bản releaseNgười test hoặc chủ kỹ thuậtChủ sản phẩm được báo ngay
Rollback bản đang chạy khi có sự cốNgười trựcBáo sau, không cần xin phép trước
Nhận thêm việc gấp giữa tuầnChủ sản phẩmNgười đang bị đổi việc

Điều quan trọng nhất trong bảng này: quyền chặn release và quyền rollback không cần xin phép. Người giữ chất lượng phải dùng được quyền đó ngay, nếu không thì chất lượng chỉ là khẩu hiệu.

Chủ module là gì

Mỗi module có đúng một chủ. Người đó:

  • Biết rõ nhất phần đó đang có nợ gì, chỗ nào mong manh.
  • Là người review bắt buộc cho mọi thay đổi chạm vào ranh giới module.
  • Trả lời khi số liệu chất lượng của module xấu đi.
  • Viết và giữ cho tài liệu module của mình đúng thực tế.

Chủ module không phải người duy nhất được sửa module đó. Ai cũng sửa được, nhưng chủ module phải biết và phải duyệt.

Khi không rõ ai chịu trách nhiệm

Đây là tình huống nguy hiểm nhất, và nó xảy ra thường xuyên — nhất là ở các điểm ba module chạm nhau. Cách xử lý:

  1. Không tranh luận quá 10 phút. Đưa lên chủ kỹ thuật.
  2. Chủ kỹ thuật chỉ định một người trong vòng một ngày làm việc.
  3. Ghi kết quả vào tài liệu, để lần sau không hỏi lại.

Thời gian mất vì không rõ chủ luôn đắt hơn thời gian mất vì chỉ định nhầm người.

Điều không ai được làm

Bất kể vai trò gì, những việc sau là vượt quyền:

  • Merge code vào branch main khi quality gate tự động đang đỏ.
  • Tắt một bài test đang thất bại thay vì sửa nguyên nhân.
  • Đưa thay đổi lên bản release mà không qua review.
  • Sửa dữ liệu thật trên môi trường chạy thật bằng tay, không có người thứ hai chứng kiến.
  • Đổi acceptance criteria sau khi việc đã làm xong, để việc đó được tính là đạt.

Năm điều trên không có ngoại lệ vì gấp. Gấp là lý do để cắt phạm vi, không phải lý do để bỏ quality gate.