Chuyển tới nội dung chính

Ngôn ngữ • Language

Feature-Driven Development (FDD)

FDD là một framework Agile phù hợp cho dự án lớnteam đông: chia việc theo feature, có mô hình tổng thể rõ ràng, rồi lập kế hoạch → thiết kế → xây dựng theo từng feature để giao hàng nhanh.

TL;DR – FDD trong 1 phút
  • FDD (Feature-Driven Development)Agile nhưng có cấu trúc, thường được mô tả là model-driven (làm rõ domain/model để giảm hiểu sai và rework).
  • Trọng tâm: xây dựng feature list và delivery theo feature.
  • Kết hợp incremental + iterative: chia nhỏ, làm theo vòng lặp ngắn, giao từng phần có giá trị.
  • 5 tiến trình cốt lõi:
    1. Develop an Overall Model
    2. Build a Feature List
    3. Plan by Feature
    4. Design by Feature
    5. Build by Feature
  • Phù hợp nhất khi: dự án phức tạp, nhiều module, nhiều người, cần predictabilitykỷ luật thiết kế.
  • Không phù hợp khi: team nhỏ, MVP giai đoạn đầu, bài toán quá mới cần thử nghiệm liên tục.
Lối tắt:ECO 2025 · 4 domain
PMI-ACP cue

Nếu đề nhấn mạnh “large/complex project + need structure + delivery by features”, kèm các cụm như overall model, plan/design/build by feature → nghĩ đến FDD.



1) FDD là gì?

Feature-Driven Development (FDD) là một phương pháp Agile “định hướng theo feature”: sản phẩm được phát triển bằng cách thiết kế và xây dựng từng feature nhỏ — mỗi feature là một “kết quả hữu ích” mà khách hàng đánh giá là có giá trị.

PMI-safe wording: FDD là customer-centric (ưu tiên giá trị khách hàng), đồng thời mang tính model-driven (có bước làm rõ domain/model để tạo nền tảng cho delivery).

So với Scrum/Kanban:

  • Scrum cũng có “feature”, nhưng Scrum nhấn cadence (Sprint) và empiricism (inspect & adapt).
  • FDD nhấn mạnh cấu trúc: model tổng thể, feature list theo domain, và ownership rõ để quản trị dự án lớn.

2) “Feature” trong FDD nghĩa là gì?

Trong FDD, feature là một kết quả nhỏ, hữu ích, và được khách hàng đánh giá có giá trị.

Ví dụ nhanh:

  • “Tính tổng tiền hoá đơn” (calculate invoice total)
  • “Tạo hoá đơn / tạo đơn mua hàng” (create invoice / purchase order)
  • “Gửi biên nhận bán hàng” (send sales receipt)
  • CRM: “Nhập lead tiềm năng vào hệ thống” (capture a lead)

Khi làm dự án lớn (ví dụ e-commerce), bạn sẽ có một feature list rất dài, rồi nhóm feature theo subject areas (nhóm chủ đề/domain) để quản trị.


3) 5 tiến trình chính của FDD

FDD có 5 tiến trình “xếp lớp” — bước sau dựa trên nền tảng của bước trước (cấu trúc rõ ràng nhưng vẫn Agile).

3.1 Develop an Overall Model – Phát triển mô hình tổng thể

  • Làm rõ domain: chúng ta đang xây cái gì, ranh giới hệ thống là gì?
  • Tổ chức workshop với domain experts (chuyên gia nghiệp vụ).
  • Tạo “bức tranh chung” để các nhóm làm cùng hướng, giảm hiểu sai và giảm rework.

3.2 Build a Feature List – Xây dựng danh sách feature

  • Chuyển mô hình/domain thành danh sách feature có thể triển khai.
  • Nhóm feature theo subject areas (checkout, catalog, payment, tax...).
  • Làm rõ value của từng feature (feature nào tạo giá trị, cho ai, khi nào cần).

3.3 Plan by Feature – Lập kế hoạch theo feature

  • Lập lịch triển khai feature theo thứ tự giá trị/phụ thuộc.
  • Gán ownership rõ ràng để theo dõi tiến độ.
  • Tạo predictability cho dự án lớn (điều mà team đông rất cần).

