Dự toán với yêu cầu ngày càng tăng


8

Lập dự toán với một yêu cầu đặt ra là một điều.

Nhưng, điều gì xảy ra khi người dùng đột nhiên bắt đầu thay đổi chúng một cách nhanh chóng và bắt đầu thêm các yêu cầu mới vào bộ đã được xác định? Và thậm chí đi đến một mức độ điên rồ về lý do tại sao dự án không hoàn thành trong khung thời gian dự kiến ​​ban đầu.

Làm thế nào tôi nên đối phó với những tình huống này? Đề xuất một số phương pháp và bài đọc có thể hữu ích.


2
Điều này có thể được hỏi tốt hơn tại pm.stackexchange.com
Bill the Lizard

6
Điều này thường được gọi là phạm vi creep.
P.Brian.Mackey

2
Phương pháp luận là vô dụng ở đây. Cần phải làm rõ rằng các thay đổi yêu cầu phải trả giá và đó là vấn đề quan hệ khách hàng. Một số phương pháp tốt hơn các phương pháp khác trong việc xử lý các thay đổi, nhưng không có phương pháp nào xử lý creep phạm vi mà không có chi phí bổ sung kịp thời.
David Thornley

thời gian * = yêu cầu ++;
Aditya P

Câu trả lời:


11

Bạn phải nói rõ với khách hàng rằng những thay đổi yêu cầu cũng là những thay đổi về phạm vi và cung cấp các cập nhật cho các ước tính mỗi khi có thay đổi đối với các yêu cầu.

Dự toán được gọi là ước tính cho một lý do. Họ không hứa hẹn. Nếu khách hàng muốn thực hiện cho họ lời hứa, đó là một thỏa thuận khác; bây giờ bạn phải cung cấp các ước tính lớn hơn nhiều có xác suất thành công cao hơn, sử dụng các yêu cầu đóng băng .

Hầu hết các ước tính dự án cung cấp một mức độ đệm nhất định, bất cứ nơi nào từ 20% đến 100% phí bảo hiểm thời gian (hoặc nhiều hơn) so với ước tính lý tưởng. Hãy chắc chắn rằng ước tính của bạn bao gồm phần đệm này.

Các phương pháp nhanh nhẹn tồn tại cung cấp khả năng hiển thị tốt hơn cho khách hàng, để họ có thể có ý tưởng tốt hơn về nỗ lực liên quan và cách thay đổi của anh ấy đang tác động đến các mốc thời gian.


Tôi không thấy làm thế nào nhanh nhẹn giúp. Trong thực tế, nó rất có thể cản trở tầm nhìn vì ngày kết thúc dự án mờ hơn. Trong khi một cách tiếp cận thác nước nhiều hơn sẽ nói, chắc chắn nếu chúng ta thêm các yêu cầu này, nó sẽ thêm 3 tháng vào lịch trình và X đô la cho chi phí.
Dunk

1
@Dunk: Điều tôi muốn nói đến khả năng hiển thị là khả năng của khách hàng "nhìn thấy" những thay đổi của anh ấy đang tác động đến dự án như thế nào. Tầm nhìn không phải là một lời hứa; nó chỉ là một chính sách mở cửa. Thác nước không đảm bảo ước tính tốt. Nếu bất cứ điều gì, thác nước phải nhấn mạnh rằng khách hàng không thực hiện bất kỳ thay đổi nào , nếu các ước tính là hữu ích.
Robert Harvey

1
Agile mang đến cho khách hàng ảo tưởng về việc ở trong vòng lặp, điều này cho họ một số ý tưởng về tác động mà các yêu cầu thay đổi của họ có thể có trong chu kỳ phát triển. Vì vậy, nó có thể là một công cụ để dạy cho khách hàng một bài học về thái độ của họ có thể làm gì đối với một dự án.
jwent

6

Bạn cần cập nhật các ước tính khi chúng cập nhật các yêu cầu và có một thông số kỹ thuật xác định về những gì khách hàng sẽ chấp nhận là "đã hoàn thành". "Ước tính trước đây của tôi là cho bộ tính năng X, Y. Nếu bạn muốn tôi thêm Z, tôi ước tính sẽ kéo dài ngày giao hàng bằng ...", v.v.


4

Bạn nên chính thức giao tiếp tác động theo lịch trìnhchi phí cho khách hàng và ban quản lý khi thay đổi yêu cầu hoặc thêm yêu cầu mới. Làm hết sức mình để áp đặt cơ chế phê duyệt chính thức để họ suy nghĩ sâu sắc trước khi họ yêu cầu bất kỳ điều gì mới hoặc bất kỳ thay đổi nào. Nếu không, bạn sẽ tiếp tục nghe "Tôi muốn bạn thêm XYZ" và sau đó "Tôi đã nói XYZ tôi có nghĩa là ABC".


