Chi Phí Phát Triển Phần Mềm Theo Yêu Cầu: Gồm Những Gì Và Cách Đọc Báo Giá
Doanh nghiệp gửi cùng một yêu cầu phần mềm cho vài đơn vị và nhận về các báo giá chênh nhau đáng kể. Bài viết này giải thích chi phí phát triển phần mềm theo yêu cầu gồm những gì, vì sao báo giá chênh lệch và cách so sánh các báo giá trên cùng một mặt bằng.
Tóm tắt nhanh
Phần mềm theo yêu cầu không có một mức giá chung. Chi phí nằm ở năm nhóm việc: phân tích yêu cầu, thiết kế, lập trình và kiểm thử, triển khai, vận hành và bảo trì; lập trình và kiểm thử thường chiếm nhiều công nhất. Báo giá chỉ so sánh được khi dựa trên cùng một danh sách chức năng và ghi rõ nhóm nào nằm trong giá. Để giữ ngân sách, nên bắt đầu bằng bản đầu tiên (MVP) có điểm dừng và chia giai đoạn.
1. Phát triển phần mềm theo yêu cầu tốn bao nhiêu tiền?
Chi phí phát triển phần mềm theo yêu cầu không có mức chung, vì mỗi phần mềm khác nhau về số chức năng, nền tảng, hệ thống cần kết nối, dữ liệu cần chuyển đổi và yêu cầu bảo mật. Con số đáng tin chỉ có sau khi chốt danh sách chức năng và phạm vi từng giai đoạn.
Phần mềm theo yêu cầu, hay phần mềm may đo, được xây riêng theo quy trình và dữ liệu của từng doanh nghiệp (xem viết phần mềm theo yêu cầu: quy trình 5 bước và các loại phổ biến). Do đó, giá viết phần mềm theo yêu cầu trên thị trường chênh rất xa, chủ yếu do phạm vi chứ không do đơn giá: số màn hình, vai trò người dùng, có thêm ứng dụng di động không, hệ thống cũ đã có API chưa, dữ liệu cũ sạch đến đâu.
2. Chi phí phần mềm theo yêu cầu gồm những nhóm nào?
Chi phí phần mềm theo yêu cầu gồm năm nhóm theo vòng đời dự án: phân tích yêu cầu, thiết kế, lập trình và kiểm thử, triển khai, vận hành và bảo trì. Lập trình và kiểm thử chiếm nhiều công nhất, nhưng phát sinh thường đến từ phân tích sơ sài và triển khai bị tính thiếu.

