TMNSolutions

Scope Creep Không Phải Lỗi Của Agency (Nhưng Là Vấn Đề Của Bạn)

Bởi Emma Trần

Scope Creep Không Phải Lỗi Của Agency (Nhưng Là Vấn Đề Của Bạn)

Cuộc trò chuyện sau dự án luôn diễn ra theo một kịch bản quen thuộc. Dự án chạy chậm hơn ba tháng và vượt ngân sách bốn mươi phần trăm. Khách hàng nói agency cứ thêm thắt phức tạp. Agency nói khách hàng cứ thay đổi yêu cầu. Cả hai bên rời đi với sự thất vọng. Agency mới được thuê, và sáu tháng sau mọi chuyện lặp lại.

Scope creep là nguyên nhân phổ biến nhất khiến các dự án phần mềm thất bại. Đồng thời cũng là điều bị hiểu nhầm nhiều nhất — bởi vì câu chuyện chúng ta kể về nó hầu như luôn sai.

Tại Sao Câu Chuyện "Lỗi Của Agency" Lại Bỏ Sót Điểm Mấu Chốt

Đổ lỗi cho agency có vẻ hợp lý. Họ là người gửi hoá đơn. Họ là người ước tính tiến độ. Khi cả hai đều phình to, họ trở thành đối tượng bị nghi ngờ rõ ràng nhất.

Nhưng đây là điều thực sự đang xảy ra trong hầu hết các tình huống scope creep: yêu cầu chưa được xác định chắc chắn khi bắt đầu phát triển, các yêu cầu nhỏ được thêm vào theo kiểu không chính thức, và không ai chỉ ra sức nặng tích lũy của những thay đổi đó cho đến khi ngân sách cạn kiệt.

Đó không phải là agency thiếu kiểm soát bản thân. Đó là dự án vận hành không có quy trình quản lý thay đổi — và quy trình đó là trách nhiệm của khách hàng không kém gì agency, thậm chí còn hơn.

Agency xây dựng những gì bạn yêu cầu. Khi yêu cầu thay đổi — dù nhỏ, dù với dụng ý tốt — dự án thay đổi theo. Câu hỏi là liệu có ai đang theo dõi những thay đổi đó trước khi chúng trở thành khủng hoảng hay không.

Ba Nguyên Nhân Gốc Rễ (Và Tất Cả Đều Có Thể Phòng Tránh)

Scope creep hầu như không bao giờ xuất hiện từ hư không. Khi truy nguyên, nó gần như luôn bắt nguồn từ một trong ba nơi.

Yêu cầu chưa được chốt trước khi bắt đầu phát triển. Đây là nguyên nhân phổ biến nhất và khó thừa nhận nhất, bởi vì bắt đầu phát triển tạo cảm giác tiến độ. Nhưng nếu danh sách tính năng vẫn đang thay đổi khi sprint đầu tiên bắt đầu, bạn không bắt đầu một quá trình xây dựng — bạn đang bắt đầu một thí nghiệm với đồng hồ tính tiền đang chạy. Mỗi yêu cầu không rõ ràng là một change order trong tương lai đang chờ được viết.

Các tính năng "tiện có thì tốt" không được gắn nhãn rõ ràng. Trong các cuộc trò chuyện lên kế hoạch, mọi thứ đều nghe có vẻ quan trọng như nhau. "Có thể thêm tính năng xuất báo cáo không?" nghe như một bổ sung nhỏ. Có thể là ba tuần làm việc. Khi những yêu cầu này không được phân loại rõ ràng — phải có, nên có, hay tiện có — tất cả đều được xem là yêu cầu bắt buộc, và dự án phình to để chứa chúng.

Không có quy trình xử lý thay đổi chính thức trong hợp đồng. Đây là lỗi cơ cấu khiến hai nguyên nhân kia tích lũy thêm. Nếu hợp đồng không quy định rõ cách xử lý thay đổi phạm vi — ai đề xuất, cách ước tính, ai phê duyệt, và điều gì xảy ra với tiến độ và ngân sách khi được phê duyệt — thì phạm vi có thể tăng một cách không chính thức, vô hình, và không ai chịu trách nhiệm.

Checklist Phòng Ngừa Trước Khi Viết Dòng Code Đầu Tiên

Không có gì phức tạp ở đây. Điều cần thiết là kỷ luật ngay từ đầu dự án, trước khi có áp lực phải "bắt tay vào làm ngay".

Viết tài liệu phạm vi trước khi code bất cứ thứ gì. Không cần phải là một bản đặc tả dài trăm trang. Cần xác định sản phẩm làm gì, không làm gì, và các tính năng chính ở mức độ chi tiết đủ để ai đó có thể xây dựng mà không mơ hồ. Nếu bạn không thể viết ra được, bạn chưa sẵn sàng để build.

