Skip to main content

Ngôn ngữ • Language

Lean Software Development – Tư duy Lean từ Toyota áp dụng vào phần mềm

Lean có một nguyên tắc rất thẳng thắn: thứ gì khách hàng không coi là giá trị, làm ra thường là lãng phí.
Lean Software Development là cách mang tư duy “giảm lãng phí – tăng giá trị” từ Toyota sang phát triển phần mềm.

Lean Software Development – Toyota Lean applied to software

Lean trong software: tập trung vào customer-defined value, tối ưu flow end-to-end, giảm waste, cải tiến liên tục và tôn trọng con người.

TL;DR – Lean Software Development trong 1 phút
  • Lean bắt nguồn từ Toyota Production System (TPS): tối ưu để giảm waste (lãng phí).
  • Đem qua software, Lean nhấn mạnh:

    • Customer-defined value (giá trị do khách hàng định nghĩa)
    • Flow (dòng chảy mượt – ít tắc nghẽn)
    • Visual management (quản trị trực quan: board/flow/WIP)
    • Continuous improvement + Respect for people (cải tiến liên tục & tôn trọng con người/trao quyền)
    • Giao hàng theo lô nhỏ để nhận feedback sớm (small batches)
  • 7 nguyên lý hay gặp (PMI-ACP keyword):

    • Eliminate waste, Amplify learning, Defer commitment
    • Deliver fast, Empower the team
    • Build quality in (aka Build integrity in)
    • Optimize the whole (aka See the whole)
  • Bẫy đề hay gặp:

    • “Muốn nhanh thì hy sinh chất lượng” → ngược Lean (defects tạo rework + delay).
    • “Tối ưu cục bộ” nhưng end-to-end vẫn tắc → ngược optimize/see the whole.
    • “Làm thêm feature cho chắc” dù không ai dùng → waste.
    • “Đẩy thêm việc để ai cũng bận” → WIP tăng, flow tệ (anti pull).
Lối tắt:ECO 2025 · 4 domain
Bạn đang học PMI-ACP?

Gặp câu hỏi nói về waste, flow, WIP, visual management, continuous improvement, pull system, lead time/cycle time/throughput → nghĩ ngay đến Lean/Kanban.



1) Lean Software Development là gì?

Lean Software Development là cách áp dụng tư duy Lean vào phát triển phần mềm:

  • Tập trung vào giá trị do khách hàng định nghĩa
  • Tạo flow mượt (ít tắc nghẽn)
  • Giao hàng nhanh để học nhanh (feedback sớm)
  • Loại bỏ waste (mọi thứ không tạo giá trị)

Diễn giải:

  • Nếu khách chỉ cần “đặt hàng + thanh toán”, nhưng team làm thêm “nhiều màn hình quản trị chưa có nhu cầu” → rủi ro cao là waste.
  • Lean hỏi rất rõ: “Khách có dùng thật không? Có sẵn sàng trả tiền/đánh đổi cho phần đó không?”

2) Lean đến từ Toyota (TPS) – vì scale lớn, waste nhỏ cũng thành rất lớn

Lean (trong bối cảnh gốc) xuất phát từ Toyota Production System (TPS).

  • Khi bạn sản xuất hàng triệu sản phẩm, chỉ cần lãng phí 2% thôi là thành chi phí cực lớn.
  • Ví dụ: lãng phí 5% sơn cho 1 phòng có thể “chưa đáng kể”; nhưng nhân lên cho rất nhiều phòng thì thành “thất thoát hệ thống”.

Lean tập trung vào câu hỏi:
“Làm sao để giảm lãng phí và khuếch đại những yếu tố giúp giảm lãng phí?”


3) Lean core mà PMI đánh giá cao: Continuous improvement + Respect for people

