Kinh nghiệm lập dự toán chi phí dự án phần mềm theo phương pháp Man-Month
Last updated: July 28, 2026 Xem trên toàn màn hình
- 17 Aug 2020
Mục tiêu dự án là gì? Làm thế nào để xác định mục tiêu? 418/769 - 15 Apr 2020
Phần mềm BPM là gì? So sánh với ERP và các phần mềm Workflows 260/956 - 01 Aug 2022
20 bài học kinh nghiệm rút ra từ Tam Quốc Diễn Nghĩa 214/1200 - 10 May 2021
Phát triển Phần mềm Tinh gọn (Lean Software Development) 205/450 - 08 Feb 2021
Quy trình nâng cấp phần mềm quản trị doanh nghiệp ERP 195/455 - 03 Feb 2020
Sản phẩm OEM và ODM là gì? 192/909 - 03 May 2022
Mô hình Hybrid Agile là gì? 191/765 - 01 Aug 2023
Phân tích yêu cầu phần mềm sẽ nhìn vào thực trạng (AS-IS) hay tương lai (TO-BE)? 186/797 - 14 Aug 2022
Khác biệt giữa tiêu chí hoàn thành DOD (Definition of Done) với tiêu chí nghiệm thu (Acceptance Criteria) 185/840 - 09 Feb 2021
Tầm nhìn là gì? Tí dụ minh họa cụ thể về tầm nhìn 185/394 - 19 Aug 2020
Lift & Shift - Phương pháp tối ưu dịch chuyển hệ thống phần mềm qua đám mây 184/443 - 03 Mar 2020
Giả định (Assumption ) là gì? Tại sao giả định rất quan trọng với dự án? 180/828 - 20 Jul 2021
Quản lý và đánh giá công việc theo quy trình TIGO SmartWork 180/637 - 01 Jun 2021
Bản thiết kế sơ bộ (Brief) là gì? 177/936 - 17 Oct 2025
Hồ sơ quyết toán và hồ sơ kiểm toán là gì? 177/217 - 18 Mar 2021
Kỹ thuật ước lượng dự án phần mềm linh hoạt dựa vào Story Point - phương pháp T-Shirt Sizing 175/828 - 30 Jan 2026
Vượt qua cơn bão sa thải nhân viên công nghệ: Những đêm thức trắng, phần mềm bị lỗi và hội chứng kẻ giả mạo (Impostor Syndrome) 170/206 - 15 Mar 2024
SDLC là gì? So sánh với Full-Cycle Software Development 169/220 - 25 Apr 2018
Bảo hộ bản quyền phần mềm dưới khía cạnh sở hữu trí tuệ như thế nào? 168/430 - 01 Sep 2020
Co-founder là gì? Vai trò của các Co-Founder khi lập nghiệp. 166/504 - 22 Jul 2020
Quản lý dự án phần mềm trong thực tế và câu chuyện thành công của InfoSys 163/347 - 01 Feb 2022
Thách thức với doanh nghiệp chuyển đổi số trong thời đại VUCA 162/983 - 12 Feb 2025
Phương pháp 1-2-4-All là gì? 160/189 - 14 Dec 2022
Phương pháp kiểm tra Fagan Inspection là gì? 159/368 - 14 Apr 2019
Product Backlog là gì? Các đặc điểm cơ bản của một Product Backlog 158/628 - 01 Mar 2021
Ý nghĩa và bài học rút ra từ truyện thầy bói xem voi 157/907 - 19 Sep 2025
Agile vs. Ego: Làm Gì Khi Một Thành Viên Trong Nhóm Nổi Loạn 157/269 - 01 Jul 2023
Phương pháp Shuhari - Làm sao học ít hiểu nhiều? 155/1307 - 21 Apr 2020
Bảo trì phần mềm là gì? Phân biệt các loại bảo trì 154/523 - 04 Feb 2024
“Nợ kỹ thuật” (technical debt) là gì? 153/217 - 12 Apr 2023
Phương pháp 6 chiếc mũ tư duy là gì? Vận dụng trong điều hành cuộc họp hiệu quả 152/810 - 02 Aug 2023
Tổng hợp một số project tham khảo khi xây dựng các ứng dụng theo mô hình Microservices 150/676 - 16 Apr 2025
Lãnh đạo linh hoạt: Hành động (Bias for Action) hay không hành động (Non-Action)? 148/228 - 04 Jan 2023
Đánh giá nhân sự theo chuẩn người Nhật 146/636 - 24 Mar 2019
Scrum giống như bà mẹ chồng, giúp bạn nhìn ra các lỗi sai 146/495 - 17 Feb 2026
Giá trị con người nằm ở đâu trong thời đại AI và Robot? 145/171 - 03 Oct 2021
Khác biệt giữa thiết kế phần mềm và thiết kế công trình xây dựng 143/686 - 28 Jun 2024
Tại sao các kỹ sư IT giỏi nhất lại là những người theo thuyết bất khả tri về công nghệ (technology agnostics)? 143/584 - 11 Dec 2025
Phần mềm cho SMEs: Vì sao “Best-Fit” lên ngôi và “Best-of-Breed” dần lỗi thời 142/201 - 10 Aug 2020
Bạn có biết quy tắc thất bại nhanh: Fail early, fail often, fail cheap, but always fail forward 142/315 - 11 Dec 2025
Vì Sao Hệ Thống Báo Cáo Trong Phần Mềm Kế Toán Luôn Được Đánh Giá Là Khó Nhất? 139/156 - 04 Jan 2023
Phát triển phần mềm linh hoạt theo mô hình Big Bang 134/955 - 14 Sep 2021
COQ (Cost of quality) áp dụng cho chất lượng phần mềm như thế nào? 132/246 - 19 Feb 2026
Trí tuệ nhân tạo (AI) không tạo ra tương lai… mà đang tái thiết thời Trung cổ 132/152 - 12 May 2024
Groan Zone là gì? Khi mọi quan điểm va chạm, đâu là cách biến Groan Zone thành động lực đổi mới? 131/183 - 15 May 2025
Hiệu quả năng lượng trong phần mềm (Energy Efficiency in Software) là gì? 131/226 - 11 Sep 2024
Mindset, skillset, toolset là gì? 131/620 - 18 Mar 2018
Dịch vụ Hosting cho Website là gì? Các lời khuyên chọn Hosting tốt nhất 130/474 - 25 Mar 2026
Trí tuệ nhân tạo (AI) đang khiến phần mềm trở nên rẻ và ít giá trị hơn. Sự thật là gì? 130/153 - 01 Apr 2023
Bí quyết đàm phán tạo ra giá trị từ câu chuyện Chia Cam 128/783 - 20 Dec 2022
Bài học quản lý nhân sự từ một trận chung kết bóng đá 125/474 - 09 Aug 2024
Latency (độ trễ) là gì? 125/305 - 05 Sep 2025
“Lời Khuyên”: Thuận lý thì ít, nghịch lý thì nhiều. Suy nghĩ không giống nhau thì không nên khuyên nhau. 123/223 - 12 Jul 2021
Để chuyển đổi số, cần “bẻ gãy” (disrupt) trong tư duy 121/354 - 02 Aug 2021
Product Owner làm gì trước khi bắt đầu sprint đầu tiên của dự án (Sprint Zero)? 121/513 - 17 Feb 2018
Hệ luỵ khi sử dụng Web Hosting từ nhà cung cấp kém chất lượng 120/347 - 11 Sep 2025
Lightning Decision Jam: Quy trình Siêu tốc để Giải quyết Mọi Vấn đề 119/183 - 11 Sep 2022
Từ truyện “Thầy bói xem voi” tới quản trị bằng Tư Duy Hệ Thống 118/474 - 14 May 2024
Chiến lược răng lược là gì? Làm thế nào để tận dụng chiến lược răng lược trong kinh doanh? 116/377 - 23 Jun 2024
Người trí tuệ không tranh cãi ĐÚNG/SAI 115/618 - 01 Apr 2022
Chi phí nhà thầu phụ chiếm bao nhiêu phần trăm gói thầu? 114/299 - 06 Dec 2025
Sức mạnh của phương pháp 30-for-30: Bạn đã bao giờ cam kết 30 ngày liên tục cho một mục tiêu? 105/159 - 05 Mar 2026
Know-how: Khoảng cách giữa "Biết" và "Thấu" 105/129 - 02 Apr 2026
Thực tế khắc nghiệt phía sau visa H-1B và "giấc mơ lập trình" 103/119 - 12 Jul 2023
Vì sao ngày càng nhiều dự án phần mềm thất bại? 101/706 - 08 Sep 2025
Tâm Lý Phản Kháng (Reactance): Vì Sao Càng Cấm, Người Ta Càng Muốn Làm? 100/251 - 07 Aug 2019
Câu chuyện thanh gỗ ngắn và bài học kinh doanh cho Doanh nghiệp 98/614 - 01 May 2023
[Tư vấn CNTT] Quản lý ngân sách CNTT cho doanh nghiệp 97/331 - 05 Dec 2022
Hỏi 5 lần (5 WHYs) – Kỹ thuật "đào" tận gốc cốt lõi vấn đề 97/339 - 15 Aug 2025
Dự án phần mềm bị trì hoãn và vấn đề "akrasia" 94/180 - 11 Apr 2025
Dữ liệu sống – nền tảng cốt lõi cho sự sinh tồn và phát triển trong kỷ nguyên số 94/152 - 01 Aug 2022
Bí quyết số 1 cho doanh nghiệp 4.0 với 10 chiến lược phát triển năng lực nhân sự CNTT 93/285 - 08 Mar 2020
Vì sao doanh nghiệp cần phải tạo Web bán hàng? 93/268 - 23 Sep 2024
Lỗi FUBAR trong phần mềm là gì? 88/247 - 08 Mar 2022
Mô hình nguồn mở hoạt động ra sao? 82/322 - 22 Apr 2026
Thời Đại Của Tiêu Dùng Bản Sắc (Identity Consumerism) Đang Lên Ngôi Như Thế Nào? 68/81 - 09 Apr 2026
"Cái bẫy của sự thành thạo" là gì? 59/62 - 23 Jul 2026
Phân Loại Project Manager (Quản Lý Dự Án): Phần lớn chúng ta thường hiểu sai? 43/47 - 09 Apr 2026
6 Nghịch Lý Đạo Đức Phổ Biến Nhất Thế Kỷ 21 29/146 - 11 Mar 2025
Thiên hướng Hành động (Bias for Action) và Thiên hướng Quy trình (Bias for Process) tác động tiêu cực tới "đổi mới và sáng tạo" như thế nào? 27/198 - 08 Jan 2022
Yêu cầu thay đổi (Change Request) là gì? Làm thế nào để kiểm soát Change Request? 11/612 - 13 Mar 2024
Vì sao Man-Month vẫn còn được sử dụng trong ngành công nghệ phần mềm? 4/205 - 16 Jul 2025
"Quản Trị Kỳ Vọng" là gì? Làm thế nào để nhận biết kỳ vọng "phi thực tế"? 4/8 - 01 Aug 2022
"Sponsored Content" là gì? Khác nhau giữa Sponsored Content và Native Advertising? 3/1136 - 12 May 2021
Các yêu cầu thay đổi (Change Requests) - nỗi ám ảnh của team dự án phần mềm 1/639 - 18 May 2021
Cây cầu hiện đại vô dụng nhất thế giới và câu chuyện cái kết của thay đổi yêu cầu /933
Trong nhiều trường hợp các kĩ sư nhận được công việc và được yêu cầu phải đưa ra estimate. Vì vậy trong bài viết này tôi sẽ giải thích về đơn vị cũng như cách tính toán nhân công đặc trưng như man-month, man-day (được gọi chung bằng từ "công số") và các phân bổ estimate của các kĩ sư trong cách viết estimate document để giao cho khách hàng.
Ngày công của kĩ sư phần mềm và đơn vị man-month
Trong tài liệu estimate chi phí, cần tính toán số nhân công để đưa ra được số tiền dự toán cần thiết. Nhân công nghĩa là số lượng công việc tính trên 1 người, được tính bằng đơn vị man-month hoặc man-day. Để tính toán nhân công, ta lấy man-day x chi phí ngày công. Đối với dự án outsource, thì chi phí được trả theo giờ (billable hour). Có nghĩa là, thù lao của kĩ sư là số tiền được trả ứng với số giờ lao động, chứ không phải ứng với sản phẩm được hoàn thành. Những người có năng lực kĩ thuật cao sẽ có năng lực làm việc cao, và chỉ cần số nhân công ít để hoàn thành công việc.
Có rất nhiều cách tính toán man-month, man-day. Giá của 1 man-month phụ thuộc và thay đổi theo kinh nghiệm cũng như khả năng kĩ thuật. Chi phí phụ thuộc tùy vào từng quốc gia. Chi phí man-month ở các nước phát triển như Mỹ, Tây Âu khá cao. Ở châu Á thì thấp hơn. Ở Nhật Bản, man-month nhìn chung rơi vào khoảng từ 50 vạn yên (96 triệu VNĐ) đến 150 vạn yên (288 triệu VNĐ).
Tính toán số tiền dự toán
Khi đưa ra số tiền dự toán, trước tiên cần tìm số nhân công từ quy mô của công việc. Lấy số nhân công đó nhân với giá của man-month hoặc man-day sẽ ra được số tiền dự toán. Tuy trên công thức là vậy song có nhiều trường hợp cần cộng thêm các chi phí khác cũng như nhân công quản lý, chi phí tài liệu… rồi mới đưa ra được số tiền dự toán. Hơn nữa, ngay trước khi hoàn thành cũng có thể xảy ra những thay đổi không thể dự đoán được nên thông thường sẽ thêm vào khoảng 20% nhân công thực tế rồi mới tính toán và đưa ra số tiền dự toán.
Hợp đồng khoán sản phẩm
Trong nhiều trường hợp, kỹ sư phần mềm sẽ nhận công việc với cách tính toán nhân công như phía trên, nhưng cũng có trường hợp làm theo hợp đồng khoán sản phẩm.Trong hợp đồng khoán sản phẩm, phía khách hàng sẽ quyết định giá của sản phẩm. Khi đó, khách hàng cũng sẽ quyết định số nhân công dự tính nên trong trường hợp này rõ ràng để khách hàng viết hợp đồng khoán sản phẩm sẽ có hiệu quả hơn. Ngoài ra, dù trong trường hợp dùng hợp đồng khoán sản phẩm thì phía kỹ sư phần mềm nhận công việc cũng cần tính toán số tiền dự toán và xác nhận xem có sự khác biệt so với số tiền phía khách hàng đưa ra hay không.
Điều kiện tiền đề của việc estimate
Khi thực hiện estimate, không chỉ việc viết dự toán mà còn cân nhắc cả việc quyết định những điều kiện tiền đề sẽ giúp tránh được những phiền toái, vấn đề về sau này. Cần quyết định những điều kiện tiền đề được thống nhất và hiểu rõ bởi cả 2 bên khách hàng và kĩ sư.
Về phạm vi estimate và ngoài phạm vi estimate
Cần phải giải thích rõ ràng xem phạm vi estimate của hệ thống là tới đâu, và vì có những trường hợp dùng văn bản thì sẽ không truyền tải được hết nên nếu có thể nên kèm theo cả một bản phụ lục hoặc sơ đồ riêng về cấu trúc cấu thành hệ thống. Hơn nữa những mục không nằm trong hệ thống như hướng dẫn người dùng cũng cần quyết định trước xem có thực hiện hay không.
Kì hạn của dự án
Việc thiết lập thời gian hoàn thành sản phẩm cũng là rất quan trọng khi thực hiện estimate.Ví dụ như dù có là trường hợp 2 man-month đi chăng nữa thì việc tập trung hoàn thành trong 2 tháng sẽ khác với làm từ từ từng chút một trong 10 tháng. Thông thường thì nếu thời gian hoàn thành và giao nộp sản phẩm ngắn thì số tiền dự toán thường cao, còn nếu thời gian dài thì sẽ có thương lượng để giảm giá xuống.
Phân bổ tỉ lệ chi phí dự toán phần mềm
Khi bắt đầu nhận yêu cầu dự án, các kỹ sư gặp khó khăn khi cần ra dự toán gấp. Các kỹ sư sẽ estimate từng tính năng, sau đó nhân trọng số và cộng lại ra tổng chi phí kỹ thuật. Khi gửi cho khách hàng cũng vội vàng dẫn đến bỏ qua các chi phí khác. Đây là điểm "yếu" chết người của rất nhiều kỹ sư phần mềm.
Mỗi công ty đều có công thức lập dự toán khác nhau, tuy vậy có những cách làm chung không nằm ngoài quy luật logic. Thí dụ, bảng phân phối nguồn lực của một dự án phần mềm được xác định như sau:
Bảng phân phối tỷ lệ nguồn lực tham gia dự án phần mềm
Tùy vào đặc điểm của dự án và các điều kiện tiền đề như đã nói ở trên mà các tỷ lệ có thể khác nhau. Thí dụ dự án đã có nghiệp vụ phân tích khảo sát đầy đủ (requirement spec) thì Reqmt specification có rate là 0%. Dự án là phiên bản nâng cấp thì Deployment có rate = 0. Dự án không có nhiều nghiệp vụ, thì tỷ lệ Testing có thể giảm xuống.
Các chú ý khi lập dự toán theo man-month
Chúng ta sẽ thấу rất khó chịu khi phải làm ᴠiệc ᴠới những dự án bắt buộc phải ước tính ra bao nhiêu Man-Month (haу dùng đơn ᴠị khác là “ngàу-công”), mặc dù biết rất rõ những ước lượng kiểu nàу chỉ để mà … ước lượng. Còn đâу là lời của Brookѕ hơn 40 năm trước: “Man ᴠà Month (haу con người ᴠà thời gian) không để hoán đổi, cẩn thận ᴠới khái niệm Man-Month. Thêm người ᴠào dự án chậm tiến độ chỉ làm chậm tiến độ thêm mà thôi”. Thời điểm đó có thể có người còn chưa đồng ý, nhưng ngàу naу thì cái được biết đến ᴠới tên “Định luật Brookѕ” nàу đã được khá nhiều nhà quản trị dự án quán triệt rất kĩ.
Mặc dù tập trung ᴠào những ᴠấn đề liên quan tới con người trong ᴠiệc quản lí dự án phần mềm, Brookѕ đã đi хa hơn rất nhiều để thảo luận kĩ ᴠề những ᴠấn đề liên quan đến công cụ, phương pháp, quу trình haу tổ chức để tìm kiếm một ѕự hiểu biết thấu đáo ᴠà đầу đủ trong lĩnh ᴠực quản trị dự án ᴠà phát triển phần mềm. “The Mуthical Man-Month” trở thành kinh điển có lẽ bởi người đọc nó không chỉ có được một cái nhìn toàn cảnh, mà còn là cái nhìn rất ѕâu ѕắc ᴠượt thời gian của một người giàu kinh nghiệm trong ngành.
Con người quуết định tất cả, công cụ chỉ là cái phục ᴠụ cho con người thực hiện tốt hơn công ᴠiệc của mình (Agile Manifeѕto nói: cá nhân ᴠà tương tác hơn là quу trình ᴠà công cụ”). Man ᴠà Month (haу con người ᴠà thời gian) không để hoán đổi, cần cẩn thận trong ᴠiệc dùng Man-Month làm độ đo để ước tính ᴠà lập kế hoạch (Agile tránh ước lượng ra MM một cách cứng nhắc, mà tập trung ᴠào các kĩ thuật thích ứng – adaptiᴠe - trong lập kế hoạch).
Tổng hợp








Link copied!
Mới cập nhật
thực chiến - Kiến tạo tương lai cho các nhà sáng tạo nội dung.