Bất kỳ tài nguyên / bài đọc được đề xuất, chia sẻ kinh nghiệm về phương pháp chính thức này?
TheBoyan

1
Ý tôi là làm như sau: (1) Yêu cầu một người (có thể theo từng chủ đề) đóng vai trò là nhà cung cấp yêu cầu. (2) Chỉ chấp nhận yêu cầu bằng văn bản. Nếu bạn nhận được yêu cầu bằng cách gọi điện thoại hoặc liên lạc bằng lời nói hoặc gặp gỡ, bạn nên viết biên bản và các yêu cầu và nói rõ ràng những gì bạn sẽ làm và gửi nó qua email hoặc định dạng bằng văn bản và bao gồm thêm thời gian cần thiết. (3) khi thông báo cho nhà lãnh đạo kỹ thuật của bạn nêu các khu vực bị ảnh hưởng của ứng dụng để anh ta có thể tư vấn cho bạn cách tiếp cận tốt hơn hoặc hỗ trợ bạn trong quyết định của mình.
M.Sameer

1
(4) Nếu bạn nhận được yêu cầu ở định dạng bằng văn bản nhưng chúng không có tổ chức hoặc không rõ ràng, bạn có thể đề xuất các mẫu cho Yêu cầu thay đổi. (5) Theo dõi tất cả các yêu cầu thay đổi bởi vì điều này rất quan trọng đối với người quản lý dự án để biết sự không ổn định của các yêu cầu. Nếu bạn muốn bạn có thể đọc về Quản lý và Định nghĩa Yêu cầu, Quản lý Thay đổi và CMMI.
M.Sameer

3

Hãy nghĩ về dự án của bạn như một hình tam giác (một người bạn PM của tôi thực sự đã tạo ra một hình tam giác vật lý mà anh ấy đã sử dụng để thêm hiệu ứng). Các cạnh được gọi là thời gian , chi phíphạm vi . Bạn nói với khách hàng của mình rằng anh ta có thể có quyền kiểm soát 2 bên, nhưng bạn (chịu trách nhiệm giao hàng) phải có quyền kiểm soát ít nhất một bên.

Vì vậy, bạn có thể làm điều đó nhanh chóng và rẻ tiền - nhưng sau đó bạn phải có sức mạnh để cắt phạm vi.

Hoặc, bạn có thể nhận được nhiều tính năng hơn, nhưng sẽ mất nhiều thời gian hơn hoặc nhiều tiền hơn.

Đọc thêm tại http://en.wikipedia.org/wiki/Project_trigin


2

Bạn có thể thử thực hiện Scrum , một phương pháp nhanh, theo tình huống của bạn, có thể rất hữu ích.

Từ Wikipedia:

Scrum là bộ khung quy trình chứa các tập hợp thực hành và vai trò được xác định trước. Các vai trò chính trong Scrum là:

  1. ScrumMaster, người duy trì các quy trình (thường thay cho người quản lý dự án)
  2. Chủ sở hữu sản phẩm của Cameron, người đại diện cho các bên liên quan và doanh nghiệp
  3. Nhóm Team, một nhóm đa chức năng gồm khoảng 7 người thực hiện phân tích, thiết kế, thực hiện, thử nghiệm, v.v.

Trong mỗi lần chạy nước rút, thường là khoảng thời gian từ hai đến bốn tuần (với độ dài do nhóm quyết định), nhóm tạo ra sự gia tăng sản phẩm có thể thay đổi được (ví dụ: phần mềm làm việc và thử nghiệm). Tập hợp các tính năng đi vào nước rút đến từ sản phẩm Hồi giáo backlog, đây là một tập hợp ưu tiên của các yêu cầu công việc cấp cao sẽ được thực hiện. Những mặt hàng tồn đọng đi vào nước rút được xác định trong cuộc họp lập kế hoạch nước rút.


1
Một dự án lớn hơn có thể sẽ mất nhiều thời gian hơn, scrum hoặc không có scrum. Agile có thể sẽ giúp việc trao đổi các tính năng xung quanh dễ dàng hơn và giúp cung cấp thứ gì đó hữu ích hơn nếu thời hạn đột ngột được áp dụng. Nó sẽ không dừng tính năng creep.
David Thornley

2

Đó không phải là về phương pháp, mà là về giao tiếp với khách hàng.

