Gia công phần mềm theo yêu cầu: quy trình và hợp đồng

Gia công phần mềm theo yêu cầu là cách doanh nghiệp giao cho một đơn vị bên ngoài xây dựng phần mềm riêng theo đúng nghiệp vụ của mình, thay vì mua phần mềm đóng gói hoặc tự tuyển đội ngũ. Mô hình này phù hợp khi bài toán đặc thù, cần ra mắt nhanh và doanh nghiệp muốn kiểm soát chi phí theo phạm vi công việc. Tuy nhiên, phần lớn tranh chấp trong các dự án thuê ngoài không đến từ kỹ thuật mà từ phạm vi mơ hồ, hợp đồng thiếu điều khoản và cách quản lý thay đổi. Trong bài này, Nosouno chia sẻ cách chuẩn bị, chọn hình thức hợp đồng, quy trình triển khai, các điều khoản bảo vệ quyền sở hữu mã nguồn và những sai lầm thường gặp, dựa trên kinh nghiệm làm việc với doanh nghiệp trong nước và doanh nghiệp có vốn nước ngoài.

Khi nào nên chọn gia công phần mềm theo yêu cầu?

Không phải bài toán nào cũng cần phát triển riêng. Doanh nghiệp nên cân nhắc gia công phần mềm theo yêu cầu trong các trường hợp sau, thay vì mua phần mềm đóng gói:

  • Nghiệp vụ đặc thù: quy trình sản xuất, phê duyệt, tính giá hay chăm sóc khách hàng không khớp với phần mềm có sẵn trên thị trường, việc tùy biến tốn kém hơn làm mới.
  • Phần mềm là lợi thế cạnh tranh: sản phẩm số, nền tảng phục vụ khách hàng hay hệ thống lõi mà doanh nghiệp muốn sở hữu và phát triển lâu dài.
  • Thiếu đội ngũ kỹ thuật nội bộ: tuyển dụng một đội đầy đủ phân tích nghiệp vụ, thiết kế, lập trình, kiểm thử mất nhiều thời gian và khó giữ người khi dự án kết thúc.
  • Cần tốc độ: thời điểm ra thị trường quan trọng hơn việc xây dựng năng lực nội bộ ngay từ đầu.
  • Phạm vi tương đối rõ: có thể mô tả được các chức năng chính và tiêu chí nghiệm thu.

Ngược lại, nếu yêu cầu thay đổi liên tục, sản phẩm cần phát triển nhiều năm và doanh nghiệp muốn trực tiếp điều phối từng lập trình viên, mô hình thuê đội ngũ chuyên trách thường phù hợp hơn. Nếu nhu cầu là một trung tâm phát triển dài hạn mang pháp nhân riêng tại Việt Nam, mô hình ODC là hướng cần xem xét. Lựa chọn đúng mô hình ngay từ đầu giúp tránh nhiều xung đột về sau.

Doanh nghiệp cần chuẩn bị gì trước khi thuê ngoài?

Chất lượng đầu vào quyết định phần lớn chất lượng đầu ra của một dự án gia công phần mềm theo yêu cầu. Trước khi làm việc với đơn vị gia công, doanh nghiệp nên chuẩn bị:

  • Mục tiêu và chỉ số thành công: phần mềm giải quyết vấn đề gì, đo bằng chỉ số nào sau khi đưa vào sử dụng.
  • Mô tả nghiệp vụ: quy trình hiện tại, các vai trò người dùng, biểu mẫu, báo cáo đang dùng; càng cụ thể càng giảm rủi ro hiểu sai.
  • Danh sách tính năng ưu tiên: tách nhóm bắt buộc cho phiên bản đầu tiên (MVP) và nhóm phát triển sau.
  • Ràng buộc kỹ thuật: hệ thống cần tích hợp, yêu cầu bảo mật, nơi lưu trữ dữ liệu, công nghệ mà tập đoàn bắt buộc sử dụng.
  • Ngân sách và mốc thời gian: khoảng ngân sách dự kiến giúp đơn vị tư vấn đề xuất phạm vi khả thi thay vì báo giá thiếu thực tế.
  • Đầu mối phía doanh nghiệp: người có thẩm quyền trả lời câu hỏi nghiệp vụ và duyệt kết quả theo từng chặng.

