AllianceProject Handbook
← Knowledge

Nền tảng

Hệ điều hành dự án

Bản đồ tổng thể — toàn bộ sổ tay này ghép lại thành một vòng lặp khép kín. Đọc bài này trước, các bài còn lại là chi tiết của từng mắt xích.

Cập nhật 12/09/2026tổng quantổ chức

Vấn đề bài này giải quyết

Một dự án hỏng hiếm khi vì đội không biết viết code. Nó hỏng vì những thứ nhỏ và tẻ nhạt: không ai biết việc đang nằm ở đâu, hai người sửa cùng một chỗ, một bản release làm gãy thứ đang chạy tốt, một quyết định bị đảo đi đảo lại vì không ai ghi nó xuống.

Cách chữa không phải là họp nhiều hơn. Cách chữa là dựng một vòng lặp có đầu vào, có quality gate, có số đo, rồi chạy vòng lặp đó đều đặn.

Vòng lặp

        ┌──────────────┐
        │  MỤC TIÊU    │  quý — vì sao ta làm, đo bằng gì
        └──────┬───────┘
               │  chia thành
        ┌──────▼───────┐
        │  HẠNG MỤC    │  tuần — việc cụ thể, có acceptance criteria
        └──────┬───────┘
               │  qua quality gate
        ┌──────▼───────┐
        │  KIỂM SOÁT   │  ngày — review, test, CI, Definition of Done
        └──────┬───────┘
               │  đủ điều kiện thì
        ┌──────▼───────┐
        │  PHÁT HÀNH   │  từng phần, có feature flag, rollback được
        └──────┬───────┘
               │  sinh ra
        ┌──────▼───────┐
        │   SỐ LIỆU    │  crash, hiệu năng, hành vi người dùng, phản hồi
        └──────┬───────┘
               │  đối chiếu lại
               └──────────► MỤC TIÊU

Vòng lặp này không có chỗ để nhảy cóc. Một hạng mục không qua được cổng kiểm soát thì không ra release, dù ai giục. Một mục tiêu không có số liệu đối chiếu thì cuối quý không ai biết nó đạt hay không.

Bốn câu hỏi phải luôn trả lời được

Câu hỏiTrả lời ở đâuNhịp kiểm tra
Ta đang đi đâu và đo bằng gì?Trang Mục tiêuĐầu quý, soát lại hằng tuần
Việc đang nằm ở đâu, ai giữ?Bảng công việcHằng ngày
Thứ sắp ra có an toàn không?Quality gate tự động + Definition of DoneMỗi pull request
Thứ đã ra có chạy tốt không?Bảng giám sát + số liệu sản phẩmHằng ngày, tổng kết hằng tuần

Nếu có câu nào không trả lời ngay được, đó chính là chỗ đang mất kiểm soát, và là việc cần sửa trước tiên.

Ba tầng kiểm soát

Kiểm soát không nằm ở chỗ quản lý hỏi han nhiều hơn. Nó nằm ở ba tầng, xếp theo thứ tự ưu tiên:

  1. Máy chặn. Định dạng code, lỗi tĩnh, test tự động, coverage, kích thước gói. Máy chặn thì không cãi nhau, không nể nang, không quên. Mọi thứ máy chặn được thì không được để người gác.
  2. Người rà. Review code, test thủ công luồng quan trọng, soát thiết kế. Dành cho thứ máy không thấy: ý định sai, thiết kế sai, trải nghiệm kỳ quặc.
  3. Nhịp soát. Họp đầu tuần, tổng kết cuối tuần, tổng kết quý. Dành cho thứ chỉ lộ ra khi nhìn nhiều việc cùng lúc: xu hướng xấu, nợ chồng chất, người sắp quá tải.

Tầng dưới không cứu được tầng trên. Nếu máy không chặn, người rà sẽ bỏ sót; nếu người không rà, cuộc họp cuối tuần chỉ còn là nơi thông báo thiệt hại.

Đọc sổ tay này theo thứ tự nào

  • Người mới vào đội: đọc hết nhóm Nền tảng, rồi đọc kỹ nhóm Yêu cầu với lập trình viên. Hai nhóm đó là phần bắt buộc.
  • Người đã quen việc: dùng như sổ tra cứu. Mỗi bài đứng độc lập được.
  • Người quản lý: nhóm Tổ chức công việc, nhóm Kiểm soát chất lượng và nhóm Biểu mẫu là công cụ làm việc hằng tuần.

Khi sổ tay và thực tế lệch nhau

Sổ tay sai thì sửa sổ tay, đừng làm ngược quy định rồi im lặng. Quy trình viết ra là để phục vụ chất lượng, không phải để thờ. Cách sửa: nêu trong buổi retro, thống nhất, rồi cập nhật bài tương ứng trong kho mã. Mọi thay đổi đều có lịch sử, ai cũng truy được vì sao quy định đổi.