Nhiều chủ doanh nghiệp trì hoãn việc liên hệ đội thuê ngoài vì nghĩ mình phải có sẵn một bản đặc tả kỹ thuật dày, với sơ đồ dữ liệu và danh sách màn hình. Thực tế ngược lại: buổi trao đổi đầu tiên hỏng thường không phải vì thiếu tài liệu kỹ thuật, mà vì bên thuê chưa nói rõ được mình đang giải quyết vấn đề gì.
Đội lập trình giỏi có thể giúp bạn biến nhu cầu thành phạm vi công việc. Nhưng họ không đoán được thay bạn việc kinh doanh đang vướng ở đâu, ai sẽ dùng phần mềm, và điều gì là bắt buộc. Bài này đi qua những thứ nên chuẩn bị, tất cả đều viết bằng ngôn ngữ của người làm kinh doanh.
Một trang mô tả dự án là đủ để bắt đầu
Bạn không cần viết dài. Một trang, trả lời sáu câu dưới đây, đã giúp buổi đầu đi thẳng vào việc chính.

- Vấn đề đang gặp. Mô tả bằng tình huống thật: "Cuối tháng, kế toán mất nhiều ngày gom số từ ba file Excel" rõ hơn nhiều so với "cần một hệ thống quản lý".
- Ai sẽ dùng. Nhân viên kho, thu ngân, quản lý chi nhánh, khách hàng của bạn… Mỗi nhóm dùng trên máy tính hay điện thoại, ở văn phòng hay ngoài hiện trường.
- Những việc phần mềm phải làm được. Viết theo dạng "người dùng làm gì, kết quả là gì". Không cần đặt tên màn hình hay chọn công nghệ.
- Hệ thống đang dùng. Phần mềm kế toán, file Excel, website, nhóm chat đang thay cho quy trình… Đây là thứ phần mềm mới sẽ phải thay thế hoặc kết nối.
- Ràng buộc. Mốc thời gian cố định (mùa cao điểm, ngày ra mắt), khoảng ngân sách bạn đang nghĩ tới, yêu cầu về dữ liệu hay ngôn ngữ.
- Thế nào là thành công. Sau khi dùng phần mềm, bạn mong thấy điều gì thay đổi trong công việc hằng ngày.
Nếu có sẵn, đính kèm thêm những thứ minh họa được cách làm hiện tại: mẫu phiếu, file Excel đang dùng, ảnh chụp màn hình phần mềm cũ. Một mẫu thật thường nói được nhiều hơn vài đoạn mô tả.
Tách việc bắt buộc khỏi việc "có thì tốt"
Danh sách mong muốn của dự án đầu tiên hầu như luôn dài hơn mức cần thiết. Trước buổi trao đổi, hãy chia danh sách thành ba nhóm:
- Bắt buộc: thiếu thì phần mềm không dùng được cho công việc chính.
- Nên có: giúp làm nhanh hơn, nhưng tạm làm tay vẫn được.
- Để sau: ý tưởng hay, có thể làm ở giai đoạn tiếp theo khi đã dùng thật.
Việc chia này giúp hai điều. Đội thuê ngoài đề xuất được phiên bản đầu gọn, ra mắt sớm hơn. Và khi phải cắt bớt vì thời gian hay ngân sách, bạn đã biết cắt ở đâu mà không phải quyết định vội trong buổi họp.
Chọn đúng người ngồi vào buổi trao đổi
Người ký hợp đồng thường không phải người dùng phần mềm hằng ngày. Nếu chỉ chủ doanh nghiệp tham dự, nhiều chi tiết quan trọng sẽ bị bỏ sót.
- Người quyết định: chốt ưu tiên và ngân sách.
- Người làm việc đó hằng ngày: kế toán, trưởng kho, trưởng cửa hàng — họ biết các trường hợp ngoại lệ mà sếp không thấy.
- Một đầu mối duy nhất về sau: người sẽ trả lời câu hỏi của đội lập trình trong suốt dự án. Đầu mối trả lời chậm hay mỗi lần một người trả lời khác nhau là nguyên nhân chậm tiến độ rất hay gặp.
Chuẩn bị câu hỏi cho phía đội thuê ngoài
Buổi đầu là để hai bên cùng đánh giá nhau. Ngoài chuyện giá, nên hỏi:
- Đội đề xuất mô hình hợp tác nào cho trường hợp của bạn, và vì sao: theo dự án, đội riêng theo tháng hay bổ sung nhân sự. Nếu chưa rõ khác nhau ra sao, xem bài chọn mô hình thuê ngoài lập trình.
- Bạn sẽ thấy tiến độ bằng cách nào: có được xem phần mềm chạy thật định kỳ không, báo cáo gồm những gì.
- Mã nguồn nằm ở đâu trong lúc làm, và bàn giao những gì khi kết thúc.
- Đội đã làm việc tương tự chưa, với công nghệ dự định dùng thì kinh nghiệm thực tế tới đâu.
- Thông tin dự án được bảo vệ ra sao trước khi bạn đưa số liệu, quy trình nội bộ hay dữ liệu khách hàng.
Câu trả lời cụ thể quan trọng hơn câu trả lời nghe hay. Đội nào nói được "chúng tôi sẽ làm thế này, bạn sẽ nhận được thế này" thường dễ làm việc hơn đội chỉ nói "việc gì cũng làm được".
Gửi cùng một đề bài để báo giá so sánh được
Nếu bạn hỏi nhiều nơi, hãy gửi cùng một trang mô tả cho tất cả. Mô tả bằng lời qua điện thoại cho mỗi nơi một kiểu thì mỗi nơi sẽ báo giá cho một phạm vi khác nhau, và con số thấp nhất chưa chắc là rẻ nhất.

