> ## Documentation Index
> Fetch the complete documentation index at: https://learn.cleeksy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Khái niệm & đầu ra cốt lõi

> Khái niệm và đầu ra (Core concepts & key artifacts) tối thiểu để áp dụng SDD.

Trang này tóm tắt **bộ khái niệm và tài liệu (artifacts) tối thiểu** để áp dụng SDD trong thực tế. Các artifacts được tổ chức theo mức độ “từ ý tưởng → triển khai → vận hành”, nhằm đảm bảo:

* Phạm vi nhỏ nhưng chạy được end-to-end
* Có tiêu chí đo lường để biết “đã tạo giá trị hay chưa”
* Tránh mega-app bằng cách chốt ranh giới và triển khai theo kịch bản

Liên quan:

* [SDD là gì](/sdd/overview)
* [Outer loop: scenario backlog (lập kế hoạch theo kịch bản)](/sdd/outer-loop-scenario-backlog)
* [Inner loop: delivery cycle (chu kỳ triển khai)](/sdd/inner-loop-delivery-cycle)

***

## Cấu trúc artifacts theo SDD

* **Outer loop** thường dùng: *Value slice* → *BRD* → ưu tiên *scenario backlog*
* **Inner loop** thường dùng: *User scenario* → *Solution concept* → *Application specification* → *Test scenario* → *Runbook*

Mục tiêu không phải là tạo tài liệu “đầy đủ tuyệt đối”, mà là tạo **đầu ra vừa đủ** để đội build đúng, test được, và vận hành ổn định.

***

## 1) Value Slice (lát giá trị)

**Value slice** là một lát nhỏ, có ranh giới rõ trong **value stream (chuỗi giá trị)**, tạo ra giá trị end-to-end và **đo được**.

**Tiêu chí chất lượng**

* Nhỏ và có ranh giới (in/out) rõ
* Chạy end-to-end cho một mục tiêu vận hành cụ thể
* Có 1–3 **measurable outcomes** (kết quả đo được)
* Gồm nhiều **user scenario** (happy path + ngoại lệ quan trọng)
* Có thể gồm **một hoặc nhiều app** (tuỳ ranh giới dữ liệu và ranh giới vận hành)

**Đầu ra tối thiểu**

* Mục tiêu và phạm vi (in/out)
* Kết quả đo được + cách lấy số (từ field nào/report nào)
* Danh sách scenario thuộc slice (3–10 scenario ở mức thô)

Liên quan: [Chọn Value Slice theo SMALL](/foundations/value-slices-small)

***

## 2) BRD (Business Requirements Document) theo value stream

BRD là tài liệu yêu cầu theo **value stream**, trong đó có các phần (section) cho từng slice. BRD giúp giữ sự nhất quán giữa “vấn đề cần giải” và “thứ sẽ triển khai”.

**Nội dung gợi ý (tối thiểu)**

* **Problem / goals / scope** (vấn đề – mục tiêu – phạm vi)
* **Current workflow & pain points** (quy trình hiện tại + điểm đau)
* **Stakeholders & roles** (bên liên quan + vai trò)
* Nhóm yêu cầu theo loại (để dễ kiểm thử và truy vết):
* **FR (Functional Requirements)**: yêu cầu chức năng theo kịch bản
* **DR (Data Requirements)**: dữ liệu cần thu thập/hiển thị/chuẩn hoá
* **IR (Integration Requirements)**: tích hợp nội bộ/ngoài (portal/webhook/api/connected app)
* **RA (Roles & Access)**: vai trò và phân quyền
* **SR (Security/Sharing Requirements)**: chia sẻ dữ liệu, giới hạn truy cập, quy tắc công khai
* **NFR (Non-Functional Requirements)**: hiệu năng, ổn định, audit, lưu trữ, SLA…

**Đầu ra tối thiểu cho mỗi value slice trong BRD**

* Mục tiêu slice + measurable outcomes
* Danh sách scenario (kèm ưu tiên thô)
* Ghi chú ranh giới dữ liệu/app (ownership, publish/consume nếu có)

***

## 3) User Scenario (kịch bản người dùng)

User scenario là đơn vị trung tâm của SDD để thiết kế, build và test. Một scenario tốt đủ chi tiết để chạy end-to-end, nhưng không sa vào “đặc tả kỹ thuật”.

**Cấu trúc tối thiểu**

* **Actor** (vai trò) + **trigger** (điểm kích hoạt) + **preconditions** (điều kiện trước)
* **Steps**: happy path + ngoại lệ quan trọng (1–2 ngoại lệ)
* **Expected outcome**: kết quả mong đợi (dữ liệu, trạng thái, ai được thông báo)

**Gợi ý thêm để dễ triển khai**

* Field tối thiểu cần nhập/xem/cập nhật
* Tiêu chí chấp nhận (acceptance criteria) 5–10 ý
* “Điểm kiểm tra” về quyền (ai được làm gì/nhìn gì)