Nếu chưa đủ thông tin, doanh nghiệp có thể thuê một giai đoạn khảo sát riêng để cùng đơn vị gia công lập tài liệu yêu cầu phần mềm (SRS). Khoản đầu tư nhỏ này thường giúp báo giá gia công phần mềm sau đó chính xác hơn và hạn chế phát sinh.

Gia công phần mềm theo yêu cầu: quy trình và hợp đồng
Gia công phần mềm theo yêu cầu: quy trình và hợp đồng

Chọn hình thức hợp đồng: trọn gói hay theo thời gian?

Hình thức hợp đồng quyết định cách chia sẻ rủi ro giữa hai bên. Ba hình thức phổ biến trong gia công phần mềm theo yêu cầu, mỗi hình thức phù hợp một mức độ rõ ràng của phạm vi:

Tiêu chí

Trọn gói (Fixed price)

Theo thời gian (Time & Material)

Lai (giai đoạn trọn gói + thời gian)

Phù hợp khi

Phạm vi rõ, ít thay đổi

Yêu cầu chưa chốt, cần linh hoạt

Có MVP rõ, phần sau còn mở

Kiểm soát ngân sách

Cao, cố định từ đầu

Theo thực tế sử dụng

Cố định từng giai đoạn

Linh hoạt thay đổi

Thấp, mọi thay đổi cần phụ lục

Cao

Trung bình

Vai trò doanh nghiệp

Duyệt theo mốc nghiệm thu

Tham gia thường xuyên

Kết hợp cả hai

Khi so sánh báo giá gia công phần mềm, đừng chỉ nhìn tổng số tiền. Cần kiểm tra báo giá đã gồm những hạng mục nào: phân tích, thiết kế giao diện, kiểm thử, triển khai, tài liệu, đào tạo, thời gian bảo hành; giả định nào đang được áp dụng; điều gì xảy ra nếu ước lượng sai. Hai báo giá chênh lệch lớn thường do phạm vi hiểu khác nhau, không phải do năng lực chênh lệch.

Với dự án có yếu tố nước ngoài, hợp đồng cần thống nhất thêm ngôn ngữ ưu tiên, đồng tiền thanh toán, luật áp dụng, cơ quan giải quyết tranh chấp và nghĩa vụ thuế của từng bên. Đây là những điểm nên được rà soát pháp lý trước khi ký.

Quy trình gia công phần mềm theo yêu cầu 6 bước

Nosouno triển khai gia công phần mềm theo yêu cầu theo phương pháp Agile, chia dự án thành các chặng ngắn để doanh nghiệp thấy kết quả sớm và điều chỉnh kịp thời.

Bước 1: Khảo sát và chốt phạm vi

Phỏng vấn các bộ phận, lập danh sách chức năng, luồng nghiệp vụ, tiêu chí nghiệm thu và kế hoạch phát hành theo phiên bản.

Bước 2: Thiết kế giải pháp và giao diện

Đề xuất kiến trúc, công nghệ, mô hình dữ liệu, bản mẫu giao diện tương tác để doanh nghiệp duyệt trước khi lập trình.

Bước 3: Phát triển theo từng sprint

Mỗi sprint kéo dài vài tuần, kết thúc bằng buổi trình diễn phần mềm chạy được. Công cụ AI hỗ trợ lập trình được dùng để tăng tốc viết mã, viết kiểm thử, nhưng mọi đoạn mã đều qua rà soát của kỹ sư trước khi hợp nhất.

Bước 4: Kiểm thử liên tục

Kiểm thử tự động tích hợp vào quy trình CI/CD, kết hợp kiểm thử thủ công cho nghiệp vụ phức tạp và kiểm thử chấp nhận người dùng (UAT). Đây là bước giúp gia công phần mềm theo yêu cầu đạt chất lượng ổn định khi lên môi trường thật.

Bước 5: Triển khai và đào tạo

Đưa phần mềm lên hạ tầng chính thức, di chuyển dữ liệu, đào tạo người dùng và quản trị viên.