Nhiều người nhớ Lean qua “waste/flow/tool”, nhưng PMI thường đánh giá cao tinh thần vận hành:

  • Continuous improvement (Kaizen): cải tiến nhỏ, liên tục, dựa trên dữ liệu/feedback.
  • Respect for people: tôn trọng người làm việc, tạo môi trường an toàn để nêu vấn đề, và trao quyền để quyết định đúng chỗ.
Dấu hiệu hay gặp trong đề thi

Nếu tình huống có xu hướng “quản lý kiểm soát quá chặt, mọi quyết định phải xin phép nhiều tầng, team khó cải tiến” → thường là ngược Lean/Agile.
Lean ưu tiên trao quyền, giảm “permission queue”, và cải tiến dựa trên feedback + dữ liệu.


3.1) Lean leadership: nhà quản lý nên làm gì để flow tốt hơn?

Trong bối cảnh Agile/Lean, vai trò quản lý không phải “đẩy việc” mà là gỡ tắc hệ thống:

  • Giảm điểm nghẽn do phê duyệt: rõ ràng hóa policy, ủy quyền theo ngưỡng, hạn chế “chờ ký”.
  • Tạo an toàn tâm lý: khuyến khích nêu vấn đề sớm (defect, rủi ro, bottleneck) thay vì “giấu cho xong”.
  • Đầu tư chất lượng vào quy trình: automation (CI/CD, test), chuẩn hóa pipeline để giảm rework.
  • Quan sát end-to-end: nhìn từ “request → delivered” (khách hàng thực sự nhận được) thay vì chỉ nhìn tốc độ của một bộ phận.

Một vòng Kaizen rất thực dụng:

  1. chọn 1 chỉ số (ví dụ lead time),
  2. thử 1 thay đổi nhỏ (ví dụ WIP limit),
  3. đo lại sau 1–2 tuần,
  4. giữ cái hiệu quả, bỏ cái không hiệu quả.

4) Đem Lean qua software: trực quan hóa flow, nhìn value, cải tiến liên tục

Khi đem Lean từ sản xuất sang phần mềm, “vật liệu” đổi thành:

  • thời gian + sự tập trung của team
  • chi phí sửa sai (rework)
  • thời gian chờ (waiting)
  • defect
  • feature không ai dùng

Lean software thường dùng nhiều visual management:

  • nhìn workflow rõ ràng (board)
  • thấy bottleneck ở đâu
  • giảm WIP (Work in Progress)
  • tăng tốc feedback

5) 7 nguyên lý Lean Software Development (keyword rất hay lên đề)

Lưu ý thuật ngữ (dễ gặp trong tài liệu & đề thi): Build quality inBuild integrity in Optimize the wholeSee the whole (systems thinking).

Lean Principles (Circle) – 7 principles

7 Lean principles (PMI-ACP keywords): eliminate waste, amplify learning, defer commitment, deliver fast, empower the team, build quality/integrity in, optimize/see the whole.

5.1 Eliminate waste – Loại bỏ lãng phí

Waste là bất cứ thứ gì không tạo giá trị cho khách hàng, làm chậm flow, hoặc tạo defect/rework.

5.2 Empower the team – Trao quyền cho team

Tránh micromanage. Người hiểu việc nhất thường là người đang làm việc đó. Trao quyền giúp quyết định nhanh hơn và giảm hàng đợi xin phép.

5.3 Deliver fast – Giao hàng nhanh

  • Khách thấy giá trị sớm
  • Team nhận feedback sớm
  • Sai thì sửa sớm (thường rẻ hơn sửa muộn)

Lưu ý: deliver fast không đồng nghĩa “hy sinh chất lượng”. Lean ưu tiên small batches + feedback loop nhanh.

5.4 Optimize the whole – Tối ưu toàn hệ thống, không tối ưu cục bộ

Lean không thích “một khâu chạy nhanh” nhưng end-to-end vẫn tắc.

  • Coding nhanh nhưng QA/Deploy tắc → lead time vẫn dài.
  • Đẩy nhiều việc vào In Progress → WIP phình → waiting tăng → flow xấu đi.

