Bỏ qua tới nội dung
Phạm Thủy
Quay lại

BA Artifact Templates

Note này cung cấp template copy-ready cho các artifact BA thường xuyên tạo ra: User Story, Acceptance Criteria (Gherkin + Checklist), Definition of Ready/Done checklist, Decision Log, và Open Question Register. Không dạy lý thuyết — dùng để copy-paste vào Jira, Confluence hoặc email.

Note này dùng để làm gì

Mở note khi bạn cần viết story, AC, hoặc decision log và muốn có template nhanh thay vì nghĩ format từ đầu. Tất cả template đều đã được dùng trong ShopFlow và các note thực hành. Đọc kèm note dạy kỹ năng tương ứng (không thay thế).

1. User Story Template

**Story ID:** [SF-XX]
**Epic:** [SF-1 Online Shop Sales and Inventory MVP]
**Priority:** [High / Medium / Low]

---

Là <role>,
tôi muốn <objective>,
để <value>.

---

**Acceptance Criteria:** (xem bên dưới, chọn Gherkin hoặc Checklist)

**Notes / Context:**
- [dependency, constraint, assumption liên quan]
- [wireframe link nếu có]

**Estimate:** [Fibonacci: 1, 2, 3, 5, 8, 13]
**Sprint:** [Sprint X]

Ví dụ ShopFlow:

**Story ID:** SF-3
**Epic:** SF-1 Online Shop Sales and Inventory MVP
**Priority:** High

---

Là Khách hàng,
tôi muốn tạo đơn hàng từ catalog,
để mua hàng không cần gọi điện.

---

**Notes / Context:**
- Stock check phải atomic (reject toàn bộ order nếu một item thiếu — SF-11)
- Payment mock, không tích hợp gateway thật (SF-4)

**Estimate:** 5
**Sprint:** Sprint 1

2. Acceptance Criteria Template

2A. Gherkin (cho story có flow rõ)

Given <precondition / context>
When <trigger / action>
Then <expected outcome>
  And <additional condition>

Ví dụ ShopFlow SF-3:

Given Khách hàng đã đăng nhập và có 2 sản phẩm trong giỏ
When Khách hàng bấm "Đặt hàng"
Then Hệ thống kiểm tra availableStock của từng item trong một transaction
  And Nếu tất cả item có availableStock >= quantity, tạo order với status PENDING_PAYMENT
  And Nếu bất kỳ item nào thiếu, reject toàn bộ order với message "Sản phẩm [tên] chỉ còn [availableStock]"

2B. Checklist (cho constraint, UI, permission)

- [ ] <điều kiện observable>
- [ ] <điều kiện observable>
- [ ] <failure / edge case>

Ví dụ ShopFlow SF-2:

- [ ] Sản phẩm hiển thị ảnh, tên, giá
- [ ] Có thể lọc theo danh mục
- [ ] Ảnh hiển thị đúng trên mobile (responsive)
- [ ] Khi không có sản phẩm nào: hiển thị "Chưa có sản phẩm nào trong danh mục này"

3. Definition of Ready (DoR) Checklist

Copy checklist này vào mỗi story trước refinement:

## Definition of Ready — [SF-XX]

- [ ] Story: role, objective, value (để...) đủ và rõ
- [ ] AC: ≥ 2 AC verifiable, bao gồm ít nhất 1 failure/exception path
- [ ] Dependency: đã xác định và resolved / có owner + due date
- [ ] UI/UX: wireframe hoặc mockup đã sẵn sàng (nếu story có màn hình)
- [ ] Estimate được: team có đủ context để estimate
- [ ] Testable: tester xác nhận có thể viết test case từ AC
- [ ] Không có open question blocking

**Ready:** [Yes / No]
**Gap (nếu No):** [mô tả + owner + due date]

4. Definition of Done (DoD) Checklist

## Definition of Done — [SF-XX]