| Nhóm chi phí | Gồm những việc gì | Yếu tố đẩy chi phí lên | Cách giữ chi phí gọn |
|---|---|---|---|
| Phân tích yêu cầu | Khảo sát quy trình, lập danh sách chức năng và tiêu chí nghiệm thu | Phòng ban chưa thống nhất quy trình; người quyết định vắng mặt | Cử một đầu mối chốt yêu cầu; gửi sẵn file Excel đang dùng |
| Thiết kế | Luồng màn hình, bản mẫu giao diện bấm thử, kiến trúc | Giao diện nhiều hiệu ứng; sửa thiết kế sau khi đã duyệt | Duyệt bản mẫu trước khi lập trình |
| Lập trình và kiểm thử | Xây chức năng, kết nối API, kiểm thử chức năng, hiệu năng, bảo mật | Nghiệp vụ phức tạp; hệ thống cũ không có API; thành phần AI cần chuẩn bị dữ liệu | Dời chức năng chưa cần sang giai đoạn sau; dùng dịch vụ có sẵn cho phần phổ thông |
| Triển khai | Dựng hạ tầng, chuyển và làm sạch dữ liệu cũ, đào tạo, chạy song song | Dữ liệu phân tán, thiếu chuẩn; nhiều chi nhánh | Làm sạch dữ liệu sớm; đào tạo người hướng dẫn nội bộ trước |
| Vận hành, bảo trì | Hạ tầng cloud, giám sát, cập nhật bảo mật, hỗ trợ người dùng | Cam kết phản hồi ngày đêm; dịch vụ bên thứ ba tính theo lượt | Chọn mức cam kết vừa đủ; theo dõi chi phí hạ tầng hằng tháng |
Hai nhóm đầu tốn ít công nhưng quyết định độ chính xác của mọi con số phía sau; nhóm cuối kéo dài suốt những năm vận hành. Chi tiết từng bước có trong bài 7 giai đoạn của quy trình phát triển phần mềm.
3. Vì sao cùng một yêu cầu mà các báo giá chênh nhau đáng kể?
Các báo giá chênh nhau chủ yếu vì mỗi đơn vị hiểu phạm vi và đặt giả định theo cách riêng: có bên tính đủ năm nhóm chi phí, có bên chỉ tính lập trình; có bên cộng sẵn dự phòng, có bên để thành phát sinh. Trong nhiều trường hợp, nguyên nhân chính là phạm vi chứ không phải đơn giá nhân sự.
- Phạm vi hiểu khác nhau. Một dòng “quản lý đơn hàng” có thể là ba màn hình hoặc ba chục màn hình. Yêu cầu càng ngắn, báo giá càng chênh.
- Nhóm chi phí trong giá khác nhau. Có bản gồm thiết kế, kiểm thử, triển khai, bảo hành; có bản chỉ tính công lập trình.
- Giả định khác nhau. Số người dùng, khối lượng dữ liệu cũ, ai chuẩn bị nội dung; giả định không ghi ra thì không kiểm tra được.
- Mức chất lượng khác nhau. Kiểm thử tự động, rà soát bảo mật, tài liệu kỹ thuật không hiện ra trong bản demo.
- Mô hình giá khác nhau. Báo giá trọn gói thường đã cộng dự phòng rủi ro; báo giá theo thời gian thì không, nên con số ban đầu thấp hơn.
- Dựng trên nền tảng low-code hoặc mã nguồn dùng lại. Giá thấp hơn, nhưng quyền sở hữu mã nguồn có thể bị giới hạn theo giấy phép.
Vì vậy, câu hỏi đúng không phải bên nào rẻ hơn, mà là với cùng danh sách chức năng, mỗi bên đã tính gì và còn để ngỏ gì.
4. So sánh hai báo giá phần mềm cần kiểm tra những gì?
Để so sánh hai báo giá phát triển phần mềm theo yêu cầu, hãy đặt chúng cạnh cùng một danh sách chức năng rồi kiểm tra sáu điểm: phạm vi, giả định, xử lý thay đổi, nghiệm thu, bàn giao mã nguồn và tài liệu, bảo hành với bảo trì. Thiếu điểm nào, chi phí dễ lệch ở đó.
| Điểm cần kiểm tra | Câu hỏi nên đặt cho bên báo giá | Dấu hiệu cần làm rõ |
|---|---|---|
| Phạm vi | Chức năng có chi tiết đến từng màn hình, vai trò? Phần nào để giai đoạn sau? | Chỉ vài dòng tổng như “phân hệ bán hàng” |
| Nhóm chi phí trong giá | Đã gồm thiết kế, kiểm thử, chuyển dữ liệu, đào tạo chưa? | Không tách được khoản nào cho việc nào |
| Giả định | Báo giá dựa trên bao nhiêu người dùng, dữ liệu cũ, hệ thống cần kết nối? | Không có mục giả định |
| Thay đổi yêu cầu | Yêu cầu mới được ước lượng, tính phí và ai duyệt? | “Thay đổi nhỏ không tính phí” mà không định nghĩa “nhỏ” |
| Nghiệm thu | Tiêu chí từng mốc là gì, ai ký, lỗi phát hiện xử lý ra sao? | Chỉ một lần nghiệm thu cuối dự án |
| Mã nguồn, tài liệu | Mã nguồn, tài liệu, tài khoản hạ tầng bàn giao khi nào? Thành phần có sẵn của bên bán có giới hạn quyền dùng không? | Không nhắc mã nguồn, hoặc phải mua thêm |
| Bảo hành, bảo trì | Bảo hành bao lâu, sửa lỗi gì? Bảo trì gồm gì, phản hồi trong bao lâu? | Hai khái niệm gộp chung một dòng |
| Chi phí bên thứ ba | Hạ tầng, bản quyền, tin nhắn, cổng thanh toán do ai đứng tên và chi trả? | Không đề cập chi phí vận hành hằng tháng |
Bảng này cũng là căn cứ cho hồ sơ trình duyệt nội bộ: khi thủ tục mua sắm cần lý do chọn nhà cung cấp, “cùng phạm vi, điều khoản rõ hơn” thuyết phục hơn “giá thấp hơn”.
Bảo hành khác bảo trì như thế nào?
Bảo hành là sửa lỗi của chính phần mềm so với chức năng đã nghiệm thu, trong thời hạn và phạm vi ghi trong hợp đồng phát triển. Bảo trì là dịch vụ tiếp diễn sau đó: giám sát, sao lưu, cập nhật bảo mật, hỗ trợ người dùng, tính phí theo phạm vi.
5. Những chi phí ẩn nào thường không nằm trong báo giá?
Chi phí ẩn thường gặp gồm hạ tầng cloud, bản quyền và dịch vụ bên thứ ba, chuyển đổi dữ liệu cũ, phí mở kết nối hệ thống đang dùng, đào tạo, thời gian nhân sự nội bộ và bảo trì sau bảo hành. Các khoản này không bất thường; quan trọng là được nêu từ đầu.
- Hạ tầng: cloud, tên miền, chứng chỉ bảo mật; tăng theo người dùng và dữ liệu.
- Dịch vụ bên thứ ba: SMS, bản đồ, phí giao dịch thanh toán, mô hình AI tính theo lượt gọi.
- Bản quyền: cơ sở dữ liệu, thư viện trả phí, tài khoản phát hành ứng dụng. Hợp đồng nên ghi rõ quyền sở hữu phần mềm được phát triển.
- Kết nối: một số phần mềm kế toán, ERP tính phí mở API.
- Thời gian nội bộ: người dùng chính cần mô tả quy trình, góp ý bản mẫu, nghiệm thu; thiếu phần này, dự án chậm và tốn thêm.
Vượt ngân sách không phải chuyện riêng của doanh nghiệp nhỏ: theo nghiên cứu của McKinsey và Đại học Oxford (công bố năm 2012) trên 5.400 dự án CNTT quy mô lớn (trên 15 triệu USD), các dự án này vượt ngân sách trung bình 45% và mang lại giá trị thấp hơn 56% so với dự kiến. Đó là những dự án lớn hơn nhiều so với phần mềm của doanh nghiệp vừa và nhỏ, nhưng cho thấy rủi ro ngân sách cần được phòng từ khâu báo giá.
6. Trọn gói, theo thời gian hay đội ngũ riêng: mô hình nào giữ ngân sách tốt hơn?
Không có mô hình nào luôn rẻ hơn. Trọn gói phù hợp khi phạm vi đã rõ, ít thay đổi; theo thời gian phù hợp khi yêu cầu còn điều chỉnh theo phản hồi người dùng; đội ngũ riêng phù hợp khi doanh nghiệp có lộ trình dài hạn và người quản lý sản phẩm phía mình.
| Góc nhìn của bên thuê | Trọn gói (Fixed Price) | Theo thời gian (Time & Material) | Đội ngũ riêng (Dedicated Team) |
|---|---|---|---|
| Phù hợp khi | Phạm vi rõ, đã có bản mẫu và tiêu chí nghiệm thu | Sản phẩm mới, yêu cầu còn thay đổi | Phát triển liên tục nhiều giai đoạn |
| Ai chịu rủi ro thay đổi | Bên cung cấp; đổi lại giá có dự phòng, thay đổi tính riêng | Bên thuê | Bên thuê, nhưng chủ động điều phối |
| Rủi ro hay gặp | Phát sinh nhiều khi phạm vi ban đầu sơ sài | Kéo dài khi không ai chốt ưu tiên | Chi phí cố định khi khối lượng việc giảm |
Nhiều dự án kết hợp: trọn gói cho giai đoạn phân tích và bản mẫu, sau đó trọn gói từng giai đoạn hoặc theo thời gian. Ưu nhược điểm có trong bài mô hình Fixed Price và Time & Material trong định giá dự án; cách tính chi phí gia công phần mềm khi thuê cả đội phát triển có trong hướng dẫn thuê ngoài phát triển phần mềm: chọn mô hình, tính chi phí và chọn đối tác.
7. Làm sao để dự án phần mềm không vượt ngân sách?
Cách giữ ngân sách hiệu quả nhất là không cam kết toàn bộ khoản đầu tư ngay từ đầu: bắt đầu bằng bản đầu tiên (MVP) có điểm dừng rõ, chia dự án thành giai đoạn có đầu ra riêng, gắn thanh toán với mốc nghiệm thu và thống nhất quy trình duyệt thay đổi trước khi làm.
- Bắt đầu bằng bản đầu tiên có điểm dừng. Vài chức năng tạo giá trị rõ nhất được đưa vào dùng thật, rồi mới quyết định đi tiếp hay dừng. Xem MVP là gì và cách xây sản phẩm khả dụng tối thiểu; ý tưởng chưa chắc khả thi thì tìm hiểu sự khác nhau giữa PoC, prototype và MVP.
- Chia giai đoạn, mỗi giai đoạn một báo giá. Báo giá giai đoạn sau dựa trên dữ liệu sử dụng thật nên sát thực tế hơn.
- Gắn thanh toán với mốc nghiệm thu. Bên thuê nên đề nghị mỗi đợt thanh toán đi kèm một đầu ra kiểm tra được, như bản mẫu được duyệt hay dữ liệu đã chuyển xong.
- Thống nhất quy trình thay đổi. Yêu cầu mới được ước lượng, duyệt rồi mới đưa vào giai đoạn hiện tại hoặc dời sang giai đoạn sau.
- Dự phòng và đầu mối quyết định. Giữ một phần ngân sách dự phòng; cử một người có quyền chốt ưu tiên và tham gia nghiệm thu.
8. Nên viết phần mềm riêng hay dùng phần mềm có sẵn, SaaS?
Phần mềm có sẵn hoặc SaaS phù hợp khi quy trình phổ biến như kế toán, chấm công, bán hàng cơ bản và doanh nghiệp chấp nhận làm theo phần mềm. Viết riêng đáng đầu tư khi quy trình là lợi thế cạnh tranh, cần kết nối nhiều hệ thống, hoặc phí thuê bao và chỉnh sửa ngày càng tăng.
Khi so chi phí làm phần mềm riêng với SaaS, hãy so tổng chi phí qua nhiều năm. SaaS có phí thuê bao tăng theo người dùng, phí tùy chỉnh, kết nối và rủi ro nhà cung cấp đổi giá. Phần mềm may đo tốn nhiều hơn lúc đầu nhưng chia được theo giai đoạn; đổi lại doanh nghiệp sở hữu phần mềm theo hợp đồng và chủ động lộ trình.
Chúng tôi không đưa ra mốc hòa vốn chung vì mốc này phụ thuộc số người dùng và mức tùy chỉnh. Hướng kết hợp thường hợp lý: giữ phần mềm kế toán có sẵn, viết riêng phần lõi nghiệp vụ, kết nối hai bên qua API.
9. Savvycom lập báo giá và kiểm soát chi phí dự án như thế nào?
Savvycom lập báo giá từ danh sách chức năng. Sau buổi trao đổi bài toán, chúng tôi tách yêu cầu thành từng chức năng, ước lượng khối lượng, ghi rõ nhóm chi phí và giả định nằm trong giá, rồi đề xuất cách chia giai đoạn có đầu ra và tiêu chí nghiệm thu để doanh nghiệp chọn điểm bắt đầu.
- Phạm vi rõ ràng giảm lãng phí. Đội sản phẩm của một công ty fintech tại Úc từng quá tải vì backlog thiếu mô tả và tiêu chí nghiệm thu. Chuyên gia phân tích nghiệp vụ của Savvycom tái cấu trúc backlog, cùng các bên thống nhất phạm vi và tiêu chí nghiệm thu; nhịp bàn giao ổn định, thay đổi phạm vi giữa chừng giảm. Chi tiết: dự án tái cấu trúc backlog cho fintech tại Úc.
- Chuyển dữ liệu và tích hợp phải tính từ đầu. Hệ thống quản lý tài chính may đo cho Shinseung, một trong 10 công ty thuế hàng đầu Hàn Quốc, gồm cả tích hợp thanh toán tự động và chuyển đổi hơn 4.000 hợp đồng từ hệ thống cũ, những hạng mục báo giá sơ sài hay bỏ sót. Chi tiết: dự án số hóa quản lý hợp đồng và thanh toán cho Shinseung.
- Mô hình hợp tác ảnh hưởng trực tiếp đến chi phí. Với CLP Group, tập đoàn điện lực có trụ sở tại Hong Kong, mô hình mở rộng năng lực phát triển từ Việt Nam giúp CLP tiết kiệm 30% chi phí CNTT. Chi tiết: dự án mở rộng năng lực CNTT cho tập đoàn năng lượng CLP.
- Phát hành theo từng đợt nhỏ. Khi KNOWME, startup ứng dụng tìm việc bằng video tại Mỹ, đã có MVP, Savvycom đề xuất chia lộ trình thành các bản phát hành nhỏ để thu phản hồi người dùng sớm. Chi tiết: dự án đưa ứng dụng KNOWME từ MVP thành sản phẩm.
Một giới hạn cần nói rõ: nếu phần mềm có sẵn đã đáp ứng phần lớn nhu cầu, SaaS sẽ nhanh và tiết kiệm hơn, và chúng tôi sẽ khuyên như vậy. Khi quy trình đặc thù hoặc cần kết nối nhiều hệ thống, hãy tìm hiểu dịch vụ phát triển phần mềm theo yêu cầu của Savvycom.
Câu hỏi thường gặp về chi phí phát triển phần mềm
1. Giá thuê viết phần mềm là bao nhiêu?
Giá thuê viết phần mềm không có mức chung. Thị trường có hai cách tính phổ biến: trọn gói theo phạm vi đã chốt, hoặc theo thời gian thực làm. Đơn giá khác nhau theo kinh nghiệm và công nghệ, nên hãy so tổng chi phí cho cùng một danh sách chức năng thay vì so đơn giá.
2. Viết phần mềm theo yêu cầu là gì?
Viết phần mềm theo yêu cầu là xây một phần mềm riêng theo đúng quy trình, dữ liệu và hệ thống của doanh nghiệp, thay vì mua phần mềm đóng gói rồi đổi cách làm cho khớp. Doanh nghiệp quyết định chức năng, thứ tự triển khai và mức mở rộng.
3. Chi phí đăng ký bản quyền phần mềm là bao nhiêu?
Cụm từ này có hai nghĩa. Bản quyền phần mềm của bên thứ ba, như cơ sở dữ liệu hay thư viện trả phí, có thể nằm trong hoặc ngoài báo giá, cần hỏi rõ ai đứng tên và chi trả. Còn đăng ký quyền tác giả cho phần mềm mới là thủ tục riêng, ngoài chi phí phát triển.
4. Chi phí viết app bán hàng hiện nay là bao nhiêu?
Chi phí viết app bán hàng phụ thuộc app chỉ là kênh đặt hàng hay phải kết nối phần mềm bán hàng tại cửa hàng, kho, tích điểm, cổng thanh toán và đơn vị giao hàng. Nhiều doanh nghiệp bán lẻ bắt đầu bằng bản đầu tiên gồm đặt hàng và tích điểm, rồi bổ sung kết nối sau.
Doanh nghiệp cần một báo giá phần mềm rõ phạm vi, chia theo giai đoạn?
Gửi cho Savvycom mô tả bài toán hoặc danh sách chức năng mong muốn. Chuyên gia của chúng tôi sẽ cùng doanh nghiệp chốt phạm vi bản đầu tiên, làm rõ giả định và đề xuất cách chia giai đoạn sau buổi trao đổi.
Xem dự án thực tế: Shinseung: số hóa quản lý hợp đồng và thanh toán
Điện thoại: +84 24 3202 9222
Hotline: +84 352 287 866
Email: [email protected]