Tôi đã có nhiều tình huống trong đó khách hàng muốn liên tục thêm các tính năng mới vào một dự án chưa hoàn thành và đã ngạc nhiên tại sao nó sẽ làm tăng chi phí chung và sự chậm trễ. Bối cảnh và tính cách của những khách hàng đó là khác nhau, nó đòi hỏi những cách tiếp cận khác nhau, nhưng tôi có thể cố gắng tách ra một số hướng dẫn và lời khuyên:

  • Đảm bảo rằng khách hàng có quyền truy cập vào thông tin chung cần thiết để hiểu lý do tại sao thay đổi trong yêu cầu có thể ảnh hưởng đến cả chi phí và sự chậm trễ . Nói cách khác, xuất bản một số bài viết về những điều đó, giải thích những gì một người phi kỹ thuật có thể không biết gì cả.

Ví dụ, đối với hầu hết mọi người, thật kỳ lạ khi một thay đổi mà họ cho là nhỏ bé có thể có tác động rất lớn đến dự án và rất tốn kém (xem ví dụ trong câu hỏi của tôi ). Nếu họ yêu cầu thực hiện một số thay đổi và mỗi khi bạn nói với họ, mà không giải thích bất cứ điều gì, họ sẽ phải trả hàng ngàn đô la khi họ mong đợi nó miễn phí hoặc vài chục đô la, họ có thể sẽ nghĩ bạn chỉ là ăn cắp tiền của họ. Điều này đặc biệt đúng vì một số lập trình viên và công ty phần mềm phi đạo đức phát triển các sản phẩm không thể nhận ra (vì vậy bạn không thể yêu cầu thay đổi nó sau bởi một nhà phát triển bình thường), sau đó yêu cầu bạn trả quá nhiều cho mỗi sửa đổi.

  • Đảm bảo rằng khách hàng đã hiểu lý do tại sao thay đổi cụ thể mà cô ấy muốn có tác động đến chi phí . Vì vậy, bạn có thể cung cấp cho cô ấy các liên kết đến bài viết của bạn (xem điểm trước) hoặc chỉ tóm tắt, theo cách phi kỹ thuật, những gì được yêu cầu để thực hiện thay đổi được yêu cầu.

Giải thích như vậy cũng là một ý tưởng tốt vì chúng cho phép khách hàng của bạn hiểu rõ hơn về sản phẩm và sự thay đổi. Trong một vài trường hợp, một số khách hàng của tôi đã kết thúc bằng cách nói rằng sự thay đổi họ muốn không quá thông minh và họ sẽ thực hiện theo cách khác. Bạn cũng có thể đề xuất những điều. Nó được một số khách hàng đánh giá cao (cảnh báo: một số người khác ghét nó) và cho thấy rằng bạn biết bạn đang nói về điều gì (bằng cách so sánh với con khỉ mã chỉ dịch các yêu cầu thành mã, mà không suy nghĩ quá nhiều về các cách tiếp cận có thể) .

  • Đảm bảo rằng khách hàng không thể làm bất cứ điều gì cô ấy muốn, trừ khi cô ấy thực sự chắc chắn. Đối với một số người, cách duy nhất là khóa các yêu cầu dứt khoát trước khi bắt đầu viết mã . Nếu không, đó là một thảm họa, và dự án sẽ không bao giờ kết thúc . Đối với những người khác, đó là một ý tưởng tốt để không bao giờ thấy một dự án bị hủy bỏ (nói chung, khách hàng của tôi có quyền truy cập trực tiếp vào sản phẩm bị phá hủy từ rất sớm, vì vậy họ cũng có thể đưa ra nhận xét / điều chỉnh sớm).

Ví dụ: tôi có một khách hàng, sau khi gửi yêu cầu "cuối cùng", trung bình, mười thư mỗi ngày với mười thay đổi yêu cầu, từ các sửa đổi nhỏ ("Bạn có thể thay đổi độ rộng đường viền của vùng giữa trên trang chủ từ ba đến sáu pixel? ") đến những thay đổi ảnh hưởng đến toàn bộ dự án (sau hai tháng phát triển, một tuần trước khi phát hành:" Cuối cùng, tôi nghĩ ASP.NET là một ý tưởng tồi. Bạn có thể chuyển sang PHP không? " ).

Vì vậy, đối với khách hàng đó , chúng tôi buộc phải khóa tất cả các yêu cầu trước khi viết mã. Nó đã được viết trong hợp đồng. Không có thay đổi được chấp nhận trước khi phát hành cuối cùng.

Cuối cùng, điều đó không tệ lắm, vì tò mò, chúng tôi đã cho phép tổ chức rất nhiều: dự án đã được phát hành, theo yêu cầu cũ, và sau đó, vài ngày sau, chúng tôi bắt đầu phiên bản tiếp theo từ đầu với một bộ hoàn toàn khác của các yêu cầu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.