SU02 · Phát triển Phần mềm Số 02 · ISC · FPT Telecom

Bộ biểu mẫu SA

Sáu biểu mẫu dùng hàng ngày: ADR, NFR Specification, Napkin Math Card, Integration Contract, Individual Development Plan, và hai checklist Lớp 2 — SA đánh giá kỹ thuật, PM xác nhận dự án thật (gate bắt buộc Đợt 1).

Tài liệu 07 / 116 biểu mẫuSA + PM tách vaiBản v2.0
← Bộ tài liệu SA · SU02

00Chọn đúng biểu mẫu

Không phải quyết định nào cũng cần dùng tất cả biểu mẫu. Chọn mẫu theo câu hỏi cần trả lời, sau đó liên kết các hiện vật liên quan.

Tình huốngBiểu mẫu chínhBiểu mẫu liên quan
Cần chọn giữa các phương án kiến trúcADRNFR Specification, Napkin Math Card
Cần biến yêu cầu “nhanh/ổn định” thành con sốNFR SpecificationNapkin Math Card, Architecture Review Checklist
Cần ước lượng tải, dung lượng hoặc bottleneckNapkin Math CardNFR Specification, ADR
Hai hệ thống hoặc hai team cần phối hợpIntegration ContractADR, NFR Specification
Cần xác định khoảng thiếu năng lực cá nhânIndividual Development PlanCompetency Rubric, Knowledge Map
Đánh giá ứng viên Lớp 2Checklist đối chiếu bằng chứngCompetency Rubric, PM confirmation

Trường quản trị dùng chung

Mọi biểu mẫu có quyết định hoặc hành động theo dõi nên có tối thiểu:

Ví dụ điền tốt

Owner: Nguyen A · Status: Accepted · Review: khi p99 > 500 ms trong 2 tuần · Assumption: peak 160 TPS · Risk: replica lag làm dữ liệu cũ · Evidence: load test 200 TPS.

Ví dụ điền chưa tốt

“Dùng cache để hệ thống nhanh hơn.” Không có owner, không có TTL, không có số latency mục tiêu, không nêu rủi ro khi cache mất và không có bằng chứng kiểm chứng.

Liên kết với rubric và checklist review

Biểu mẫuTrụ rubric chínhMục cần đối chiếu trong review
ADR1, 4, 5, 6Bối cảnh, phương án, trade-off, reversibility, owner
NFR Specification2, 3Latency, throughput, availability, dữ liệu, cost, observability
Napkin Math Card2, 5Assumption, peak, bottleneck, capacity và chi phí
Integration Contract3, 5Source of truth, versioning, idempotency, ordering, failure
IDPTrụ còn thiếuEvidence, mục tiêu, hành động, owner và review date
Quy tắc sử dụng: biểu mẫu không thay thế quyết định. Một tài liệu được xem là hoàn tất khi người đọc biết ai chịu trách nhiệm, quyết định dựa trên bằng chứng nào, rủi ro là gì và khi nào cần xem lại.

01ADR — Architecture Decision Record

Một trang. Viết trong 30 phút. Nếu mất hơn 1 giờ thì đang viết HLD, không phải ADR.

# ADR-{số} — {Tiêu đề quyết định, dạng động từ}

Trạng thái:  Đề xuất | Đã chấp nhận | Đã thay thế bởi ADR-XX
Ngày:        YYYY-MM-DD
Người quyết: {tên}        Người tham vấn: {tên}
Dự án:       {mã dự án}

## Bối cảnh
Vấn đề gì đang cần quyết. Ràng buộc nào đang có hiệu lực
(thời gian, ngân sách, năng lực đội ngũ, ràng buộc kỹ thuật).
Con số liên quan nếu có.

## Các phương án đã cân nhắc
1. {Phương án A} — ưu / nhược
2. {Phương án B} — ưu / nhược
3. {Phương án C} — ưu / nhược

## Quyết định
Chọn phương án {X}.

## Vì sao loại các phương án khác        ← PHẦN QUAN TRỌNG NHẤT
{Lý do cụ thể, gắn với ràng buộc ở phần Bối cảnh.}

## Hệ quả
Tích cực:  {...}
Tiêu cực:  {...}
Nợ kỹ thuật chấp nhận: {có / không — nếu có, điều kiện trả nợ là gì}

## Khả năng đảo ngược
Type 1 (khó đảo ngược, chi phí cao) | Type 2 (đảo ngược được)
Nếu Type 1: điều gì phải đúng để quyết định này còn giá trị sau 18 tháng?

## Cần xem lại khi
{Điều kiện kích hoạt việc xem lại quyết định này.}
Kiểm tra chất lượng ADR: nếu phần "Vì sao loại các phương án khác" trống hoặc chung chung, ADR đó không có giá trị. Đây là phần duy nhất người đọc sau 2 năm thật sự cần.

