Làm thế nào để tiếp cận nhiệm vụ scrum bị đốt cháy khi các nhiệm vụ có sự tham gia của nhiều người?


12

Trong công ty của tôi, một nhiệm vụ không bao giờ có thể được hoàn thành bởi một cá nhân. Sẽ có một người riêng biệt để QA và Code Xem lại từng nhiệm vụ. Điều này có nghĩa là mỗi cá nhân sẽ đưa ra ước tính của họ, cho mỗi nhiệm vụ, bao nhiêu thời gian để hoàn thành.

Vấn đề là, tôi nên tiếp cận như thế nào? Nếu tôi tổng hợp các giờ với nhau, giả sử ước tính sau:

10 giờ - Thời gian phát triển

4 giờ - QA

4 giờ - Xem lại mã.

Ước tính nhiệm vụ = 18 giờ

Vào cuối mỗi ngày, tôi yêu cầu nhiệm vụ được cập nhật với "thời gian còn lại cho đến khi hoàn thành". Tuy nhiên, mỗi người thường chỉ nghĩ về phần của họ. Họ có nên đánh dấu nỗ lực còn lại, và sau đó THÊM ước tính nỗ lực vào đó? Các bạn làm thế nào đây?

CẬP NHẬT

Để giúp làm rõ một vài điều, tại tổ chức của tôi, mỗi Nhiệm vụ trong một câu chuyện cần có 3 người.

  1. Có người phát triển nhiệm vụ. (làm bài kiểm tra đơn vị, ect ...)
  2. Một chuyên gia QA để xem xét nhiệm vụ (họ chủ yếu thực hiện các bài kiểm tra tích hợp và hồi quy)
  3. Một công nghệ dẫn để làm mã xem xét.

Tôi không nghĩ có một cách sai hay một cách đúng, nhưng đây là cách của chúng tôi ... và điều đó sẽ không thay đổi. Chúng tôi làm việc như một đội để hoàn thành cấp độ nhỏ nhất của câu chuyện bất cứ khi nào có thể. Bạn thực sự không thể kiểm tra nếu một cái gì đó hoạt động cho đến khi nó hoàn thành và bạn cũng không thể xem lại chất lượng của mã ... vì vậy, cách tốt nhất bạn có thể làm là chia mọi thứ thành các lát logic nhỏ để có thể kiểm tra chức năng tối thiểu xem xét càng sớm vào quá trình càng tốt.

Câu hỏi của tôi cho những người làm việc theo cách này sẽ là làm thế nào để ghi lại một "nhiệm vụ" khi họ được thiết lập theo cách này. Trừ khi một Nhiệm vụ có các nhiệm vụ phụ riêng (mà JIRA không cho phép) ... Tôi không chắc chắn cách tốt nhất để thực hiện theo dõi "những gì còn lại" hàng ngày.


8
Bạn có thể mô tả quá trình của bạn là gì? Chúng tôi không bao giờ sử dụng giờ trong kế hoạch Scrum của chúng tôi và chúng tôi không bao giờ báo cáo số giờ còn lại. Nhiệm vụ được thực hiện khi chúng được thực hiện.
dcaswell

1
@ user814064: Điểm tốt. Mỗi lần tôi thấy các đội ước tính mọi nhiệm vụ, họ luôn hiểu sai. Đôi khi bởi hệ số 1/10 trở lên.
Arseni Mourzenko

Quá trình này là mới đối với tôi. Trong quá khứ, chúng tôi đã đốt cháy nhiệm vụ khi nó hoàn thành. TUY NHIÊN, tôi đang cố gắng khuyến khích mọi người cải thiện dự toán. Chúng tôi có thể nhìn lại các ước tính của chúng tôi và so sánh chúng với thực tế của chúng tôi và hy vọng học hỏi từ nó. Nó có thể là một nỗ lực không có kết quả, nhưng đó là điều tôi muốn các đội cố gắng một lúc.
AgileMan