5.5 Build quality in (Build integrity in) – Xây chất lượng ngay từ đầu

Chất lượng không phải “đợi cuối mới test”. Defect = waste. Lean nhấn mạnh quality là một phần của quy trình: kiểm tra sớm, automation, feedback sớm để giảm rework.

5.6 Defer commitment – Trì hoãn cam kết tới “thời điểm hợp lý nhất”

Defer commitment không có nghĩa là trì hoãn vô hạn.
Ý đúng: giữ lựa chọn mở và ra quyết định ở last responsible moment (khi đã có đủ thông tin để quyết tốt hơn).

  • Trong software: làm spike/prototype nhỏ để học rồi mới chốt quyết định lớn (kiến trúc, vendor, cách triển khai).

5.7 Amplify learning – Khuếch đại học hỏi

Học hỏi là “nhiên liệu” để giảm waste: feedback sớm, thử nghiệm nhỏ, giao tiếp rõ, cải tiến liên tục.


6) Waste trong software: các “điểm ngốn thời gian” dễ bị bỏ qua

Dưới đây là waste “chuẩn bài thi” khi nói về Lean trong software (kèm ví dụ).
Gợi ý: “extra process/motion” thường là biểu hiện dẫn đến waiting, handoffs, task switching… (bận rộn nhưng ít Done).

  • Partially done work (việc làm dở dang): làm 50% nhưng chưa ai dùng được → chưa tạo value.
  • Delays / Waiting (chờ đợi): chờ duyệt, chờ môi trường, chờ review → lead time kéo dài.
  • Handoffs (bàn giao): “đẩy qua team khác rồi chờ” → mất context, tăng lỗi, tăng thời gian.
  • Extra features (tính năng không ai dùng): làm “cho đủ” nhưng không tạo value → waste.
  • Task switching (đổi việc liên tục): đang làm A nhảy qua B → mất tập trung → tăng sai → kéo dài “làm dở”.
  • Defects (lỗi): lỗi = sửa = rework = delay → waste “đậm đặc”.
  • Relearning (học lại): đổi người/thiếu chia sẻ knowledge/đứt context → phải “học lại từ đầu” → chậm + dễ sai.
  • Extra processes / Motion (quy trình thừa / hoạt động thừa): báo cáo, họp, ticket ping-pong quá mức… → tạo cảm giác bận, nhưng không tăng Done.
Bridge từ Lean manufacturing (để hiểu gốc)

Trong Lean truyền thống, bạn có thể gặp bộ 3: Muda (waste/lãng phí), Mura (unevenness/dao động), Muri (overburden/quá tải).
Trong software, “waste” bên trên thường là Muda; WIP cao + task switching dễ tạo Mura; ép quá tải/không bền vững tạo Muri.


7) Lean/Kanban toolkit: đo flow bằng số liệu + Pull system (rất hay bị hỏi)

7.1 Lead time vs Cycle time (đo để biết đang tắc ở đâu)

  • Lead time: từ lúc “được yêu cầu” (requested/committed) tới lúc “delivered”.
    (Nôm na: khách đợi bao lâu để nhận được?)
  • Cycle time: từ lúc “bắt đầu làm” tới lúc “xong”.
    (Nôm na: team mất bao lâu khi đã bắt tay vào làm?)

Gợi ý làm bài: Nếu đề nói “khách phàn nàn đợi lâu” → nghĩ lead time.
Nếu đề nói “một item lâu bất thường sau khi start” → nghĩ cycle time và bottleneck trong quy trình.

7.2 Throughput (tốc độ ra Done) + Little’s Law (phản xạ nhanh khi làm đề)

  • Throughput: số item hoàn thành / đơn vị thời gian (ví dụ: 12 items/tuần).
  • Little’s Law (cách dùng phổ biến trong Kanban/Lean):
    Lead time ≈ WIP / Throughput
    → muốn lead time giảm: giảm WIP hoặc tăng throughput (ra Done đều).