02NFR Specification — bảng ràng buộc phi chức năng

Điền cùng lúc với BRD sign-off. Mọi ô "chưa xác định" là một rủi ro cần ghi vào Risk Register.

NhómChỉ sốMục tiêuNguồn con số
PerformanceThời gian phản hồi p95 / p99___ ms / ___ msAi đặt con số này?
Throughput trung bình___ TPSDữ liệu lịch sử hay ước tính?
Throughput đỉnh & thời lượng đỉnh___ TPS trong ___ phútHệ số đỉnh lấy từ đâu?
Số người dùng đồng thời___
AvailabilitySLO khả dụng___% (= ___ phút lỗi/tháng)Nghiệp vụ chấp nhận mức nào?
RTO — thời gian khôi phục___ phút
RPO — dữ liệu được phép mất___ phút
ScalabilityQuy mô dữ liệu sau 1 năm / 3 năm___ / ___Tốc độ tăng trưởng?
Mức tăng tải dự kiến___ ×/năm
Thành phần không scale ngang được___Đã xác định chưa?
Security & CompliancePhân loại dữ liệu___
Ràng buộc lưu trữ / vị trí dữ liệu___
Yêu cầu ghi vết (audit)___
CostNgân sách hạ tầng/tháng___
Chi phí trên mỗi giao dịch___Ở mức tải nào?
OperabilityChỉ số giám sát bắt buộc___
Ngưỡng cảnh báo___

03Napkin Math Card — in ra, dán bàn

Độ trễ

RAM                    ~100 ns
1 MB tuần tự từ RAM     ~10 µs
SSD random read        ~100 µs
1 MB tuần tự từ SSD      ~1 ms
Round-trip cùng DC     ~0.5 ms   ★
Query có index, cached 0.1–1 ms
HN ↔ HCM                ~30 ms
VN ↔ Singapore          ~40 ms
VN ↔ US East           ~230 ms
Ngưỡng "tức thì"       <100 ms

Quy đổi nhanh

1 ngày        ≈ 86.400 s ≈ 100.000 s
1 triệu/ngày  ≈ 10/s
5 triệu/ngày  ≈ 58/s
100 triệu/ngày ≈ 1.150/s
Hệ số đỉnh thường     5–10×
Đỉnh chiến dịch      30–100×

Trần thành phần

Postgres write đơn giản  vài nghìn/s
Postgres read có index   chục nghìn/s
Redis                    ~100k ops/s
Kafka 1 broker           trăm nghìn/s
App node, không DB       vài nghìn req/s
App node, 2–3 query DB   vài trăm req/s
1 triệu bản ghi × 1 KB   ≈ 1 GB

Công thức phải nhớ

Little's Law
  Concurrency = Throughput × Latency
  500/s × 0,2 s = 100 connection

Tail latency (fan-out N service)
  P(chậm) = 1 − (1 − p)^N
  10 service, p99 → ~9,6% request chậm

Saturation
  >70–80% → latency tăng phi tuyến

SLO → thời gian lỗi/tháng
  99%    = 7,2 giờ
  99,9%  = 43 phút
  99,99% = 4,3 phút

04Integration Contract — mẫu tối thiểu

# Integration Contract: {Hệ thống A} → {Hệ thống B}

Phiên bản:        v1.0
Chủ sở hữu A:     {tên, team}
Chủ sở hữu B:     {tên, team}
Nguồn sự thật:    {A hay B — bắt buộc điền}

## Cơ chế
Kiểu:      sync REST | async event | batch file | CDC
Lý do chọn: {...}

## Hợp đồng dữ liệu
Schema:    {link hoặc mô tả}
Bắt buộc:  {các field không được thiếu}
Tuỳ chọn:  {các field có thể null}

## Quy tắc tiến hoá
- Chỉ thêm field, không xoá, không đổi nghĩa field cũ
- Breaking change phải tạo version mới, chạy song song tối thiểu ___ tuần
- Bên tiêu thụ phải bỏ qua field lạ

## Hành vi khi lỗi
Timeout:       ___ ms
Retry:         ___ lần, backoff có jitter
Khi B chết:    {A làm gì — dồn hàng đợi, bỏ qua, hay dừng}
DLQ:           {có/không — ai xử lý}

## Cam kết vận hành
Throughput dự kiến:  ___ TPS (đỉnh ___)
SLO của B:           ___
Liên hệ khi sự cố:   {kênh}

05Individual Development Plan — SA track

Họ tên: ______________  Vai trò hiện tại: ______  Kỳ: Q_/2026

## Kết quả khảo sát
Trụ 1 Design       ___    Trụ 4 Technology   ___
Trụ 2 Quality      ___ ★  Trụ 5 Trade-off    ___ ★
Trụ 3 Data         ___ ★  Trụ 6 Comm         ___
Mức tổng đề xuất: SA__     (★ = trụ gate)

