Skip to content

Quy trình phát triển (Tài liệu trước)

Một luồng, bắt buộc. Mọi thay đổi không tầm thường đều đi qua sáu pha như nhau, theo thứ tự, mỗi pha tạo ra một tài liệu tại một vị trí chuẩn. Tài liệu được viết trước code và được sửa trong lúc triển khai nếu thực tế khác đi — không bỏ qua, không tự do tùy tiện.

1. Nguyên tắc

Nguyên tắcÝ nghĩa
Tài liệu trướcYêu cầu và ý định được viết trước khi triển khai. Bắt đầu trong docs/wiki, không phải trong code.
Một vị trí cho một loại tài liệuMỗi loại tài liệu có đúng một vị trí (bảng bên dưới). Không rải spec/plan tự do khắp repo.
Truy vết đượcMỗi tài liệu mang ID và liên kết tiến/lùi dọc xương sống, để theo dõi một tính năng roadmap → URD → PRD → ADR → Plan → code → test.
Code là sự thậtKhi đã build, tài liệu mô tả hành vi thực tế đã kiểm chứng. Nếu triển khai cho thấy tài liệu sai, sửa tài liệu trong cùng thay đổi đó — tài liệu và code không bao giờ lệch.
Có cổng kiểm soátMỗi pha có định nghĩa hoàn thành phải thỏa mãn trước khi sang pha kế.

2. Luồng

#PhaTài liệuVị trí chuẩnChịu trách nhiệmCổng sang pha kế
1Yêu cầuURDcontent/{en,vi}/modules/<tier>/<module>/urd.mdPM/PO/BAYêu cầu chức năng có ID URD-<AREA>-NNN + MoSCoW + tiêu chí chấp nhận
2Phạm vi đợtPRD…/<module>/prds/YYYY-MM-DD-<slug>.mdPM/POTrích dẫn các URD ID nó giao; mục tiêu/không mục tiêu, UX/luồng, rollout
3Kiến trúc (chỉ khi không tầm thường)ADRcontent/{en,vi}/developer/packages/<pkg>/decisions/NNNN-<slug>.mdEngQuyết định + phương án + hệ quả; liên kết từ PRD
4Kế hoạch triển khaiPlan.agents/plans/YYYY-MM-DD-<module>-<slug>.mdEngTừng bước; mỗi bước trích URD ID / ADR; kiểm chứng theo bước
5Codesourcepackages/*, apps/*, third-parties/*EngBuild xanh (bun run rebuild), lint 0

Brainstorm không có vị trí riêng. Khám phá thiết kế kết tinh vào PRD (ý định sản phẩm) và ADR (quyết định kiến trúc). Không có file "spec" độc lập — xem §5.

3. Khi nào áp dụng pha nào?

Loại thay đổiURDPRDADRPlanTest cases
Module mới / tính năng lớnnếu không tầm thường
Đợt tính năng trong module có sẵncập nhậtnếu không tầm thườngcập nhật
Chỉ đổi kiến trúc (không đổi hành vi người dùng)nếu test được
Sửa lỗi / thay đổi cơ học nhỏtùy chọncập nhật nếu hành vi đổi

"Không tầm thường" = bất cứ thứ gì đưa vào một pattern, một hợp đồng liên-package, một migration dữ liệu, hoặc một quyết định mà kỹ sư tương lai sẽ hỏi "tại sao?". Khi nghi ngờ, hãy viết ADR.

4. Xương sống truy vết

Chuỗi được neo bởi khối truy vết ở đầu mỗi index.md của module (xem Quy ước Module §6.1). Khối đó nay mang thêm link Plan để bước kỹ thuật cũng nằm trên xương sống:

markdown
> | Chuỗi | Link |
> |-------|------|
> | Roadmap | [Phase 1](/vi/delivery/roadmap#phase-1) |
> | URD | [URD](./urd) |
> | PRD | [PRD-XXX-001](./prds/2026-06-04-...) |
> | Decisions (ADR) | [ADR-0001](/vi/developer/packages/<pkg>/decisions/0001-...) |
> | Plan | [.agents/plans/2026-06-04-<module>-...]() |
> | Dev docs | [@nx/<pkg>](/vi/developer/packages/<pkg>/) |
> | Runbook | [<module> ops](/vi/runbook/operations/) |
> | Delivery log | [Traceability matrix](/vi/delivery/traceability-matrix) |

ID khớp nhau giữa các tài liệu qua mã <AREA>: URD-STK-001TC-STK-001PRD-STK-001. Xem Quy ước Module §6.

5. Một vị trí cho một loại tài liệu (không tự do)

Tài liệuVị trí DUY NHẤTĐã bỏ / không dùng
Yêu cầumodule urd.mdghi chú yêu cầu tùy tiện
Ý định sản phẩm / đợtmodule prds/docs/superpowers/specs/, "design.md" nháp
Quyết định kiến trúcdeveloper/packages/<pkg>/decisions/ (ADR)ghi chú thiết kế trong code/PR
Kế hoạch triển khai.agents/plans/docs/superpowers/plans/, docs/plans/

docs/superpowers/ đã bị bỏ. Brainstorm tạo ra PRD (+ ADR); viết plan tạo ra file .agents/plans/. Cả hai liên kết vào xương sống module.

6. Làm việc theo luồng với agent

  • Bắt đầu mọi tính năng trong docs/wiki — viết/mở rộng URD, rồi PRD. Chỉ sau khi PRD được thống nhất mới viết plan; chỉ sau khi có plan mới viết code.
  • Brainstorming (đối thoại thiết kế) kết thúc bằng việc viết PRD (và ADR nếu có kiến trúc), không phải spec độc lập.
  • Viết plan kết thúc bằng file .agents/plans/, được PRD liên kết tới.
  • Trong lúc triển khai, nếu code cho thấy tài liệu sai, sửa tài liệu trong cùng thay đổi trước khi tiếp tục. Tài liệu được sửa, không bị bỏ.

7. Liên quan

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.