Lựa chọn giữa hợp đồng trọn gói và time and materials thường được đóng khung như một lựa chọn về rủi ro, điều đó đúng, rồi ngay sau đó bị xử lý sai, vì cả hai bên đều mặc định rằng rủi ro biến mất thay vì chỉ chuyển chỗ.

Rủi ro không biến mất. Trong thỏa thuận trọn gói, nhà cung cấp gánh rủi ro ước lượng sai và tính rủi ro đó vào con số họ đưa ra. Với time and materials, khách hàng gánh. Câu hỏi không bao giờ là phương án nào xóa được sự không chắc chắn. Câu hỏi là bên nào ở vị trí tốt hơn để quản lý nó, và cái giá của việc chuyển rủi ro có đáng trả hay không.

Phép thử dự đoán phương án nào sẽ hiệu quả: bạn có viết ra được “xong” nghĩa là gì, đủ chi tiết để hai người cùng đồng ý rằng trạng thái đó đã đạt được hay chưa? Nếu có, hợp đồng trọn gói là lựa chọn khả thi và nhiều khả năng là hợp lý. Nếu không viết ra được, hợp đồng trọn gói không xóa được sự mơ hồ, nó chỉ biến mọi bất đồng trong tương lai thành đàm phán thương mại thay vì một cuộc trao đổi kỹ thuật.


Hợp đồng trọn gói thực sự mua được gì

Sự chắc chắn về hóa đơn, và không gì khác. Cụ thể là nó không mua được sự chắc chắn về kết quả, về thời hạn hay về chất lượng, dù người mua thường tưởng rằng cả ba đi kèm sẵn.

Nó cũng có giá của nó. Nhà cung cấp báo giá trọn gói sẽ cộng thêm khoản dự phòng rủi ro, vì chính họ nuốt phần vượt, và quy mô khoản dự phòng đó tăng theo mức độ mơ hồ của đặc tả. Với phần việc được xác định rõ, khoản này có thể khiêm tốn. Với phần việc mô tả lỏng lẻo, nó có thể tiệm cận chi phí của chính công việc, và bạn vẫn trả dù rủi ro có xảy ra hay không.

Chi phí thứ hai thuộc về hành vi. Khi giá đã cố định, mọi điểm mơ hồ đều ngả về hướng làm ít đi, vì lợi ích của nhà cung cấp giờ nằm ở đó. Đây không phải sự thiếu thiện chí, đây là động cơ do chính hợp đồng tạo ra. Nhà cung cấp phát hiện một cách làm tốt hơn giữa chừng sẽ không có lý do gì để nêu ra, còn khách hàng nhận ra một yêu cầu đã sai thì phải đối mặt với một yêu cầu thay đổi chứ không phải một cuộc trao đổi.

Trọn gói phát huy tác dụng với phần việc thực sự có ranh giới: một cuộc di trú có nguồn và đích đã biết, một tích hợp với API đã có tài liệu, một tập màn hình xác định dựng theo thiết kế đã chốt. Nó phát huy rất kém với bất cứ việc gì mang tính khám phá.

Khi nào time and materials rẻ hơn

Trái với trực giác, điều đó xảy ra khá thường xuyên, vì bạn không trả khoản dự phòng rủi ro và không trả chi phí xử lý yêu cầu thay đổi.

Nó hợp với phần việc mà phạm vi chắc chắn sẽ thay đổi vì lý do chính đáng: phiên bản đầu tiên có hướng đi phụ thuộc vào điều người dùng thực sự làm, một tích hợp với hệ thống chưa ai viết tài liệu, một cuộc cứu chữa mã nguồn mà tình trạng chỉ lộ ra khi có người mở nó lên xem. Trong tất cả các trường hợp đó, hợp đồng trọn gói thực chất là giá cố định đặt lên một phỏng đoán.

Điều nó đòi hỏi ở khách hàng là sự chú ý. Time and materials mà thiếu tham gia sẽ thành hóa đơn không có điểm dừng, và kiểu hỏng hóc điển hình là một dự án chạy hàng tháng trời trong khi không ai hỏi tuần trước đã bàn giao được gì. Cơ chế kiểm soát không nằm ở hợp đồng, nó nằm ở vận hành: một backlog nhìn thấy được, một buổi demo theo nhịp đều đặn, và một người phía khách hàng có quyền thay đổi thứ tự ưu tiên.

Nếu bên bạn không ai dành được sự chú ý đó, hãy nói thẳng, vì time and materials sẽ không chạy tốt và không điều khoản nào sửa được chuyện này.

Phương án mà phần lớn dự án nên chọn

Một thỏa thuận có trần hoặc chia theo giai đoạn, vốn không thuộc hai kiểu trên và hợp với nhiều công việc phần mềm hơn cả hai.

Time and materials có trần. Công việc tính tiền theo thời gian, kèm một mức trần đã thỏa thuận. Khách hàng giữ được sự linh hoạt để đổi hướng, còn nhà cung cấp gánh phần rủi ro vượt trần. Cả hai bên đều còn lợi ích trong việc làm hiệu quả, điều mà không mô hình thuần túy nào đạt được.

Trọn gói theo giai đoạn. Một pha khảo sát ngắn có trả phí tạo ra bản đặc tả, và chỉ sau đó phần xây dựng mới được báo giá trọn gói trên một thứ có thật. Đây là phiên bản trung thực của giá cố định, vì ước lượng được đưa ra sau khi các ẩn số đã giảm bớt chứ không phải trước đó. Hướng dẫn viết hồ sơ mời thầu phần mềm của chúng tôi nêu rõ bản đặc tả đó cần chứa những gì.

