Là quyết định ngày phát hành trước khi thu thập tất cả các yêu cầu không nhanh nhẹn?


10

Tôi mới bắt đầu đọc cuốn sách Áp dụng UML và các mẫu của Craig Larman. Tôi thấy nó rất thú vị vì nó thách thức nhiều điều tôi đã nói trong công việc. Tôi đọc rằng các yêu cầu không được thu thập đầy đủ trong một lần nhanh nhẹn và phải mất nhiều lần lặp để hoàn thành thu thập yêu cầu. Nếu đó là trường hợp, đưa ra một thời hạn thiết lập cứng, đó là điều tôi buộc phải làm trong công việc, rất không nhanh nhẹn, xem xét có thể có một số yêu cầu đột phá mới (hoặc thay đổi yêu cầu giả mạo theo yêu cầu) vào ngày mai?

Câu trả lời:


19

Hoàn toàn không có vấn đề "Nhanh nhẹn" nào khi có ngày phát hành cố định nếu bạn chuẩn bị di chuyển một trong hai cạnh khác của "tam giác sắt": các yêu cầu đối với những gì cần có trong bản phát hành đó hoặc tài nguyên bạn có sẵn . Bạn không thể sửa cả ba - và trong thực tế, phần "tài nguyên" của tam giác rất thường không linh hoạt hoặc không hiệu quả để sửa đổi.

Nếu có một yêu cầu mới lớn vào ngày mai, điều đó tốt miễn là doanh nghiệp sẵn sàng chấp nhận yêu cầu đó có thể không đưa ra ngày phát hành - tức là nó trượt sang phiên bản tiếp theo.


1
Tôi luôn cảm thấy rằng tài nguyên của tam giác là một sai lầm. Trao đổi nó cho chất lượng và nó hoạt động tốt hơn. Nhưng bạn đang ở chỗ: buộc tôi đến ngày phát hành nếu bạn phải nhưng tính năng và chất lượng sẽ bị trượt do kết quả.
David Arno

1
@DavidArno Tôi cho rằng "chất lượng" là một phần của Định nghĩa Hoàn thành, bản thân nó là một phần của mọi yêu cầu. Và "tài nguyên" chắc chắn có thể có tác động đáng kể đến việc giao hàng nếu bạn lấy tài nguyên ra khỏi dự án.
Philip Kendall

1
@ChristianHackl: Tôi nghĩ bất kể phương pháp nào, phát triển phần mềm đòi hỏi nhiều thời gian và rất nhiều tiền nếu bạn cũng muốn chất lượng.
Bryan Oakley

2
@BryanOakley: Đó là sự thật. Tôi chỉ mong các nhà truyền giáo nhanh nhẹn thực sự nhận ra rằng phương pháp của họ không đặc biệt trong vấn đề này. Một khi bạn bỏ lại giả định sai lầm rằng nhanh nhẹn cho phép bạn có bánh của bạn và ăn nó, thì bạn thực sự có thể thiết kế quy trình phát triển chính xác cho dự án của mình bằng cách chọn nếu và bao nhiêu "nhanh nhẹn" nên có trong đó.
Christian Hackl

1
@ChristianHackl Không có phương pháp nào là viên đạn bạc. Nhưng điểm chính của "nhanh nhẹn" (một thuật ngữ rộng) không phải là nó sẽ làm cho việc giao hàng thành công rẻ hơn / nhanh hơn mà là giảm chi phí (không thể tránh khỏi).
Guran

3

Tôi nghĩ vấn đề ở nhiều trại Agile là thời hạn cuối cùng. Rủi ro với thời hạn là bạn cho rằng bạn biết cần phải làm gì. Như bạn chỉ ra, bạn không thể có thời hạn cho một điều chưa biết.

Những gì được mô tả trong câu trả lời của Philip là thời hạn ít hơn nhiều so với một ràng buộc. Chúng tôi có thể nói rằng chúng tôi có tài trợ cho đến tháng 3 và vì vậy chúng tôi phải tạo ra sản phẩm tốt nhất có thể trong thời gian đó.