Lưu ý: Công thức xấp xỉ hữu ích khi hệ thống tương đối ổn định (steady state). Trong đề thi, bạn dùng như “quy luật phản xạ” để chọn hành động ưu tiên: giảm WIP + xử bottleneck.

Câu hỏi kiểu PMI thường ra

“Lead time đang quá dài, team nên làm gì trước?” → thường ưu tiên giảm WIP + xử bottleneck, hơn là “đẩy thêm việc để ai cũng bận”.

7.3 Cumulative Flow Diagram (CFD) & Control Chart (nhận diện bottleneck/độ ổn định)

  • CFD: nhìn chỗ nào “phình” cột (In Progress/Testing…) → chỗ đó đang tắc.
  • Control chart (cycle time scatter): xem cycle time có ổn định không, có outlier không, cải tiến có hiệu quả không.

7.4 Pull system + WIP limits (kéo việc theo năng lực, tránh “push”)

  • Pull system: chỉ kéo thêm việc khi team còn capacity (không nhồi việc vào In Progress).
  • WIP limits: giới hạn số việc đang làm để giảm task switching và giảm partially done work.

Ví dụ:

  • “Push”: đẩy nhiều ticket vào In Progress → ai cũng bận → ít Done.
  • “Pull”: In Progress giới hạn → team tập trung hoàn tất → Done đều, flow tốt hơn.

8) If you see → think → do (phản xạ làm bài thi)

Nếu đề nói…Nghĩ ngay…Hành động Lean/Kanban “đúng hướng PMI”
“Ai cũng bận nhưng ít Done”WIP cao, task switching, partially done workĐặt WIP limits, swarm để finish, giảm batch
“Dev nhanh mà khách vẫn chờ lâu”Lead time dài do bottleneck/queueVisualize end-to-end flow, xử bottleneck (automation/pipeline), đo lead time
“Nhiều lỗi, rework liên tục”Defects = wasteBuild quality in: automation, shift-left, DoD rõ, ngừa lỗi sớm
“Quyết định kẹt vì chờ duyệt nhiều lớp”Permission queue, anti-empowerEmpower the team, policy rõ, giảm handoffs
“Yêu cầu/thiết kế hay đổi, chưa chắc hướng”Uncertainty caoDefer commitment, spike/prototype, quyết ở last responsible moment

9) Áp dụng Lean trong dự án Agile: kết hợp với Scrum/Kanban (đời thực)

  • Dùng Kanban board để trực quan hoá flow (visual management).
  • Đặt WIP limits để giảm task switching và “làm dở”.
  • Tập trung “finish work” (Done) thay vì “start work”.
  • Dùng CI/CD + test automation để build quality/integrity in.
  • Dùng Retro/Kaizen để continuous improvement.
  • Đo lead time/cycle time/throughput để tìm bottleneck và kiểm chứng cải tiến.
Lean vs Kanban (để không chọn nhầm trong đề)
  • Lean thiên về principles/mindset: tối ưu value + flow bằng cách giảm waste.
  • Kanban thiên về method để thực thi flow: visualize workflow, WIP limits, pull, policies, metrics.
  • Trong đề thi: thấy “WIP limit/pull/board/CFD” → nghiêng Kanban; nhưng logic Lean (waste/flow/optimize whole) vẫn dẫn bạn tới đáp án đúng.

10) Exam patterns & traps – bẫy Lean trong PMI-ACP

Bẫy hay gặp
  • “Muốn nhanh thì bỏ bước test/QA” → ngược Lean (defects = waste, rework tăng).
  • “Tối ưu một nhóm thật nhanh” nhưng lead time vẫn dài vì chỗ khác tắc → ngược optimize/see the whole.
  • “Càng nhiều feature càng tốt” → ngược Lean (extra features = waste).
  • “Quản lý phải quyết hết để kiểm soát” → ngược empower the team + respect for people.
  • “Defer commitment = không quyết gì cả” → sai. Lean là quyết ở thời điểm hợp lý nhất (last responsible moment).
  • “Đẩy thêm việc để mọi người bận rộn” → WIP phình, lead time tăng (anti pull).