Trọn gói theo từng phần tăng trưởng. Mỗi giai đoạn được báo giá riêng và chốt riêng. Bạn có được sự dự đoán ngân sách theo từng khối và quyền dừng lại, vốn là quyền giá trị nhất của một khách hàng và đúng là thứ mà hợp đồng trọn gói dài hạn lấy đi.

Sợi chỉ chung vẫn thế: độ chính xác của ước lượng cải thiện rất mạnh khi một phần công việc đã được làm. Thiết kế cấu trúc thương mại sao cho tận dụng được điều đó có giá trị hơn bất kỳ điều khoản nào.

Dự án trọn gói thực sự đổ vỡ ở đâu

Không phải ở giá. Ở ranh giới giữa phạm vi và thay đổi.

Mọi dự án trọn gói đều sinh ra yêu cầu thay đổi, vì đặc tả được viết trước khi có ai dùng thử sản phẩm. Sức khỏe của thỏa thuận phụ thuộc hoàn toàn vào cách xử lý các yêu cầu đó, và điều này được quyết định bởi mức độ chính xác khi định nghĩa phạm vi lúc ban đầu, chứ không phải bởi thiện chí của ai.

Hai việc giúp giảm ma sát. Hãy thống nhất bằng văn bản điều gì xảy ra với một thay đổi: ai đánh giá, định giá trên cơ sở nào, và trong bao lâu. Và hãy giữ một khoản dự phòng ở phía khách hàng nữa, vì giá cố định mà khách hàng không có ngân sách cho thay đổi sẽ biến mọi phát hiện mới thành một cuộc tranh cãi.

Thất bại phổ biến còn lại nằm ở nghiệm thu. Nếu hợp đồng không định nghĩa cách chứng minh đã hoàn thành, khoản thanh toán cuối trở thành đàm phán về quan điểm. Hãy ghi tiêu chí nghiệm thu ngay cạnh phạm vi, và ưu tiên tiêu chí có thể kiểm thử hơn tiêu chí phải phán đoán.

Chọn thế nào trong thực tế

Hãy hỏi điều gì thực sự chưa biết. Nếu câu trả lời là rất ít, trọn gói là hợp lý và bạn nên chuẩn bị trả một khoản dự phòng cho sự chắc chắn đó. Nếu còn rất nhiều thứ chưa biết, giá cố định chỉ biến sự bất định kỹ thuật thành ma sát thương mại.

Rồi hãy hỏi bạn giám sát được đến đâu. Time and materials thưởng cho sự chú ý và phạt sự vắng mặt của nó. Trọn gói đòi hỏi ở bạn ít hơn theo từng tuần và nhiều hơn ngay từ đầu, trong bản đặc tả, nơi sai sót rẻ hơn nhưng khó nhận ra hơn.

Và hãy hỏi sự chắc chắn đáng giá bao nhiêu. Đôi khi hội đồng quản trị cần một con số, và khoản dự phòng là cái giá công bằng cho con số đó. Đó là lý do chính đáng để chọn trọn gói, và là lý do tốt hơn nhiều so với việc tin rằng nó xóa được rủi ro.

Mecanik làm việc theo cả ba hình thức trong dịch vụ phát triển phần mềm, và thường khuyên dùng phiên bản chia giai đoạn nhất. Ước lượng đưa ra sau hai tuần khảo sát có giá trị hơn ước lượng đưa ra trước đó, với cả hai bên.



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

Hợp đồng trọn gói có an toàn hơn time and materials không? Nó dễ dự đoán hơn, đó không phải cùng một chuyện. Giá cố định chuyển rủi ro ước lượng sang nhà cung cấp, và họ tính rủi ro đó vào giá dưới dạng dự phòng, nên bạn trả khoản này dù rủi ro có xảy ra hay không. Nó mua sự chắc chắn về hóa đơn, không phải về kết quả, thời hạn hay chất lượng.

Khi nào time and materials rẻ hơn? Khi phạm vi chắc chắn sẽ thay đổi vì lý do chính đáng: phiên bản đầu tiên có hướng đi phụ thuộc vào hành vi người dùng, một tích hợp với hệ thống không có tài liệu, hoặc công việc trên mã nguồn mà tình trạng chỉ lộ ra khi có người mở lên xem. Khi đó bạn tránh được cả khoản dự phòng lẫn chi phí xử lý yêu cầu thay đổi, vì giá cố định ở đây chỉ là giá cố định đặt lên một phỏng đoán.

Time and materials có trần là gì? Là công việc tính tiền theo thời gian với một mức trần đã thỏa thuận. Khách hàng giữ được sự linh hoạt để đổi hướng, còn nhà cung cấp gánh rủi ro vượt trần. Cách này để cả hai bên cùng có lợi ích trong việc làm hiệu quả, điều mà cả trọn gói thuần túy lẫn time and materials thuần túy đều không làm được.

Vì sao dự án phần mềm trọn gói hay hỏng? Gần như luôn ở ranh giới giữa phạm vi và thay đổi, chứ không phải ở giá. Đặc tả được viết trước khi có ai dùng phần mềm, nên yêu cầu thay đổi là không tránh khỏi. Sức khỏe dự án phụ thuộc vào việc thống nhất trước ai đánh giá một thay đổi và định giá thế nào, cùng với việc khách hàng giữ ngân sách dự phòng của riêng mình.

Có nên đưa tiêu chí nghiệm thu vào hợp đồng không? Có, đặt ngay cạnh phạm vi. Nếu không có cách xác định để chứng minh đã hoàn thành, khoản thanh toán cuối trở thành đàm phán về quan điểm. Hãy ưu tiên tiêu chí có thể kiểm thử hơn tiêu chí phải phán đoán, vì tiêu chí kiểm thử được sẽ khép lại bất đồng còn tiêu chí dựa trên phán đoán thì kéo dài nó.