## Hai trụ ưu tiên quý này
1. Trụ ___ : từ SA_ lên SA_
   Chủ đề học (từ Knowledge Map): ____________________
   Bằng chứng cần tạo ra:         ____________________
2. Trụ ___ : từ SA_ lên SA_
   Chủ đề học: ____________________
   Bằng chứng cần tạo ra: ____________________

## Cam kết cụ thể trong quý
[ ] Tham dự ≥ 8/12 buổi Architecture Dojo
[ ] Trình bày ít nhất ___ lần
[ ] Nộp ___ ADR từ dự án thật (không phải từ bài Dojo)
[ ] Đọc xong: ____________________
[ ] Áp dụng vào dự án: ____________________

## Người đồng hành
Mentor: ______  Nhịp gặp: ______  Đánh giá lại: __/__/2026

06Checklist đối chiếu bằng chứng — Lớp 2

Lớp 2 có hai người đánh giá độc lập cho mỗi ứng viên: một SA chấm chất lượng kỹ thuật, một PM xác nhận bối cảnh dự án thật. Hai checklist dưới đây tách riêng vì hai người trả lời hai câu hỏi khác nhau — không dùng chung một form.

Cách gửi kết quả: mỗi người điền checklist của mình (giấy, chat, hoặc email đều được), gửi phần Kết luận cho Trưởng phòng. Trưởng phòng nhập cả hai vào Dashboard (Tài liệu 09 §05) — SA và PM không cần tự thao tác trên công cụ.

Phần A — SA đánh giá kỹ thuật

Người được review: ______________  SA đánh giá: ______________
Ngày: __/__/2026

## Hai câu hỏi bắt buộc

1. Bằng chứng kỹ thuật có CỤ THỂ không?
   (quyết định kiến trúc nào, đánh đổi nào đã thực sự đưa ra — hay chỉ
   là mô tả chung chung kiểu "đã tham gia thiết kế hệ thống"?)
   [ ] Cụ thể, kiểm chứng được    [ ] Chung chung, cần hỏi thêm

2. Có dấu hiệu nào của BA TRỤ GATE (2 Quality Attributes,
   3 Data & Integration, 5 Trade-off) trong công việc thực tế
   của người này không? Nêu ví dụ cụ thể, không suy diễn.
   Trụ 2: ____________________________________________
   Trụ 3: ____________________________________________
   Trụ 5: ____________________________________________

## Kết luận (SA)
[ ] Đạt — đủ căn cứ kỹ thuật để xét tiếp
[ ] Chưa đạt — bằng chứng kỹ thuật không đủ thuyết phục

Lý do (bắt buộc, 1–2 câu):
______________________________________________________________

Phần B — PM xác nhận dự án thật gate bắt buộc Đợt 1

Người được review: ______________  PM xác nhận: ______________
Ngày: __/__/2026

## Câu hỏi duy nhất, bắt buộc trả lời cụ thể

Người này đã XÂY DỰNG hoặc CHỊU TRÁCH NHIỆM CHÍNH về kiến trúc
của một dự án thật trong phòng SU02 chưa? Không tính "đã tham gia",
"đã hỗ trợ", hay "có mặt trong dự án" — phải là người thực sự ra
quyết định kiến trúc hoặc đồng sở hữu quyết định đó.

Tên dự án cụ thể:        ____________________________________
Vai trò của người này:   ____________________________________
Quyết định kiến trúc họ từng đưa ra (nêu ít nhất một):
______________________________________________________________
Dự án đã triển khai/go-live chưa, hay mới ở giai đoạn thiết kế?
______________________________________________________________

## Kết luận (PM) — BẮT BUỘC chọn một
[ ] CÓ — xác nhận đây là dự án thật, vai trò thật
[ ] KHÔNG — chưa có dự án nào đạt mức này ở thời điểm hiện tại

(Nếu chọn KHÔNG, ứng viên tự động không đủ điều kiện Đợt 1 dù
điểm khảo sát hay đánh giá kỹ thuật của SA cao đến đâu.)
Vì sao Phần B là gate cứng, không phải điểm cộng: Đợt 1 của SA Academy cần chứng minh được chương trình chọn đúng người ngay từ lứa đầu tiên. Người có kiến thức tốt nhưng chưa từng thật sự chịu trách nhiệm kiến trúc một dự án nên đi đường phát triển khác (xem Tài liệu 03 §05 — Đường B/C), không phải bị loại vĩnh viễn khỏi con đường SA.
Mục đích của cả hai checklist là ép phản hồi có căn cứ, không phải tạo thêm giấy tờ. Nếu SA không trả lời được câu 2 bằng ví dụ cụ thể, hoặc PM không nêu được tên dự án và quyết định kiến trúc cụ thể, đó là tín hiệu nên hỏi thêm thay vì đoán.