Agile - gai và dòng thời gian tổng thể


9

Nhóm đang bắt đầu với dự án A Agile vốn đầu tiên của họ và dự án có vẻ như sẽ phù hợp với phương pháp luận (nghĩa là chúng ta có thể chỉ cần lấy một cuốn sách nhanh và làm theo nó như một công thức), với một chút nhầm lẫn:

Dự án liên quan đến ba điều mà không ai trong nhóm có kinh nghiệm: Tích hợp với Hệ thống lương của Foo, có thể xử lý loại tệp XYZ89 (trong đó "XYZ89" = một số loại tệp bạn chưa từng nghe thấy) và chuyển đổi một số loại tệp các tệp khác để Frobnobdicator xử lý chúng.

Theo tôi hiểu, thực hành Agile tiêu chuẩn sẽ là lên lịch cho các đột biến trong số này, sau đó chúng tôi có thể xác định họ sẽ mất bao lâu (tôi không chắc có nhiều khả năng khách hàng sẽ quyết định không làm chúng, vì chúng là khá nhiều yêu cầu vững chắc của dự án)

Vì vậy, câu hỏi của tôi là:

  1. Chúng ta có làm tất cả các mũi nhọn lên phía trước trong lần lặp đầu tiên để có ước tính tốt hơn về thời gian cần thiết để thực hiện chúng và / hoặc có được một "bộ xương đi bộ" và chạy không?

  2. Nếu không, toàn bộ lịch trình dự án sẽ nằm trong tầm ngắm của một trong những đột biến này sẽ quay trở lại với dữ liệu rằng câu chuyện đặc biệt này sẽ diễn ra lâu hơn chúng ta?

Cách thực hành tốt nhất để xử lý nhiều đột biến khi chúng là những yêu cầu cơ bản không thể thương lượng của một dự án?

agile 

Câu trả lời:


4

Cách tôi đã xử lý những ẩn số mờ ám này trong kế hoạch dự án của mình trước đây là thử và thiết lập thời gian để nhóm phát triển thực hiện các nguyên mẫu của chức năng chưa biết trước khi ra tay. Điều này mang lại lợi ích của việc làm rõ những gì sẽ được yêu cầu để thực hiện các nhiệm vụ chuyên ngành, chứng minh rằng những điều này là khả thi về mặt kỹ thuật và giáo dục phần còn lại của nhóm về những cạm bẫy có thể tránh khi bắt đầu phát triển tích cực.

Đây là lý do tại sao nhiều dự án Agile thường bắt đầu bằng a, cái mà tôi muốn gọi, Sprint 0 .

Hãy nghĩ về nó như thắt dây giày chạy bộ của bạn, kéo dài và đặt dải băng trên núm vú của bạn ngay trước khi bạn bắt đầu một cuộc chạy marathon. Thời gian này có thể được sử dụng để thực hiện lập kế hoạch dự án ban đầu và tạo câu chuyện người dùng, thiết kế và thiết kế kiến ​​trúc, tạo khung phần mềm và nhà phát triển có thể làm việc trên bất kỳ nguyên mẫu và bằng chứng nào về khái niệm cho bất kỳ công nghệ mới hoặc thách thức kỹ thuật nào sẽ làm cho câu chuyện của người dùng ước lượng dễ dàng hơn nhiều.


1
Bandaids trên núm vú là phải tuyệt đối! Và Sprint 0 cũng vậy cho tất cả các dự án rủi ro thấp nhất và tầm thường nhất!
Michael

3

Bạn nên thực hiện mọi thứ theo thứ tự ưu tiên do chủ sở hữu sản phẩm (hoặc khách hàng) đặt ra. Không có ý nghĩa trong việc tự giết mình trên một cái gì đó thực sự là một thứ tốt đẹp để có. Ý tưởng là nếu bạn hết thời gian và một cái gì đó không được thực hiện, nó sẽ là mục ưu tiên thấp nhất.

Nếu họ không ưu tiên những gì họ muốn, bạn sẽ phải vật lộn.