Để đưa ra một sự tương tự, giả sử tôi yêu cầu bạn đi đến câu chuyện tạp hóa và mua tất cả các cửa hàng tạp hóa trong tuần và, trước khi bạn đi hoặc xem bất kỳ giá nào, tôi muốn bạn cho tôi biết chính xác những gì bạn sẽ chi tiêu. Hơn nữa, bạn sẽ bị phạt nếu bạn sai. Bạn sẽ làm chính xác những gì mọi người làm với thời hạn dự án - bạn sẽ chọn một số ở cấp cao của những gì bạn nghĩ rằng phạm vi có thể là vì nó có khả năng bị phạt thấp nhất. Bây giờ, hãy để chúng tôi nói tôi nói với bạn điều này là không thể chấp nhận được và bạn phải mua những thứ giống như bạn đã lên kế hoạch, nhưng bạn phải làm điều đó với giá rẻ hơn 50 đô la, nếu không. Bây giờ bạn có thể làm gì? Bạn có thể từ chối, bạn chỉ có thể hoãn lại cuộc tranh luận cho đến sau khi bạn mua sắm, hoặc bạn có thể tìm cách gian lận tình hình. Đây là những gì xảy ra trong nhiều tổ chức với thời hạn được đặt ra cho những ẩn số.

Bây giờ, khi thấy toàn bộ tình huống này không lành mạnh như thế nào, Agile chỉ nói "Nếu bạn có ngân sách, tôi có thể hứa sẽ tham gia theo đó và sẽ cung cấp cho bạn những bữa ăn tốt nhất có thể trong tuần này trong sự hạn chế đó". Đó là một cuộc trò chuyện lành mạnh hơn để có.


Bạn thực sự hứa điều đó với mọi người? Điều gì sẽ xảy ra nếu bạn sai và một cách tiếp cận khác sẽ đáp ứng thời hạn với những bữa ăn thậm chí còn tốt hơn?
Christian Hackl

1
Lập luận tương tự về Agile và thời hạn ở đây
Eric King

@Christian. Chắc chắn rồi. Ít nhất, đó là thứ tốt nhất tôi có thể cung cấp trong giới hạn đó. Có lẽ ai đó khác có thể làm tốt hơn hoặc có lẽ nếu hoàn cảnh khác, tôi sẽ đưa ra một giải pháp tốt hơn, nhưng những suy đoán đó dường như không có giá trị. Đặc biệt là xem xét rằng tôi luôn có nhiều thông tin hơn trong dự án mà nó nhận được, bất kỳ thời hạn ước tính nào tôi đưa ra bây giờ, về bản chất, sẽ ít được thông báo hơn bất cứ điều gì tôi nói với bạn sau này.
Daniel

tất nhiên, chúng ta đang nói về một chủ đề khá phức tạp trên nền tảng StackExchange, không được thiết kế để xử lý các chủ đề đa diện rộng lớn. Tôi đã cố gắng giữ câu trả lời của mình súc tích và tập trung để đáp ứng nền tảng. Trên thực tế, đó là một lát cắt rất hẹp và có thể nói nhiều về bản chất mạnh mẽ hơn của phát triển phần mềm và tổ chức vòng đời phát triển.
Daniel

@Daniel: Chà, tôi chỉ phản đối quan niệm rằng người ta hứa hẹn kết quả lý tưởng cho khách hàng chỉ vì bạn tin rằng bạn sử dụng phương pháp tốt nhất. Điều đó không thực tế.
Christian Hackl

2

Agile là một kỹ thuật, không phải là kết quả. So với việc cắt cỏ, một lần lặp giống như một dòng cỏ mà bạn đã cắt. Nếu ai đó nói "cắt toàn bộ bãi cỏ của bạn trong 15 phút" và bạn đang sử dụng nhanh nhẹn, có lẽ bạn sẽ hoàn thành 30% vào cuối. Sau đó, bạn sẽ lặp lại một số chi tiết sau và hoàn thành nó.


2

Bạn có thể có một ngày phát hành theo kế hoạch mà không có vấn đề. Chỉ cần chắc chắn rằng vào ngày đặc biệt này, bạn không có kết thúc thua. Bạn nên có một sản phẩm có thể được vận chuyển vào cuối mỗi lần chạy nước rút, nhưng thường thì sẽ không có hại gì nếu bạn không làm vậy; đó là một mục tiêu tập trung vào công việc thay vì một yêu cầu. Nếu bạn có một ngày phát hành theo kế hoạch, thì bạn phải có một sản phẩm đáng tin cậy vào ngày đó.

Bạn thường sẽ nhắm đến việc có một sản phẩm chưa được kiểm tra, nhưng hy vọng một thời gian trước khi phát hành theo kế hoạch, sau đó sản phẩm được kiểm tra và sửa lỗi cho đến khi đạt tiêu chuẩn chất lượng, và sau đó nó được phát hành mà không cần phải hoảng sợ. Bản phát hành sẽ chứa bất cứ thứ gì đã sẵn sàng tại thời điểm đó.

Bây giờ có thể không rõ ràng với sếp của bạn rằng bạn cũng nên lên kế hoạch cho ngày phát hành thứ hai, với nhiều tính năng thực sự được triển khai.

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.