- [ ] Code hoàn thành và đã review
- [ ] Unit test pass (coverage theo team convention)
- [ ] AC verified — tester xác nhận tất cả AC pass
- [ ] Không có lỗi P1/P2 chưa resolved
- [ ] Wireframe/design đã được UX confirm (nếu có thay đổi)
- [ ] Tài liệu liên quan đã được cập nhật
- [ ] Demo được cho stakeholder (nếu cần)

5. Decision Log Template

| ID | Ngày | Decision | Context | Người quyết định | Impact | Dissent |
|---|---|---|---|---|---|---|
| DL-01 | YYYY-MM-DD | [quyết định gì] | [vì sao cần quyết định] | [tên + role] | [ảnh hưởng tới story/estimate/schedule] | [ý kiến khác, nếu có] |

Ví dụ ShopFlow:

| ID | Ngày | Decision | Context | Người quyết định | Impact | Dissent |
|---|---|---|---|---|---|---|
| DL-01 | 2026-07-15 | Stock check lúc submit, atomic (reject toàn bộ nếu thiếu 1 item) | SF-3 refinement: không rõ check lúc add-to-cart hay submit | PO (chủ shop) | Dev SF-11: dùng transaction, không cần optimistic lock ở MVP | Tester đề xuất partial accept — ghi nhận cho Sprint 2 |
| DL-02 | 2026-07-15 | availableStock = on_hand − reserved, tính runtime | SF-6 refinement: không rõ có cần lưu cột availableStock | Tech Lead | Bỏ field availableStock khỏi SF-14 DB schema | — |

6. Open Question Register Template

| ID | Open Question | Owner | Due Date | Status | Resolution |
|---|---|---|---|---|---|
| OQ-01 | [câu hỏi] | [tên] | YYYY-MM-DD | Open / Resolved / Expired | [câu trả lời hoặc lý do expired] |

Ví dụ ShopFlow:

| ID | Open Question | Owner | Due Date | Status | Resolution |
|---|---|---|---|---|---|
| OQ-01 | Ai được phép override stock validation? | Chủ shop | 2026-07-20 | Open | — |
| OQ-02 | Return window bao lâu? 7 ngày hay 14 ngày? | Chủ shop | 2026-07-22 | Resolved | 7 ngày kể từ ngày nhận hàng |
| OQ-03 | Dữ liệu sổ cũ có cần migrate không? | Chủ shop | 2026-07-18 | Resolved | Không — nhập stock đầu kỳ thủ công 1 lần |

7. Elicitation Note Template

Dùng cho interview, observation, hoặc workshop. Copy-paste và điền.

## Elicitation: [Activity Type] — [Date]

**Objective:** [sau activity này, tôi phải biết / quyết định được gì?]
**Participant:** [role, không phải tên]
**Technique:** [interview / observation / workshop]
**Duration:** [phút]

---

### Raw Notes

| Quote / Observation | Interpretation | Assumption | Follow-up |
|---|---|---|---|
| "[trích dẫn trực tiếp]" | [BA diễn giải] | [điều đang giả định] | [cần kiểm gì / hỏi ai] |

Running case: ShopFlow

Tất cả template trên đều được dùng trong dự án ShopFlow:

TemplateShopFlow Jira
User StorySF-2..SF-9 (8 story, mỗi story theo template)
AC — GherkinSF-3 Create Order, SF-6 Manage Stock, SF-7 Receive Stock, SF-8 Return
AC — ChecklistSF-2 Browse Catalog, SF-4 Payment, SF-5 Delivery, SF-9 Alert
DoR ChecklistÁp dụng trong refinement Sprint 1 cho SF-2, SF-3, SF-6
Decision LogGhi trong mỗi buổi refinement (xem Backlog Refinement)
Open Question Register3 open question từ workshop kick-off (xem Requirements Workshop)

Bài học: Template không thay thế tư duy. Một story viết đúng template nhưng không có value (“để…”) vẫn là story kém. Template là checklist chống quên; kỹ năng phân tích mới là thứ làm cho artifact có giá trị.

References


Chia sẻ bài viết:

Bài trước
Viết rõ ràng cho BA
Bài sau
Current State và Future State Analysis cho BA