Thật khó để giải thích lý do tại sao bạn không nên làm điều này trong một vài ký tự bạn được phép nhập vào đây. Ước tính chính xác như tên gọi của nó: thật mơ hồ, đó là một con số trên sân bóng và bạn không thể cải thiện nó theo bất kỳ cách cân bằng chi phí, nỗ lực có ý nghĩa nào. Rốt cuộc, nó được gọi là "ước tính", không phải "tính toán". Tôi khuyên bạn nên đọc các bài đăng của Neil Killick trên #NoEstimates: neilkillick.com/2013/01/11/iêu
Stefan Billiet

Câu trả lời:


14

Đó là 3 nhiệm vụ, không phải một.

Nó có thể là một tính năng / câu chuyện, nhưng nó là ba nhiệm vụ. Một nhiệm vụ có thể được hoàn thành bởi một người trong thời gian hữu hạn.


@ user814064: đó không phải là giả định; các ước tính được liệt kê của OP cho từng nhiệm vụ trong bài
Steven A. Lowe

Tôi đáng lẽ phải cụ thể hơn ... đây là RẤT NHIỀU ở cấp độ nhiệm vụ. Ví dụ, MỌI nhiệm vụ (phần nhỏ của câu chuyện) cần được phát triển, thử nghiệm và xem xét. Mặc dù nhiệm vụ đã được hoàn thành bởi một cá nhân ... những người khác sẽ dành thời gian để đảm bảo hoàn thành. Tôi cho rằng bạn có thể làm cho mỗi nhiệm vụ có nhiệm vụ riêng của họ ... nhưng tôi không chắc nó sẽ hoạt động như thế nào.
AgileMan

