Chọn công ty phát triển phần mềm đặt làm riêng là đánh giá ba thứ: họ có hiểu bài toán của bạn không, họ có làm ra phần mềm chạy ổn định không, và họ có ở lại đủ lâu để bảo trì không. Giá chỉ có ý nghĩa sau khi ba câu đó có câu trả lời. Một đơn vị rẻ hơn 30% nhưng giao chậm sáu tháng, hoặc bỏ dự án giữa chừng, là lựa chọn đắt nhất.
Khác với mua phần mềm đóng gói, nơi bạn dùng thử được sản phẩm trước khi trả tiền, đặt làm phần mềm là mua một năng lực và một quá trình. Thứ bạn đánh giá được trước khi ký chỉ là dấu vết của quá trình đó ở khách hàng cũ và những gì đội ngũ thể hiện trong vài tuần làm việc chung. Bài này đưa ra bộ tiêu chí, cách kiểm tra thực chất từng tiêu chí, và vì sao một dự án thử có trả phí thường đáng giá hơn mọi bài thuyết trình.
Một lưu ý trước khi bắt đầu: hãy chắc rằng bạn đã quyết định đúng loại nhà cung cấp. Nếu bài toán đã có phần mềm đóng gói đáp ứng tốt, thứ bạn cần là đối tác triển khai sản phẩm đó, không phải công ty viết phần mềm từ đầu; câu hỏi này được bàn ở bài mua có sẵn hay đặt làm riêng cùng chuyên mục. Còn nếu đã chắc phải đặt làm, mọi tiêu chí dưới đây đều xoay quanh một ý: giảm khoảng cách giữa điều nhà cung cấp hứa và điều bạn kiểm chứng được trước khi ký.
Bộ tiêu chí và cách kiểm chứng
Mỗi tiêu chí đi kèm một cách kiểm chứng, vì nhà cung cấp nào cũng tự nhận đạt tất cả. Bảng dưới gợi ý chứng cứ nên đòi:
| Tiêu chí | Câu hỏi cốt lõi | Chứng cứ nên đòi |
|---|---|---|
| Hiểu nghiệp vụ | Họ đã làm bài toán giống bạn chưa? | Hai đến ba dự án cùng ngành hoặc cùng loại quy trình, được trình diễn sản phẩm đang chạy |
| Năng lực kỹ thuật | Kiến trúc, chất lượng mã, kiểm thử có bài bản không? | Buổi làm việc kỹ thuật với kiến trúc sư của họ, mẫu tài liệu kiến trúc, quy trình kiểm thử, tỷ lệ kiểm thử tự động |
| Quy trình quản lý dự án | Họ báo cáo, xử lý thay đổi, quản lý rủi ro thế nào? | Mẫu báo cáo tuần thật đã che tên khách, quy trình yêu cầu thay đổi, nhật ký rủi ro |
| Đội ngũ thực tế | Ai sẽ làm dự án của bạn? | Tên và hồ sơ người quản lý dự án, trưởng nhóm kỹ thuật; cam kết giữ người trong hợp đồng |
| Sức khoẻ doanh nghiệp | Họ có tồn tại sau ba năm không? | Thời gian hoạt động, quy mô nhân sự, tỷ lệ doanh thu từ khách lớn nhất, báo cáo tài chính nếu được |
| Bảo mật và tuân thủ | Dữ liệu của bạn có an toàn khi ở tay họ? | Chính sách bảo mật nội bộ, chứng nhận như ISO/IEC 27001 nếu có, cách quản lý truy cập môi trường thật |
| Bảo trì sau bàn giao | Ai sửa lỗi lúc hai giờ sáng? | Gói hỗ trợ cụ thể, thời gian phản hồi, đội trực, khách hàng đang được bảo trì |
Chứng nhận như CMMI hay ISO 9001 cho thấy tổ chức có quy trình được đánh giá, nhưng không bảo đảm đội cụ thể làm dự án của bạn tuân thủ quy trình đó. Hãy coi chứng nhận là điểm cộng, không phải bằng chứng thay cho kiểm tra trực tiếp.
Gọi khách hàng tham chiếu: hỏi gì để nghe được sự thật
Danh sách khách hàng tham chiếu do nhà cung cấp chọn, nên đương nhiên là những người hài lòng nhất. Giá trị của cuộc gọi nằm ở câu hỏi, không phải ở việc họ khen hay chê. Câu "anh chị có hài lòng không" gần như luôn được trả lời "có". Những câu hỏi lộ ra nhiều hơn là câu hỏi về sự kiện cụ thể.
Nên hỏi: dự án dự kiến bao lâu và thực tế bao lâu; ngân sách ban đầu và tổng chi cuối cùng; khi có bất đồng về phạm vi thì họ xử lý thế nào; người quản lý dự án có thay giữa chừng không; lỗi nghiêm trọng đầu tiên sau khi chạy thật là gì và mất bao lâu để sửa; nếu làm lại thì anh chị sẽ đòi điều gì trong hợp đồng mà lần trước không có. Câu cuối thường cho thông tin quý nhất.
Ngoài danh sách được đưa, hãy tự tìm một khách hàng cũ không có trong danh sách, qua quan hệ trong ngành hoặc từ chính danh mục dự án họ công bố. Một nhà cung cấp tốt không ngại việc này. Cũng nên hỏi khách hàng đã thôi dùng dịch vụ: lý do chia tay thường nói về năng lực dài hạn rõ hơn lý do ký hợp đồng.
Ghi chép các cuộc gọi theo cùng một mẫu để so sánh được giữa các nhà cung cấp, và để ý những gì người được hỏi ngập ngừng hoặc lảng sang chuyện khác. Một câu như "họ nhiệt tình lắm, cuối cùng cũng xong" thường che một dự án trễ đáng kể. Khi nghe thấy điều đó, hỏi tiếp bằng con số: trễ bao nhiêu tuần, phát sinh bao nhiêu phần trăm, và ai chịu phần phát sinh. Câu trả lời cụ thể quan trọng hơn mọi lời khen chung chung.
Dự án thử có trả phí: phép thử đáng tiền nhất
Với dự án có giá trị lớn, cách giảm rủi ro hiệu quả nhất là thuê hai nhà cung cấp dẫn đầu làm một phần việc nhỏ, có trả phí, trong hai đến bốn tuần. Phần việc nên là một lát cắt thật của hệ thống, chẳng hạn luồng tạo đơn từ đầu đến cuối, hoặc một tích hợp khó nhất với hệ thống kế toán. Gọi là dự án thử, giai đoạn khám phá hay bằng chứng khái niệm tuỳ quy ước, điểm chung là có sản phẩm bàn giao.
Bạn không chỉ đánh giá sản phẩm. Bạn quan sát cách họ đặt câu hỏi khi yêu cầu chưa rõ, cách họ báo tin xấu, có giao đúng hẹn không, mã nguồn có đọc được không, buổi họp có biên bản không. Đó là những thứ không bài thuyết trình nào cho thấy, và chúng dự báo khá tốt cách cả dự án sẽ diễn ra.
Trả phí là điểm mấu chốt. Yêu cầu làm thử miễn phí đẩy nhà cung cấp giỏi ra ngoài, hoặc nhận được sản phẩm làm vội bởi đội bán hàng, không phải đội sẽ làm thật. Chi phí dự án thử thường chỉ là phần nhỏ so với tổng giá trị, và sản phẩm của nó nhiều khi dùng tiếp được. Ghi rõ trong hợp đồng thử rằng bạn sở hữu mã nguồn và tài liệu làm ra.
So sánh các mô hình thuê ngoài
Ngoài câu hỏi "chọn ai", còn câu hỏi "thuê theo kiểu nào". Mỗi mô hình phân bổ quyền kiểm soát và rủi ro khác nhau:
| Mô hình | Cách hoạt động | Hợp với | Rủi ro chính |
|---|---|---|---|
| Dự án trọn gói | Nhà cung cấp chịu trách nhiệm giao sản phẩm theo phạm vi | Phạm vi rõ, bên đặt hàng ít năng lực kỹ thuật | Tranh chấp phạm vi, chất lượng bị ép để giữ giá |
| Đội ngũ chuyên trách | Thuê một đội làm riêng cho bạn, bạn điều phối ưu tiên | Sản phẩm phát triển liên tục, có Product Owner mạnh | Bạn chịu rủi ro năng suất, cần năng lực quản lý |
| Bổ sung nhân sự | Thuê từng người ghép vào đội của bạn | Đã có đội nội bộ, thiếu kỹ năng cụ thể | Phụ thuộc cá nhân, chuyển giao tri thức khó |
| Kết hợp | Giai đoạn đầu trọn gói, sau chuyển sang đội chuyên trách | Dự án lớn có giai đoạn ổn định và giai đoạn mở rộng | Ranh giới trách nhiệm lúc chuyển giao |
Mô hình quyết định cách viết hợp đồng và cách định giá, được bàn kỹ ở bài so sánh hợp đồng trọn gói và theo thời gian trên cùng chuyên mục. Ở bước chọn nhà cung cấp, chỉ cần chắc họ có kinh nghiệm thật với mô hình bạn định dùng.
Các tín hiệu cảnh báo trước khi ký
Không tín hiệu nào đủ để loại ngay, nhưng gặp từ ba tín hiệu trở lên thì nên dừng lại kiểm tra kỹ:
- Báo giá nhanh bất thường cho một yêu cầu phức tạp, không có câu hỏi làm rõ nào.
- Đồng ý mọi yêu cầu, không phản biện điều nào, không chỉ ra rủi ro nào.
- Không cho gặp người sẽ quản lý dự án và trưởng nhóm kỹ thuật trước khi ký.
- Giá thấp hơn mặt bằng các hồ sơ còn lại một khoảng lớn mà không giải thích được bằng giải pháp khác.
- Né câu hỏi về quyền sở hữu mã nguồn, hoặc chỉ giao bản đã biên dịch.
- Đòi tạm ứng phần lớn giá trị trước khi có sản phẩm trung gian nào.
- Không có quy trình yêu cầu thay đổi bằng văn bản, "cứ nhắn là bọn em làm".
- Danh mục dự án toàn tên khách lớn nhưng không cho liên hệ ai, không trình diễn được sản phẩm đang chạy.
- Nhân sự chủ chốt đang làm đồng thời nhiều dự án lớn khác.
Tín hiệu thứ hai đáng chú ý nhất. Một đội có kinh nghiệm sẽ luôn chỉ ra điều gì khó, điều gì nên bỏ, điều gì sẽ tốn hơn bạn nghĩ. Sự đồng ý trọn vẹn thường nghĩa là họ chưa hiểu bài toán, hoặc định giải quyết bất đồng bằng phát sinh sau này.
Quy trình chọn trong sáu bước
Gộp các phần trên thành một trình tự gọn, có thể áp dụng cho dự án từ vài trăm triệu đến vài tỷ đồng:
- Lập danh sách dài từ giới thiệu trong ngành, hội nhóm nghề nghiệp, danh mục dự án công khai; loại theo tiêu chí cứng như quy mô, kinh nghiệm cùng loại.
- Gửi RFI hoặc bảng câu hỏi ngắn, rút còn ba đến năm đơn vị.
- Phát RFP, chấm hồ sơ theo tiêu chí công bố trước; tổ chức buổi trình diễn theo kịch bản của bạn và buổi làm việc kỹ thuật.
- Gọi khách hàng tham chiếu và tự tìm thêm một khách cũ; kiểm tra thông tin doanh nghiệp.
- Với hai đơn vị dẫn đầu, làm dự án thử có trả phí nếu giá trị dự án đủ lớn.
- Đàm phán hợp đồng: phạm vi, mô hình giá, sở hữu mã nguồn, nhân sự chủ chốt, bảo hành, cam kết dịch vụ, điều kiện chấm dứt.
Ghi lại điểm số và lý do chọn ngay khi quyết định. Sáu tháng sau, khi dự án gặp khó, biên bản này giúp nhìn lại quyết định một cách công bằng thay vì đổ lỗi theo trí nhớ.
Câu hỏi thường gặp
Có nên chọn công ty phần mềm nước ngoài thay vì trong nước?
Tuỳ bài toán. Nhà cung cấp nước ngoài có thể mạnh về sản phẩm chuyên ngành, nhưng phần mềm nghiệp vụ gắn chặt với quy định Việt Nam như hoá đơn điện tử, thuế, bảo hiểm, cần đội hiểu luật nội địa. Chi phí phối hợp, múi giờ, ngôn ngữ và khả năng hỗ trợ tại chỗ cũng là chi phí thật. Nhiều doanh nghiệp chọn sản phẩm quốc tế với đối tác triển khai trong nước.
Thuê freelancer có rẻ và nhanh hơn không?
Với công cụ nhỏ, phạm vi rõ, freelancer giỏi có thể nhanh và rẻ hơn. Với hệ thống vận hành cốt lõi, rủi ro là phụ thuộc một người: ốm, bận, chuyển việc là dự án dừng. Nếu dùng freelancer, hãy đòi mã nguồn trên kho của bạn từ ngày đầu, tài liệu tối thiểu, và có người thứ hai đọc được mã.
Nên đánh giá mã nguồn của nhà cung cấp thế nào khi bên mình không có lập trình viên?
Thuê một chuyên gia độc lập vài ngày để rà soát mã mẫu, kiến trúc và quy trình kiểm thử. Chi phí nhỏ so với dự án, và họ phát hiện được những dấu hiệu như không có kiểm thử tự động, cấu hình mật khẩu ghi thẳng trong mã, cấu trúc rối. Điều kiện là chuyên gia không có quan hệ lợi ích với nhà cung cấp.
Nhà cung cấp lớn có luôn an toàn hơn nhà cung cấp nhỏ?
Không hẳn. Công ty lớn ổn định về tài chính nhưng dự án nhỏ của bạn có thể bị giao cho đội ít kinh nghiệm và xếp sau khách lớn. Công ty nhỏ chuyên sâu một ngành thường tận tâm hơn, nhưng rủi ro tồn tại cao hơn. Câu hỏi đúng là dự án của bạn chiếm tỷ trọng nào trong doanh thu của họ, và ai cụ thể sẽ làm.
Có nên chọn đơn vị đã làm phần mềm cũ để làm hệ thống mới?
Lợi thế là họ hiểu dữ liệu và quy trình hiện tại, chuyển đổi dễ hơn. Bất lợi là họ có xu hướng tái tạo cách làm cũ và vướng kiến trúc cũ. Nên mời họ tham gia cạnh tranh như mọi bên, chấm cùng tiêu chí, và cân nhắc kỹ nếu lý do muốn thay hệ thống chính là chất lượng làm việc của họ.
Khi nào nên dùng tư vấn độc lập trong việc chọn nhà cung cấp?
Khi giá trị dự án lớn so với quy mô doanh nghiệp, khi nội bộ không có ai từng quản lý dự án phần mềm, hoặc khi cần một bên trung lập để cân bằng ý kiến giữa các phòng ban. Tư vấn nên được trả phí cố định từ bên mua và cam kết không nhận hoa hồng từ nhà cung cấp, để tránh xung đột lợi ích.