Hỏi mười doanh nghiệp từng thuê ngoài phần mềm, sẽ có ít nhất sáu nơi kể chuyện dự án trễ hạn. Điều đáng nói là nguyên nhân hiếm khi nằm ở chỗ người ta hay nghĩ — lập trình viên làm chậm. Phần lớn dự án trễ vì những lý do đã xuất hiện từ trước khi dòng mã đầu tiên được viết.
Nguyên nhân 1: Phạm vi phình ra trong im lặng
Đây là nguyên nhân số một. Nó không đến bằng một yêu cầu lớn, mà bằng hàng chục yêu cầu nhỏ, mỗi cái “chỉ thêm chút thôi”. Thêm một ô nhập liệu, thêm một điều kiện lọc, thêm một cột trong báo cáo. Từng cái đều hợp lý và đều nhỏ, nên không ai nghĩ tới việc dời hạn.
Cách phòng: ghi nhận mọi yêu cầu phát sinh thành một danh sách có ngày tháng, kể cả những cái được đồng ý làm miễn phí. Cuối tháng nhìn lại danh sách đó, cả hai bên sẽ thấy ngay vì sao tiến độ lệch.
Nguyên nhân 2: Chờ phản hồi từ phía khách hàng
Nghe có vẻ lạ, nhưng bên thuê thường là nguyên nhân trễ mà không biết. Bản thiết kế gửi đi chờ năm ngày mới có người duyệt. Nội dung, hình ảnh hứa gửi tuần này, ba tuần sau mới có. Danh sách sản phẩm để nhập vào hệ thống mãi không xong.
Cách phòng: ngay từ đầu, cử một người duy nhất có quyền quyết định thay vì cả hội đồng. Ghi vào hợp đồng thời hạn phản hồi của bên thuê, ví dụ ba ngày làm việc, và quy định rằng chờ quá hạn thì mốc bàn giao dời tương ứng.
Nguyên nhân 3: Phụ thuộc bên thứ ba
Cổng thanh toán duyệt hồ sơ chậm, đơn vị vận chuyển không cung cấp tài liệu kết nối, kho ứng dụng từ chối phiên bản đầu và bắt sửa. Những việc này nằm ngoài tầm kiểm soát của cả hai bên nhưng vẫn tính vào tiến độ.
Cách phòng: nhận diện các phụ thuộc bên ngoài ngay lúc lập kế hoạch và bắt đầu thủ tục sớm nhất có thể, song song với lập trình chứ không đợi làm xong mới nộp.
Nguyên nhân 4: Yêu cầu mơ hồ ngay từ đầu
Một dòng như “hệ thống cần báo cáo doanh thu” có thể là nửa ngày công hoặc ba tuần công, tuỳ vào việc báo cáo đó lọc theo bao nhiêu chiều, so sánh với kỳ trước hay không, xuất ra file gì. Khi mô tả mơ hồ, ước lượng thời gian cũng mơ hồ theo.
Cách phòng: yêu cầu bên gia công diễn giải lại từng hạng mục bằng ngôn ngữ cụ thể trước khi chốt tiến độ. Nếu họ không diễn giải được, nghĩa là họ cũng chưa hiểu rõ, và con số họ đưa ra chỉ là phỏng đoán.
Nguyên nhân 5: Kiểm thử bị dồn vào cuối
Khi toàn bộ khâu kiểm thử dồn vào tuần cuối, mọi lỗi phát hiện đều trở thành khủng hoảng. Ngược lại, kiểm thử theo từng đợt nhỏ giúp lỗi lộ ra sớm, lúc còn dễ sửa.
Cách phòng: yêu cầu bàn giao theo từng phần chạy được, thay vì một lần duy nhất ở cuối dự án.
Dấu hiệu dự án sắp trễ
- Báo cáo tiến độ chuyển từ cụ thể sang chung chung: “đang hoàn thiện”, “sắp xong”.
- Không còn bản chạy thử nào mới trong hơn hai tuần.
- Người phụ trách trả lời chậm hơn hẳn so với giai đoạn đầu.
- Danh sách yêu cầu phát sinh dài hơn danh sách hạng mục ban đầu.
Thấy hai trong bốn dấu hiệu trên, đừng đợi tới hạn mới hỏi. Đề nghị họp lại, rà soát phạm vi và thống nhất một mốc mới thực tế hơn — trễ có báo trước luôn dễ xử lý hơn trễ được giấu tới phút cuối.