Khi nhận báo giá, đặt chúng cạnh nhau và đọc theo cùng một danh sách:
- Phạm vi gồm gì, và ghi rõ không gồm gì. Phần "không gồm" là nơi chi phí phát sinh hay nằm.
- Mô hình và cách tính chi phí: chốt trọn gói theo phạm vi, hay tính theo tháng.
- Cách bạn theo dõi tiến độ và nghiệm thu.
- Những gì được bàn giao: mã nguồn, tài liệu, tài khoản quản trị.
- Yêu cầu thay đổi giữa chừng được xử lý thế nào.
Báo giá nào để trống nhiều dòng trong danh sách này thì hỏi lại trước khi so giá. Hai con số chỉ so được với nhau khi chúng trả lời cho cùng một đề bài.
Những điều chưa cần lo ở buổi đầu
Bạn không cần tự chọn ngôn ngữ lập trình, thiết kế cơ sở dữ liệu hay vẽ sẵn từng màn hình. Những việc đó là phần việc của đội kỹ thuật, và một đội làm nghiêm túc sẽ hỏi thêm để làm rõ phạm vi trước khi đưa ra con số. Nếu bên nào báo giá ngay khi chưa hỏi gì về cách bạn đang làm việc, đó là điều đáng để ý.
Cách HD Web Services làm
Với outsourcing, chúng tôi nhận cả ba mô hình: theo dự án thì phạm vi, tiến độ và chi phí chốt từ đầu; dedicated team và bổ sung nhân sự ký theo tháng. Điều kiện cụ thể được thống nhất trong buổi trao đổi đầu tiên, và chúng tôi ký thoả thuận bảo mật (NDA) trước khi trao đổi chi tiết dự án. Đội chủ yếu dùng React/Next.js, Vue/Nuxt.js, .NET, Flutter, NestJS, GraphQL và PostgreSQL; với công nghệ khác, chúng tôi nói rõ mức kinh nghiệm thực tế trước khi nhận việc. Trao đổi, tài liệu và báo cáo có thể bằng tiếng Việt hoặc tiếng Anh.
Nếu bạn đã có trang mô tả, hoặc mới chỉ có vài ý trong đầu, hãy kể cho chúng tôi nghe để cùng làm rõ phạm vi ngay trong buổi trao đổi đầu tiên.