Bước 6: Bàn giao và bảo hành

Bàn giao mã nguồn, tài liệu kỹ thuật, tài khoản hạ tầng; hỗ trợ sửa lỗi trong thời gian bảo hành theo cam kết của hợp đồng gia công phần mềm theo yêu cầu.

Bảo vệ quyền sở hữu mã nguồn khi gia công phần mềm theo yêu cầu

Đây là phần nhiều doanh nghiệp xem nhẹ, và cũng là phần gây thiệt hại lớn nhất khi xảy ra tranh chấp trong gia công phần mềm theo yêu cầu. Hợp đồng cần làm rõ:

  • Quyền sở hữu mã nguồn: sản phẩm được phát triển riêng thuộc về doanh nghiệp đặt hàng sau khi thanh toán; phân biệt rõ với các thư viện, thành phần có sẵn mà đơn vị gia công chỉ cấp quyền sử dụng.
  • Mã nguồn mở: danh sách thư viện mã nguồn mở được dùng và loại giấy phép, tránh giấy phép có điều kiện buộc công khai mã nguồn sản phẩm thương mại.
  • Thỏa thuận bảo mật NDA: phạm vi thông tin mật, thời hạn bảo mật, nghĩa vụ của nhân sự tham gia dự án và chế tài khi vi phạm.
  • Dữ liệu cá nhân: nếu đơn vị gia công tiếp cận dữ liệu khách hàng thật, cần quy định vai trò xử lý dữ liệu theo Luật Bảo vệ dữ liệu cá nhân số 91/2025/QH15, áp dụng từ ngày 01/01/2026.
  • Kho mã nguồn: mã nguồn nên lưu trên kho do doanh nghiệp sở hữu hoặc có quyền truy cập liên tục, không đợi đến cuối dự án mới nhận.

Ký thỏa thuận bảo mật NDA trước khi chia sẻ tài liệu nghiệp vụ là bước nên làm ngay từ giai đoạn trao đổi ban đầu. Khi kết thúc hợp đồng gia công phần mềm theo yêu cầu, biên bản bàn giao mã nguồn cần liệt kê đủ kho mã, tài liệu và tài khoản để làm căn cứ xác lập quyền sở hữu.

Quản lý thay đổi yêu cầu để không vượt ngân sách

Thay đổi là điều chắc chắn xảy ra trong mọi dự án gia công phần mềm theo yêu cầu. Vấn đề không phải là tránh thay đổi mà là quản lý thay đổi yêu cầu có kiểm soát:

  • Quy trình yêu cầu thay đổi: mọi thay đổi được ghi nhận bằng văn bản, đánh giá ảnh hưởng đến phạm vi, chi phí, tiến độ trước khi thực hiện.
  • Danh sách công việc ưu tiên (backlog): doanh nghiệp chủ động sắp xếp lại thứ tự, đổi tính năng ít giá trị lấy tính năng quan trọng hơn mà không làm tăng tổng phạm vi.
  • Ngân sách dự phòng: dành một phần ngân sách cho thay đổi ngay từ khi lập kế hoạch.
  • Báo cáo minh bạch: tiến độ, khối lượng đã hoàn thành, rủi ro được cập nhật định kỳ để doanh nghiệp ra quyết định sớm.

Khi quản lý thay đổi yêu cầu tốt, hợp đồng trọn gói vẫn đủ linh hoạt, còn hợp đồng theo thời gian vẫn kiểm soát được chi phí. Đây cũng là tiêu chí nên hỏi khi đánh giá năng lực một đơn vị gia công phần mềm theo yêu cầu: họ xử lý yêu cầu thay đổi bằng quy trình nào, ai phê duyệt, thời gian phản hồi bao lâu và báo cáo ảnh hưởng ra sao. Câu trả lời cụ thể cho thấy đơn vị đó đã quen quản lý dự án thực tế.

Rủi ro thường gặp khi gia công phần mềm theo yêu cầu

