Greenfield với SDD (Dự án mới)
Áp SDD cho dự án mới hoàn toàn, chưa có code cũ. Dễ hơn brownfield vì chưa phải xử lý lịch sử. Minh hoạ qua nhật ký 5 ngày, 3 người, một internal HR tool.
Nhịp 5 ngày (HR tool: chấm công + nghỉ phép)
| Ngày | Việc | Điểm cốt lõi |
|---|---|---|
| 1 | Inception + Business Requirement (BR) catalog. Ngồi với HR 90 phút, hỏi nghiệp vụ (không bàn DB/UI). /specify → 6 UC, gộp còn 5. | Thứ quan trọng nhất ngày 1 là phạm vi, đặc biệt Out of Scope. |
| 2 | Elaboration: /use-case-diagram + /entity-model. Review với HR. | Phát hiện thiếu “ngày lễ” → ghi rõ “không trừ holiday MVP”. |
| 3-4 | Viết spec chi tiết UC dẫn dắt (UC-004 nhiều rule nhất) rồi /plan → /tasks → /implement. | An bắt AI sai: định trừ balance khi submit, spec nói chỉ trừ khi approved → sửa plan trước khi chạy. |
| 5 | Deploy staging, HR + 5 nhân viên dùng thử, thu feedback, deploy production. | Feedback phân loại: bug / Out of Scope / bổ sung AC / UX. |
Kết quả
3 dev / 5 ngày (~15 ngày công): 47 file, ~3000 dòng code, 32 test (mỗi AC MVP ≥ 1 test), specs = 1 BR + 5 UC + 1 entity model + 1 diagram. Quan trọng hơn: HR hỏi “sau này thêm nghỉ lễ sửa ở đâu?” → team trả lời ngay: BR-001 v2, entity LeaveRequest, UC-004, UC-006.
Checklist trước khi bắt đầu
☐ BR (1 trang: Goal, Success Metric, Out of Scope) · ☐ 5-10 UC chính (ID + 1 dòng) · ☐ Entity Model sơ bộ đúng tên nghiệp vụ · ☐ chọn tool SDD · ☐ quy ước commit có UC ID · ☐ quy ước test name map AC · ☐ ≥ 1 reviewer nghiệp vụ mỗi spec PR.
Bốn lỗi hay gặp
- Viết spec quá chi tiết ngày một → time-box 1-2h/UC.
- Spec không có AC → không AC thì không code.
- AI viết code trước, spec viết sau → tách commit: spec trước, code sau.
- Một mình dev viết spec rồi tự duyệt → cần reviewer nghiệp vụ (Stakeholder-Centric).
Liên quan
- Brownfield với SDD - trường hợp ngược lại (legacy)
- Spec-Driven Development · Bốn tầng của yêu cầu · Công cụ SDD