Nếu mọi thứ tương đối bằng nhau, đừng bắt đầu với mục khó nhất - hãy bắt đầu với một chiến thắng dễ dàng, điều này sẽ giúp nhóm có cơ hội làm quen với nhau bằng phương pháp mới và khách hàng tin tưởng rằng họ có thể cung cấp công cụ theo cách này. Khi đã được thiết lập, giải quyết một cái gì đó khó khăn. Đo lường mức độ phức tạp của vật phẩm khó so với độ phức tạp của những thứ dễ dàng hơn bạn vừa làm, và bạn sẽ bắt đầu có ý tưởng về việc mất bao lâu để vượt qua nó.

Các mặt hàng phức tạp không thực sự "tăng đột biến". Chúng chỉ đơn giản là những thứ cần nhiều nỗ lực hơn để tìm ra. Chia chúng thành các nhiệm vụ đơn giản nhất có thể.


1
Tôi nghĩ trong trường hợp này chúng phải tăng đột biến, bởi vì không ai trong nhóm đã từng làm việc với hệ thống Foo Payroll, các tệp XYZ89 hoặc Frobnobdicator trước đây. Chúng tôi không biết việc tích hợp với các hệ thống đó sẽ mất bao lâu.

@Jordan - Tôi hiểu điều đó, nhưng nếu bạn dựa trên ước tính của mình về một mô hình phức tạp, trái ngược với mô hình hàng giờ, bạn có thể hiểu được những gì nó sẽ diễn ra. Có, bạn đã có một đường cong học tập về các định dạng tệp và API - phức tạp hơn một chút. Có, bạn đã phải làm việc với những người có Biên chế - phức tạp hơn một chút. Điều đó có thể có nghĩa là bạn chỉ có thể làm việc trên một trong những mục đó và không có gì khác trong một lần lặp.
Matthew Flynn

1
Tôi thực sự khuyên bạn nên xem Câu chuyện người dùng của Mike Cohn được áp dụng ( amazon.com/User-Stories-Applied-Software-Development/dp/ trộm )
Matthew Flynn

1
Ồ chắc chắn, tôi hiểu giá trị của việc ước tính theo độ phức tạp tương đối so với giờ. Phần tôi bối rối là liệu cách tiếp cận này có đúng với tình huống mà tôi đã mô tả hay không, dường như gai sẽ không bao giờ được sử dụng cho bất kỳ dự án nào (các nhà phát triển sẽ chỉ nói "ồ, có vẻ như là 3, điều này có vẻ như là 5 ", mặc dù không ai biết gì về việc tích hợp với Hệ thống Fizzbot)

Chà, hy vọng của tôi là nếu không ai biết về Fizzbot, họ sẽ nói nó có vẻ giống như số 13 hoặc số 21, và sau đó chia nhỏ các nhiệm vụ - 1. tìm hiểu điều gì đó về Fizzbot. 2. Xây dựng quyền truy cập Fizzbot cơ bản. 3. Mô hình trường hợp để sử dụng Fizzbot thực sự. 4. Xây dựng các bài kiểm tra tích hợp. 5. Xây dựng tích hợp Fizzbot thực sự ... Bạn biết đấy, hãy chia nhỏ các phần thành những thứ dễ hiểu và hy vọng có thể cắn được.
Matthew Flynn

0

Một giải pháp khả thi là đồ chơi tạo ra một nhiệm vụ để làm bằng chứng về khái niệm để tìm ra cách giải quyết vấn đề và hộp thời gian, sau đó thêm câu chuyện đó vào một cuộc đua nước rút với những câu chuyện khác.

Bạn đang cung cấp giá trị và một sản phẩm vào cuối giai đoạn nước rút, ngay cả khi đó là một ứng dụng hack console. Ý tưởng là bạn sẽ không làm giảm toàn bộ năng suất của đội, nếu bạn hết thời gian, bạn sẽ thêm một nhiệm vụ tương tự vào lần chạy nước rút tiếp theo.

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.