11) Mini scenarios (đúng kiểu đề PMI-ACP): nhận diện waste → hành động Lean

Scenario 1: “Bận rộn nhưng không ra Done”

Team có nhiều ticket đang “In Progress”. Ai cũng bận, nhưng Sprint Review gần tới vẫn ít cái Done.
Mọi người liên tục đổi task vì “cái nào cũng gấp”.

  • Waste chính: Task switching + Partially done work.
  • Hành động Lean tốt nhất: đặt WIP limits, swarm để finish, chuyển từ “start work” sang “finish work”.
  • KPI theo dõi: cycle time giảm, throughput/Done tăng đều.

Scenario 2: “Khách chờ quá lâu dù dev code rất nhanh”

Dev báo “code xong trong 1–2 ngày”, nhưng khách phải đợi 2–3 tuần mới nhận được.
QA/Deploy hay bị kẹt vì thiếu môi trường và quy trình release phức tạp.

  • Vấn đề: bottleneck ở QA/Deploy + Waiting → vi phạm Optimize the whole.
  • Hành động Lean tốt nhất: trực quan hoá flow end-to-end, xử bottleneck (automation, chuẩn hoá pipeline), giảm batch size.
  • Đo đúng: Lead time mới phản ánh “khách đợi bao lâu”.

Scenario 3: “Yêu cầu thay đổi liên tục, stakeholder muốn chốt kiến trúc ngay”

Stakeholder muốn “chốt kiến trúc & vendor ngay hôm nay” để “đỡ đổi”. Nhưng yêu cầu còn mơ hồ và thay đổi mỗi tuần.
Team lo quyết sớm sẽ lock-in sai và trả giá rework.

  • Lean principle: Defer commitment (decide at last responsible moment).
  • Hành động đúng kiểu PMI: làm spike/prototype nhỏ để học, giữ lựa chọn mở (set-based thinking), chốt khi có dữ liệu/learning đủ.
  • Anti-pattern: chốt sớm để “yên tâm”, rồi rework lớn khi requirement đổi.

12) Principle → Intent → Exam keywords (bảng nhồi nhanh)

Lean principleIntent (ý nghĩa)Exam keywords hay gặp
Eliminate wasteBỏ thứ không tạo valuewaste, non-value-added, reduce rework
Deliver fastFeedback sớm, lead time ngắnsmall batches, fast feedback, shorten lead time
Build quality in / Build integrity inNgừa lỗi sớmdefect prevention, automation, built-in quality
Optimize the whole / See the wholeTránh tối ưu cục bộsystem thinking, end-to-end flow, bottleneck
Empower the teamQuyết nhanh, đúng chỗself-managing, decentralized decision-making
Defer commitmentGiữ lựa chọn mởlast responsible moment, late binding decisions, spike
Amplify learningHọc nhanh để giảm wastefeedback loops, experimentation, continuous improvement

13) Checklist học nhanh

Checklist – Lean Software Development (VI)

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

Mini-mock – Lean Software Development

Loading questions…
Exam key takeaways – Lean (VI)
  • Lean = tối ưu value + flow bằng cách giảm waste (đồng thời tôn trọng con người và trao quyền).
  • Keywords: customer-defined value, visual management, continuous improvement, respect for people, eliminate waste, build quality/integrity in, optimize/see the whole, deliver fast, empower the team, defer commitment, amplify learning, pull system, WIP, lead time/cycle time/throughput, Little’s Law, CFD/control chart.

  • Đề hay gài: tối ưu cục bộ, làm thêm feature, hy sinh quality, quản lý quyết hết, hiểu sai “defer commitment”, push việc làm WIP phình.

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

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