3.4 Design by Feature – Thiết kế theo feature

  • Nhóm nhỏ tạo thiết kế chi tiết cho feature (luồng xử lý, cấu trúc code, thứ tự thực hiện).
  • Thiết kế bám theo overall model để tránh “mỗi người một kiểu”.

3.5 Build by Feature – Xây dựng theo feature

  • Code → test → integrate cho feature.
  • Feature thường hoàn thành theo short iterations (thường ~2 tuần, có thể điều chỉnh).
  • Mục tiêu: deliver working software đều đặn để nhận feedback sớm.

4) Roles & Ownership: vì sao FDD hợp dự án lớn?

Điểm mạnh của FDD là ownership rõ để giảm “hỗn loạn phối hợp” khi team đông. Một số thuật ngữ có thể gặp (không cần nhớ chi tiết vai trò để làm PMI-ACP, nhưng cần hiểu ý):

  • Chief Programmer: dẫn dắt kỹ thuật/thiết kế ở mức feature/module.
  • Class Owner: chịu trách nhiệm cho một phần code/class/module cụ thể.

PMI-ACP note: Nếu đề mô tả “gán ownership cho class/module để track progress” hoặc “team lớn cần cấu trúc thiết kế mạnh” → rất khớp FDD.


5) FDD phù hợp nhất khi nào? Không phù hợp khi nào?

5.1 Phù hợp

  • Dự án lớn, phức tạp, nhiều domain/module.
  • Team đông, cần structure để đồng bộ cách làm.
  • Cần predictabilitydesign discipline để giảm rework.
  • Bài toán “đã có khuôn mẫu” tương đối (có domain model/kinh nghiệm sẵn để chuẩn hoá).

5.2 Không phù hợp

  • Team nhỏ làm MVP giai đoạn đầu (cần thử nghiệm, pivot, học nhanh).
  • Bài toán quá mới/thiếu mô hình tham chiếu (R&D nặng, thay đổi liên tục theo khám phá).

6) Exam tips & traps (PMI-ACP)

Exam patterns
  • “Large team + complex system + need structured approach” → FDD là ứng viên mạnh.
  • “Upfront domain modeling + feature list + plan/design/build by feature” → signature của FDD.
  • “Delivery nhanh” nhưng vẫn kỷ luật kỹ thuật (design/testing) → FDD phù hợp.
Traps hay gặp
  • Nhầm FDD với Scrum chỉ vì đều nói “feature”.
    → Scrum nhấn cadence + empiricism; FDD nhấn model + ownership + feature-centric processes.
  • Hiểu sai “model-driven” = “waterfall”.
    → FDD vẫn incremental/iterative, vẫn giao từng phần có giá trị.
  • Dùng FDD cho MVP team nhỏ và yêu cầu pivot liên tục.
    → thường “nặng cấu trúc” hơn mức cần thiết.

7) Keyword map (VI ↔ EN)

VIEN (PMI-safe)Ý nghĩa dùng trong đề
FeatureFeatureKết quả nhỏ, có giá trị khách hàng
Mô hình tổng thểOverall modelNền tảng hiểu domain chung
Chuyên gia nghiệp vụDomain expertsWorkshop để hiểu đúng bài toán
Danh sách featureFeature listBacklog theo feature (nhóm theo domain)
Lập kế hoạch theo featurePlan by featureSchedule + ownership
Thiết kế theo featureDesign by featureThiết kế chi tiết cho từng feature
Xây dựng theo featureBuild by featureCode/test/integrate
Gia tăngIncrementalGiao dần theo phần
LặpIterativeLặp vòng học–sửa–tối ưu
Định hướng mô hìnhModel-drivenDomain/model foundation
Lấy khách hàng làm trung tâmCustomer-centricValue do customer định nghĩa

8) Checklist học nhanh

Checklist – Feature-Driven Development (FDD) (VI)

Tiến độ: 0/6 (0%)

Mini-mock – Feature-Driven Development (FDD)

Loading questions…
Takeaways (VI)
  • FDD = feature-centric + structured + model-driven, hợp dự án lớn.
  • Signature: overall model + feature list + plan/design/build by feature.
  • Dùng đúng bối cảnh: team đông, phức tạp, cần kỷ luật thiết kế và predictability.

Liên hệ & cập nhật

Không spam. Bạn có thể huỷ đăng ký bất cứ lúc nào.