Từ các dự án tiếp quản lại, chúng tôi thường gặp những sai lầm sau:

  • Chọn đơn vị chỉ dựa trên giá thấp: phạm vi bị cắt giảm ngầm, chất lượng mã kém, chi phí sửa chữa về sau vượt khoản tiết kiệm ban đầu.
  • Không có tiêu chí nghiệm thu: hai bên tranh cãi thế nào là “hoàn thành”.
  • Không nhận mã nguồn định kỳ: đến khi muốn đổi đơn vị mới phát hiện mã nguồn thiếu, không biên dịch được hoặc không có tài liệu.
  • Thiếu kiểm thử: phần mềm chạy được khi trình diễn nhưng lỗi khi có người dùng thật và dữ liệu thật.
  • Doanh nghiệp không tham gia: đội phát triển tự suy đoán nghiệp vụ, sản phẩm sai hướng đến cuối dự án mới phát hiện.

Khi chọn đối tác gia công phần mềm theo yêu cầu, nên xem dự án tương tự, gặp trực tiếp trưởng nhóm kỹ thuật, hỏi rõ quy trình kiểm thử, bảo mật và yêu cầu một giai đoạn làm thử ngắn nếu dự án lớn.

Câu hỏi thường gặp

Bao lâu thì có phiên bản đầu tiên? Tùy phạm vi MVP. Với Agile, doanh nghiệp thường thấy phần mềm chạy được sau vài sprint đầu và có thể đưa phiên bản tối thiểu vào sử dụng thử.

Gia công phần mềm theo yêu cầu có phù hợp doanh nghiệp nhỏ không? Có, nếu bắt đầu bằng phạm vi MVP gọn và mở rộng theo kết quả thực tế thay vì làm toàn bộ hệ thống một lần.

Doanh nghiệp nước ngoài thuê gia công phần mềm tại Việt Nam cần lưu ý thuế gì? Nghĩa vụ thuế phụ thuộc cấu trúc hợp đồng, nơi cung cấp và sử dụng dịch vụ. Nên rà soát với chuyên gia thuế trước khi ký.

Khi kết thúc dự án cần bàn giao mã nguồn những gì? Mã nguồn đầy đủ, hướng dẫn cài đặt, tài liệu kiến trúc, tài liệu API, kịch bản kiểm thử và quyền quản trị hạ tầng.

Làm sao tránh vượt ngân sách khi gia công phần mềm theo yêu cầu? Chốt phạm vi phiên bản đầu bằng tài liệu yêu cầu, quy định quy trình duyệt thay đổi, theo dõi tiến độ theo từng sprint và ưu tiên tính năng mang lại giá trị kinh doanh trước.

Vì sao nên chọn Nosouno gia công phần mềm theo yêu cầu?

  • Tư vấn từ bài toán kinh doanh: trước mỗi dự án gia công phần mềm theo yêu cầu, chúng tôi giúp doanh nghiệp chọn đúng mô hình, phạm vi MVP và hình thức hợp đồng trước khi viết dòng mã đầu tiên.
  • Hợp đồng chặt chẽ, minh bạch: quyền sở hữu mã nguồn, NDA, dữ liệu cá nhân và quy trình thay đổi được ghi rõ; thế mạnh pháp lý của Nosouno giúp doanh nghiệp FDI yên tâm về cấu trúc giao dịch.
  • Quy trình Agile kết hợp công nghệ mới: AI hỗ trợ lập trình có rà soát, CI/CD, kiểm thử tự động giúp rút ngắn thời gian mà vẫn giữ chất lượng.
  • Bàn giao định kỳ: mã nguồn luôn nằm trong tầm kiểm soát của doanh nghiệp, có thể chuyển cho đội nội bộ hoặc đơn vị khác tiếp tục phát triển bất cứ lúc nào.
  • Đồng hành sau ra mắt: bảo trì, nâng cấp và mở rộng tính năng khi nhu cầu kinh doanh thay đổi.
  • Làm việc song ngữ: thuận tiện cho công ty mẹ và đối tác nước ngoài.

Liên hệ Nosouno để được tư vấn giải pháp gia công phần mềm theo yêu cầu phù hợp với nghiệp vụ, ngân sách và lộ trình phát triển của doanh nghiệp bạn.