Nguyên nhân cốt lõi của sự thất vọng của bạn với tình huống có lẽ là một trong những nhận thức và các thuật ngữ sai / sai được sử dụng bởi khách hàng. Khách hàng thường không đến với bạn với một danh sách các yêu cầu , nhưng một danh sách mong muốn về mọi điều họ có thể nghĩ về điều đó có thể hữu ích cho họ. Đó không phải là tất cả các yêu cầu bởi vì khách hàng chưa dành thời gian để thực sự suy nghĩ nếu mỗi tính năng thực sự được yêu cầu .
Điều này không nhất thiết luôn luôn là một vấn đề
Nếu khách hàng của bạn có tiền cho tất cả các tính năng đó và sẵn sàng tham gia với nó, và bạn không thực sự quan tâm đến việc giải quyết các vấn đề thực tế, thực sự mà khách hàng có, thì đây có thể là một dự án rất sinh lợi. Điều đó xảy ra, rất, rất hiếm khi, và đối với hầu hết các nhà phát triển, đó là công việc giết chết tâm hồn bởi vì bạn có thể cảm thấy trước rằng dự án sẽ không thành công cho khách hàng (ngay cả khi nó thành công về mặt tài chính cho bạn với tư cách là nhà phát triển). Nó cũng có rủi ro cao vì bạn có khả năng kết thúc với một dự án có chi phí cố định với nhiều sự không chắc chắn và thực sự có vấn đề để đánh giá sai rủi ro đối với các dự án lớn.
Nếu đó là một vấn đề thì sao?
Hãy cho rằng bạn không ở trong tình huống hiếm hoi đó. Trong trường hợp này, bạn sẽ muốn giải quyết hai thiếu sót chính của danh sách mong muốn như được đưa ra:
- Không có khả năng khách hàng có ý tưởng chính xác về chi phí phát triển một danh sách các yêu cầu lớn như vậy, vì vậy bạn không có khả năng nhận được hợp đồng về số tiền bạn thực sự cần để thực hiện.
- Không chắc rằng danh sách mong muốn này mô tả chính xác và ngắn gọn về vấn đề thực sự mà khách hàng gặp phải và muốn giải quyết.
Theo kinh nghiệm của tôi, bạn cần giải quyết 2 để khắc phục 1. Đi sâu vào vấn đề thực tế có nghĩa là bạn, nhà phát triển, hiện có đầu vào cần thiết để thực hiện bước nhảy vọt sáng tạo trong việc giải quyết vấn đề theo cách mà chính khách hàng chưa từng nghĩ tới. Những giải pháp này có thể sẽ rẻ hơn và nhanh hơn nhiều so với việc thực hiện danh sách mong muốn đầy đủ.
Làm thế nào để bạn khắc phục điều đó?
Giống như Matthew Flynn nói trong câu trả lời của mình - bắt đầu bằng cách khiến khách hàng ưu tiên các yêu cầu. Điều này không phải lúc nào cũng dễ dàng, nhưng buộc họ phải làm điều đó. Nếu cần thiết hãy sử dụng cụm từ "Nếu ai đó giữ một khẩu súng vào đầu bạn, bạn sẽ giữ yêu cầu nào?". Bạn sẽ thường thấy trong quá trình này, khách hàng thực sự không có ý tưởng rất rõ ràng về các yêu cầu riêng lẻ có ý nghĩa gì. Trong trường hợp đó, hãy làm những gì Peter Rowell gợi ý và khiến khách hàng làm việc thông qua Câu chuyện của người dùng. Bạn và khách hàng sẽ bắt đầu hiểu vấn đề và yêu cầu tốt hơn nhiều, và sau đó bạn có thể quay lại mức độ ưu tiên. Lặp lại các bước đó thường xuyên như bạn cần cho đến khi bạn cảm thấy thoải mái rằng bạn biết đủ để giải quyết vấn đề của khách hàng .
Làm thế nào mà trả lời câu hỏi phát triển một giải pháp?
Khi bạn có một danh sách các yêu cầu ưu tiên, bạn có đầu vào bạn cần để đề xuất quy trình phát triển gia tăng cho khách hàng của bạn. Bạn không cần phải gọi nó là Agile, nhưng bạn có thể đề nghị chia nhỏ hợp đồng thành từng phần nhỏ hơn cho từng yêu cầu (hoặc bộ yêu cầu không thể chia tách) và cung cấp từng cái một với xác nhận của khách hàng. Hoặc bạn có thể sử dụng toàn bộ và sử dụng nhiều tài nguyên có sẵn trực tuyến và ngoại tuyến để thuyết phục khách hàng rằng họ hợp tác theo một trong những phong cách phát triển Agile. Trong mọi trường hợp, bạn có thể cung cấp đề xuất hợp đồng / dự án của mình dưới dạng gợi ý rõ ràng các khối yêu cầu xây dựng này theo thứ tự ưu tiên, mỗi khối có chi phí và kết luận riêng. Giữ củ cà rốt đó trước mặt khách hàng,