Liên quan: [Cơ bản về Scenario](/foundations/scenario-basics)

***

## 4) Solution Concept (khái niệm giải pháp)

Solution concept là bản thiết kế cấp hệ thống để trả lời: *giải pháp sẽ được tổ chức thành những app nào, dữ liệu ở đâu, kết nối ra sao, ai dùng thế nào*.

**Nội dung tối thiểu**

* **Workspaces & apps**: app nào thuộc workspace nào, ranh giới trách nhiệm
* **Key entities** và cách liên kết (Data Connection/Lookup/Rollup/Sub-dataset)
* **Roles & access**: nhóm vai trò và quyền chính
* **Internal/external integrations**:
* Intake dữ liệu (Internal portal / Public portal / Webhook)
* Pull/đồng bộ (API)
* Cross-app (publish/consume + Data source loại Connected app)

**Đầu ra tối thiểu**

* Một sơ đồ đơn giản (app ↔ dữ liệu ↔ người dùng ↔ tích hợp)
* Ghi chú “source of truth” cho dữ liệu quan trọng
* Quyết định cross-app: khi nào submit, khi nào tham chiếu, khi nào tổng hợp

Liên quan:

* [Ownership & chia sẻ dữ liệu (Data ownership & sharing)](/foundations/data-ownership-sharing)
* [Chia sẻ dữ liệu (Publish/Consume)](/build-apps/integrations/publish-consume-overview)
* [Cổng dữ liệu (Data source)](/build-apps/integrations/data-sources-overview)

***

## 5) Application Specification (đặc tả ứng dụng)

Application specification là đặc tả ở mức “cấu hình được” cho từng app trong slice. Đây là cầu nối giữa Design và Build.

**Nội dung tối thiểu**

* **Entities & fields**: entity chính, field bắt buộc, field dùng để đo (timestamp/status/owner)
* **Workflows & states**: trạng thái, bước xử lý, điều kiện chuyển trạng thái, approvals (nếu có)
* **Forms & views**: view theo vai trò (requester/operator/approver), record layout
* **Permissions & data connections**: role-based access, publish/consume nếu cross-app, các Data Connection cần dùng

**Đầu ra tối thiểu**

* Danh sách cấu hình “must-have” để scenario chạy được
* Danh sách cấu hình “nice-to-have” để mở rộng sau (để tránh scope creep)

Liên quan:

* [Cơ bản về App](/build-apps/app-basics)
* [Tổng quan giao diện](/build-apps/ui-views/views-overview)
* [Thiết kế quy trình (Process Builder)](/build-apps/workflows/process-builder)

***

## 6) Test Scenario (kịch bản kiểm thử)

Test scenario dùng để kiểm thử **end-to-end theo scenario**, đặc biệt khi slice có nhiều app.

**Cấu trúc tối thiểu**

* Preconditions & test data (điều kiện và dữ liệu kiểm thử)
* Steps across apps (các bước chạy qua các app, nếu có)
* Expected results (kết quả mong đợi về dữ liệu, trạng thái, quyền)
* Mapping to BRD requirements (liên kết tới FR/DR/IR/RA/SR/NFR liên quan)

**Đầu ra tối thiểu**

* Một bộ test cho happy path
* 1–2 test cho ngoại lệ quan trọng (reject, thiếu dữ liệu, quá hạn…)
* Test quyền theo role (ai thấy gì, ai làm gì)

Liên quan: [Rà soát & vận hành (App review)](/build-apps/app-review)

***

## 7) Runbook (sổ tay vận hành)

Runbook là tài liệu cho “day-2 operations”: sau go-live, hệ thống được theo dõi, xử lý sự cố và cải tiến như thế nào.

**Nội dung tối thiểu**

* Cách theo dõi vận hành: tồn đọng, quá hạn, cycle time, lỗi thường gặp
* Cách xử lý sự cố: phân loại lỗi (data/workflow/permission/integration), bước kiểm tra nhanh
* Quy trình thay đổi: cập nhật field/workflow/view, kiểm thử lại, phát hành
* Quản lý quyền: cấp quyền, thu hồi, nguyên tắc tối thiểu
* Quy tắc xử lý dữ liệu: khi nào được sửa dữ liệu, ai chịu trách nhiệm, cách truy vết

Liên quan:

* [Thông báo & giao việc](/build-apps/notifications-tasks)
* [Tổng quan phân tích dữ liệu](/build-apps/analytics-hub/overview)

***

## Bước tiếp theo

* Nếu đang lập kế hoạch và ưu tiên: [Outer loop: scenario backlog (lập kế hoạch theo kịch bản)](/sdd/outer-loop-scenario-backlog)
* Nếu đang triển khai một vòng: [Inner loop: delivery cycle (chu kỳ triển khai)](/sdd/inner-loop-delivery-cycle)