3
@AgileMan: trong một thế giới thông thường, một nhiệm vụ là một đơn vị công việc duy nhất có thể được thực hiện bởi một người và ba nhiệm vụ theo chuỗi của ba người khác nhau là một dự án. Trong thế giới scrum ... đó là điều tương tự. (ví dụ: www.scrumalliance.org/community/articles/2007/march/glossary-of-scrum-terms#1129). Story-1-dev, Story-1-QA-review và Story-1-code-review là 3 nhiệm vụ khác nhau. Nếu bạn phải lập mô hình các nhiệm vụ 3 phần, có lẽ 3 biểu đồ phát sinh khác nhau sẽ phù hợp;)
Steven A. Lowe

Nếu điều này là cần thiết ở cấp độ nhiệm vụ, bạn thực sự cần phải làm việc theo định nghĩa đã hoàn thành và chia nhỏ các nhiệm vụ của mình. Nó nên là một cái có / không đơn giản để biết nếu một nhiệm vụ được hoàn thành, không phải là một quá trình thông qua nhiều người.
SpoonerNZ

7

TL; DR

Bạn đang sử dụng burn-down không chính xác theo nhiều cách. Nhiệm vụ và câu chuyện được thực hiện hoặc không được thực hiện; bằng cách cố gắng theo dõi độ lệch so với ước tính lập kế hoạch dựa trên thời gian trong phần chi tiết của bạn, bạn thực sự đang ước tính lại lịch trình của mình thay vì ước tính sản phẩm công việc còn lại.

Trong Scrum, bạn nên đo lường tiến trình hướng tới Mục tiêu Sprint thay vì đo hộp thời gian của Sprint. Điều này giữ sự tập trung vào năng lực nhóm và phân phối tính năng thay vì điều chỉnh lịch trình liên tục.

Nhiệm vụ so với Câu chuyện

Bạn đang xáo trộn nhiệm vụ và câu chuyện. Câu chuyện bao gồm tất cả các nhiệm vụ cần thiết để hoàn thành câu chuyện theo "định nghĩa hoàn thành" của nhóm của bạn. Câu chuyện được coi là không hoàn thành 100% trừ khi tất cả các nhiệm vụ của nó đã hoàn thành. Trong Scrum, những câu chuyện luôn được ước tính theo một cách nào đó; thường xuyên nhất, họ được ước tính trong các điểm câu chuyện.

Các nhiệm vụ là các bước hoặc các mốc cần thiết để hoàn thành câu chuyện. Mặc dù mỗi tác vụ có thể có các phụ thuộc và điều kiện tiên quyết, bạn chắc chắn có thể nói rằng việc xem xét mã đã hoàn thành hay chưa, độc lập với các tác vụ khác.

Đốt

Trong Scrum, biểu đồ ghi chú của bạn hiển thị số lượng công việc còn lại cho lần chạy nước rút hoặc dự án. Biểu đồ burn-down thực thường có cao nguyên; trong một số trường hợp, đồ thị thậm chí có thể tăng lên. Ví dụ: trong lần chạy nước rút một tuần với hai câu chuyện trị giá 3 và 5 điểm, các điểm dữ liệu của bạn có thể trông giống như thế này:

Mon | Tue | Wed | Thu | Fri
--- | --- | --- | --- | ---
 8  |  5  |  5  |  5  |  0

Trong kịch bản lý tưởng này, bạn bắt đầu với 8 điểm câu chuyện. Câu chuyện 3 điểm đã được hoàn thành vào chiều thứ ba, trong khi câu chuyện 5 điểm chưa hoàn thành cho đến thứ Sáu. Điểm câu chuyện không được khấu trừ từ sự đốt cháy cho đến khi câu chuyện đã đáp ứng định nghĩa hoàn thành. Nếu bạn đang sử dụng giờ lý tưởng thay vì điểm câu chuyện, điều duy nhất thay đổi là quy mô của bạn.

Thời gian-Boxing

Thực tiễn thường được chấp nhận là để đảm bảo rằng các nhiệm vụ của bạn được phân tách thành các khối có kích thước cắn trong khoảng từ 1/2 ngày đến 2 ngày. Phương sai của hơn một ngày nên được hiển thị rõ ràng từ các bản dựng hàng ngày hoặc Sprint Backlog; không cần phải thực hiện kéo trạng thái chính thức.

Bạn cũng có thể thực hiện phân tích thống kê trên biểu đồ ghi chú để xác định xem chạy nước rút của bạn có đúng xu hướng hay không. Những sai lệch nhỏ hoặc cao nguyên là bình thường, nhưng nếu không ai nâng bất kỳ trình chặn nào trong trạng thái đứng hàng ngày nhưng sự cố của bạn dường như bị kẹt, đó thường là dấu hiệu cho thấy Sprint Backlog bị đánh giá sai hoặc có "công việc vô hình" cần phải được làm rõ ràng trong quá trình của bạn.


Tôi không nghĩ rằng chúng tôi đồng ý hoàn toàn. Chắc chắn, biểu đồ phát sinh đo lường tiến trình hướng tới mục tiêu nước rút ... nhưng nó thực hiện điều này bằng cách đo lường tiến trình trên các câu chuyện nước rút cụ thể. Nói chung, bạn có thể chọn ghi lại một khi câu chuyện hoàn thành 100% hoặc bạn có thể ghi lại hàng giờ trên mỗi câu chuyện mỗi ngày khi công việc đang được hoàn thành. Tôi đang cố gắng để làm điều sau ... nhưng tôi thấy nó là thử thách cho các đội. Tôi cảm thấy như thể bài viết của bạn đi lạc từ câu hỏi tôi đã hỏi ban đầu.
AgileMan

một trong những rủi ro của việc không cho phép một nhiệm vụ đóng 100% là hoàn thành 100% nhiệm vụ của bạn, điều đó có nghĩa là không có gì thực sự được "thực hiện"
hanzolo

1
@AgileMan Bạn đang thấy điều đó "thách thức các đội phải làm" bởi vì bạn đang đo sai. Bạn chắc chắn hoan nghênh áp dụng bất kỳ phương pháp nào phù hợp với bạn và nhóm của bạn, nhưng tôi sẽ đứng trước tuyên bố đo lường ước tính ban đầu - thời gian trôi qua không giống như đo sản phẩm công việc còn lại. Làm bất cứ điều gì hiệu quả cho dự án của bạn, nhưng đừng ngại đặt câu hỏi về các giả định làm nền tảng cho các số liệu hiện tại của bạn.
CodeGnome

@CodeGnome. Có một giao tiếp sai lầm đơn giản đang diễn ra ở đây. Tôi không cố gắng theo dõi "thời gian trôi qua". Tôi đang cố xác định "thời gian còn lại". Khi nào nhiệm vụ này sẽ được thực hiện? Đó là tất cả những gì tôi đang cố gắng xác định. Tuy nhiên, vì ngay cả nhiệm vụ nhỏ nhất (nói chung) liên quan đến nhiều người, thử thách là làm thế nào để xác định những gì còn lại theo cách đơn giản & thẳng tiến.
AgileMan

4

Bạn có thể định nghĩa nhiệm vụ dev là "hoàn thành" trước khi QA thực hiện phần của họ không? Bạn có thể định nghĩa đánh giá mã là "xong" trước khi dev được thực hiện không? QA có thể được "thực hiện" nếu đánh giá dev và code không?

Tôi muốn nói rằng bạn nên tổng hợp ba mục thành một nhiệm vụ duy nhất và ba người nên cùng nhau thực hiện nó.

Scrum KHÔNG nói rằng bất kỳ mục nào là trách nhiệm của bất kỳ thành viên nào trong nhóm. Ngược lại - các mục nhật ký chạy nước rút là trách nhiệm của TEAM. Nếu phải mất ba người để thực hiện một nhiệm vụ, thì đó là những gì nó cần.


Tôi có một số nghi ngờ về đề nghị đó. Đối với tôi, một nhiệm vụ dev có thể được thực hiện trước QA và xem xét mã, nhưng xem lại mã và QA (vốn là các nhiệm vụ riêng lẻ) có thể tạo ra các nhiệm vụ dev mới có thể bị "đốt cháy" riêng lẻ. Tất nhiên, nếu "tác vụ" có nghĩa là "thực hiện một câu chuyện người dùng đầy đủ", thì bạn đã đúng, nhưng tại sao nhiệm vụ lại quá thô thiển?
Doc Brown

@DocBrown - Tôi đã thực hiện cả hai cách. Tôi đã thấy rằng việc thực hiện một nhiệm vụ được thực hiện khi nó chưa được xác minh (xem xét và kiểm tra) chưa được chứng minh là hữu ích để theo dõi tiến trình. Đặt mọi người một cái móc để hoàn thành nhiệm vụ giúp duy trì sự cấp bách cho tất cả những người liên quan.
Matthew Flynn

Rõ ràng, không có gì được "thực hiện" cho đến khi nó đã trải qua quá trình DoD. Tuy nhiên, mọi thứ có thể tiến triển đến một điểm mà nó có thể có lợi khi được các bên khác xem xét. Vì hiện tại, tôi hợp nhất tất cả "công việc" cần thiết cho mỗi nhiệm vụ nhỏ vào một giờ tổng hợp như bạn đã đề cập. Thách thức là khi một người đang cố gắng báo cáo những gì còn lại, họ thường phải tính đến phần của họ, và sau đó thêm các ước tính cá nhân khác lên trên ... vì vậy đó là một công việc bận rộn. Tôi cảm thấy như có một cách tốt hơn.
AgileMan

3

Nó không thành vấn đề. Miễn là nó tương đối nhất quán trong các câu chuyện, biểu đồ phát sinh của bạn vẫn sẽ hoạt động theo cách nào đó. Sử dụng bất cứ cách nào là tự nhiên nhất để nhóm của bạn báo cáo.

Nhóm của tôi thực sự làm một loại lai, mặc dù không phải theo thỏa thuận chính thức. Chúng tôi đặt 16 giờ nếu chúng tôi nghĩ rằng một nhiệm vụ sẽ mất một người hai ngày, nhưng nếu hai người kết thúc công việc đó, chúng tôi sẽ không thay đổi nó.

Sau khi ước tính ban đầu, nó không chính thức trở thành phần trăm hoàn thành cho nhóm của chúng tôi hơn là một giờ còn lại. Nếu ban đầu chúng tôi nghĩ rằng sẽ mất hai ngày, nhưng sau một ngày, chúng tôi nghĩ rằng nó chỉ hoàn thành 25%, chúng tôi sẽ nghỉ 4 trong số 16 giờ ban đầu. Mất 12 giờ trong khi về mặt kỹ thuật, chúng tôi ước tính 24 giờ, vì có thể chúng tôi sẽ khấu trừ 4 giờ trong 3 ngày còn lại.

Điều đó làm tôi khó chịu khi là một bậc thầy scrum lúc đầu, nhưng có vẻ lạ, dường như đó là một cách rất tự nhiên để đưa ra ước tính, bởi vì các nhà phát triển thực sự ghét phải thêm hàng giờ vào ước tính. Tất cả chỉ tính trung bình để làm cho sự phát triển vẫn còn hữu ích, và đó là điều quan trọng.


2

Thời gian còn lại của nhiệm vụ không quan trọng lắm: không có gì có thể được giao cho đến khi toàn bộ câu chuyện được thực hiện.

Nếu bạn muốn theo dõi thời gian còn lại trên một câu chuyện (tổng thể) bằng cách mọi người điền vào thời gian còn lại cho các nhiệm vụ, sau đó phân chia nhiệm vụ cho mỗi người.

Mà nói:

  • Nhiệm vụ lớn có thể là một dấu hiệu cho thấy câu chuyện của bạn quá lớn. Trong trường hợp này, giải pháp tốt nhất là giảm phạm vi và kích thước của câu chuyện và nếu bạn giảm đủ thời gian theo dõi còn lại cho các nhiệm vụ thì không còn vấn đề gì nữa (chúng có được thực hiện hay không - tổng ước tính cho các nhiệm vụ không hoàn thành là đủ hạt).
  • SCRUM khuyến khích tất cả mọi người chọn những gì cần làm. Nếu bạn đang phân công nhiệm vụ cho mọi người (trái ngược với vai trò), thì bạn có khả năng ngăn mình phát một câu chuyện, ngay cả khi nhà phát triển không làm gì - vì QA bị tắc nghẽn.

-1

Chia nhiệm vụ thành nhiều nhiệm vụ và nhập chúng dưới dạng các nhiệm vụ trong đó mỗi nhiệm vụ được xử lý bởi một người khác nhau.

Nhiệm vụ gốc: Sửa một cái gì đó

Nhiệm vụ mới: (con của cha mẹ của nhiệm vụ ban đầu)

  • Dev A - Khắc phục sự cố
  • Dev B - Giúp Dev A khắc phục sự cố (tức là lập trình cặp, xem lại mã)
  • Dev A - dev kiểm tra bản sửa lỗi bằng Dataset X
  • Dev B - dev kiểm tra bản sửa lỗi bằng Dataset Y

câu hỏi nói rằng các nhiệm vụ phụ không được phép
gnat

tôi không bao giờ có nghĩa là nhiệm vụ phụ mỗi lần .. tôi có nghĩa là chia nhiệm vụ thành các nhiệm vụ và biến chúng thành con của một câu chuyện hoặc lỗi .. tôi sẽ viết lại câu trả lời của mình ..
Asim Ghaffar

cũng phá vỡ nó theo cách bạn mô tả đã được đề xuất và giải thích trong ít nhất hai câu trả lời trước (được bình chọn hàng đầu tại thời điểm này): "Đó là 3 nhiệm vụ, không phải một ..." "Bạn đang kết hợp các nhiệm vụ và câu chuyện ..."
gnat
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.