Định nghĩa "hoàn thành" cho từng tính năng. "Người dùng có thể tải file lên" không phải là định nghĩa tính năng. "Người dùng có thể tải file PDF và JPEG tối đa 10MB, với thanh tiến độ và thông báo lỗi nếu tải thất bại" mới là định nghĩa tính năng. Hoàn thành có nghĩa là hoàn thành — không phải "gần xong" hay "xong rồi nhưng còn vài trường hợp ngoại lệ để sau tính".

Yêu cầu quy trình change order trong hợp đồng. Mọi yêu cầu thêm, bớt, hay sửa đổi phạm vi đều phải qua quy trình change order bằng văn bản. Agency ước tính tác động đến tiến độ và chi phí. Bạn phê duyệt hoặc từ chối. Không có gì được xây dựng từ một tin nhắn Slack không chính thức. Quy trình này bảo vệ cả hai bên — bảo vệ bạn khỏi sốc hoá đơn và bảo vệ agency khỏi bị đổ lỗi vì chậm trễ do chính yêu cầu của bạn gây ra.

Dự trù ngân sách đệm thực tế. Dù phạm vi tài liệu vững chắc và quy trình change order kỷ luật đến đâu, các dự án phần mềm vẫn gặp phải những điều chưa biết thực sự. Một tích hợp bên thứ ba hoạt động khác với tài liệu. Một yêu cầu bảo mật xuất hiện trong quá trình kiểm thử. Hãy dự trù mười đến mười lăm phần trăm cho những bất ngờ thực sự, và đừng tiêu vào các tính năng "tiện có" trong tuần thứ hai.

Quản Lý Phạm Vi Tốt Trông Như Thế Nào Trong Thực Tế

Những khách hàng giữ ngân sách đúng kế hoạch không nhất thiết là đang làm việc với agency tốt hơn. Họ đang làm việc khác đi.

Họ đến buổi kickoff với một tóm tắt dự án bằng văn bản. Họ đã có các cuộc trò chuyện nội bộ về điều gì thực sự cần thiết cho lần ra mắt và điều gì có thể chờ. Khi một ý tưởng mới xuất hiện trong quá trình phát triển — và điều đó luôn xảy ra — họ đưa vào backlog thay vì yêu cầu ngay. Họ xem xét change order cẩn thận trước khi phê duyệt, biết rằng mỗi lần thêm đều có chi phí thực.

Đây không phải tài năng đặc biệt. Đây là một bộ thói quen mà không ai dạy trước dự án phần mềm đầu tiên của bạn, bởi vì ai cũng cho rằng nó sẽ hiển nhiên. Nhưng không phải vậy.

Cách Nhìn Nhận Lại Vấn Đề

Scope creep là vấn đề chung mà cả hai bên đều góp phần tạo ra. Nhưng khách hàng ở vị trí có nhiều quyền kiểm soát hơn họ thường thực hiện. Bạn đặt ra yêu cầu. Bạn phê duyệt thay đổi. Bạn quyết định liệu có quy trình change order hay không.

Đây không phải về việc gán lỗi. Đây là về việc nhận ra quyền kiểm soát thực sự nằm ở đâu — và sử dụng nó, trước khi dự án bắt đầu, không phải sau khi ngân sách đã cạn.

Một agency đáng để hợp tác sẽ chủ động giúp bạn xây dựng kỷ luật phạm vi trong dự án. Họ sẽ phản hồi lại các yêu cầu mơ hồ. Họ sẽ cảnh báo khi một yêu cầu ngẫu hứng có tác động phạm vi đáng kể. Họ sẽ đề xuất quy trình change order vì nó cũng bảo vệ họ.

Nhưng họ chỉ có thể làm điều đó nếu bạn tạo ra điều kiện cho nó. Bắt đầu bằng một tài liệu phạm vi rõ ràng, một hợp đồng xác định cách xử lý thay đổi, và tư duy ngay từ đầu nhận ra sự khác biệt giữa kế hoạch và danh sách mong muốn.

Kỷ luật phạm vi là kỹ năng quản lý dự án bị đánh giá thấp nhất trong phát triển phần mềm. Làm chủ nó, và gần như mọi thứ khác khi làm việc với agency đều trở nên dễ dàng hơn.

Bài viết liên quan

Embedded Team vs. Staff Augmentation — Mô Hình Nào Ra Hàng Nhanh Hơn?
Kinh nghiệm thực chiến

Embedded Team vs. Staff Augmentation — Mô Hình Nào Ra Hàng Nhanh Hơn?

Cả hai mô hình đều hứa hẹn tăng tốc sản phẩm của bạn. Nhưng chỉ một trong số đó thực sự làm được điều đó. Đây là phân tích trung thực về staff augmentation và embedded team, cùng cách xác định mô hình nào phù hợp với tình huống của bạn.