Làm cách nào để phối hợp thời gian của nhà phát triển giữa hai dự án khác nhau trong Scrum?


40

Tôi đã trở thành bậc thầy của một nhóm mới thành lập, chịu trách nhiệm tạo ra một phần mềm VÀ duy trì ứng dụng được triển khai khác. Vì vậy, về cơ bản mỗi thành viên trong nhóm có nhiệm vụ phát triển và hoạt động.

Tôi đã quan sát cách họ làm việc trong vài tuần qua và tôi nhận thấy rằng nhóm đang gặp khó khăn trong việc điều phối các nhiệm vụ này. Khi một nhà phát triển đang tập trung vào mã hóa, anh ta bị gián đoạn để khắc phục một vấn đề được đưa ra trong sản xuất và thật khó để anh ta tập trung trở lại vào nhiệm vụ trước đó.

Tôi đã cố gắng phân bổ% thời gian của nhà phát triển cho các hoạt động nhưng dường như điều này không giải quyết được vấn đề. Tôi muốn nghe từ những bậc thầy scrum đã gặp tình huống này trước đây, bạn đã quản lý nó như thế nào và những đề xuất của bạn là gì?


1
Ưu tiên và giải quyết lỗi sản xuất quan trọng trước và sau đó tiếp tục phát triển bình thường. Cả hai cùng một lúc đang yêu cầu một sai lầm được thực hiện.
Mark Rogers

Câu trả lời:


60

Vấn đề này là cũ như scrum. Có một giải pháp, nhưng bạn sẽ không thích nó.

  • Đặt nhiệm vụ mới vào backlog.
  • Đừng làm gián đoạn các nhà phát triển.
  • Chờ nước rút tiếp theo.

Đưa các nhà phát triển của bạn vào nhiều hơn một scrum, có hai tồn đọng riêng biệt hoặc chỉ gán một phần trăm thời gian của họ cho chạy nước rút tất cả đều chống lại những gì scrum đang cố gắng đạt được, tức là một dòng hoàn thành các nhiệm vụ hoàn thành.

Nếu bạn thử những kiểu đó về cơ bản, bạn sẽ quay trở lại phương pháp phát triển 'hỗn loạn' hoặc 'JFDI' với tất cả các vấn đề liên quan đến nó, ví dụ

  • Nhà phát triển có mười nhiệm vụ khi đang di chuyển bất cứ lúc nào. Không ai biết những gì họ đang làm việc hoặc khi nào nó sẽ được hoàn thành.
  • Không biết thời gian để hoàn thành dự án, bởi vì nó phụ thuộc vào những gì các dự án khác đang xảy ra cùng một lúc.
  • Không có quan điểm nhất quán về ưu tiên dự án. Các nhà quản lý khác chuyển hướng các nhà phát triển đến các dự án thú cưng của họ.

Tất nhiên, câu trả lời thông thường cho lời khuyên này là "Nhưng tôi không thể làm điều đó! Doanh nghiệp cần những lỗi sản xuất đó để được sửa chữa càng sớm càng tốt!"

Nhưng điều đó không thực sự đúng.

Nếu bạn thực sự có nhiều lỗi thực tế đang ảnh hưởng đến doanh nghiệp đến mức này thì bạn cần phải chuyên nghiệp và cải thiện thử nghiệm của mình. Chỉ cần làm việc trên các lỗi và kiểm tra tự động cho đến khi bạn đã sửa tất cả. Thuê một nhóm QA và thử nghiệm tất cả các bản phát hành mới.

Những gì có nhiều khả năng mặc dù là một trong những điều sau đây:

  • Các lỗi là vấn đề hoạt động, hết dung lượng đĩa, không DR, không sao lưu, không chuyển đổi, vv Nhận một nhóm OPS.

  • Các lỗi là người dùng không hiểu hệ thống nên hoạt động như thế nào "Điều này đã xảy ra! Đây có phải là một lỗi không?". Nhận trợ giúp và đào tạo người dùng của bạn, viết tài liệu.

  • Sợ rollback. Bạn đã khởi chạy một tính năng mới và nó đã phá vỡ một cái gì đó, đừng cố gắng sửa chữa. Quay trở lại phiên bản trước và đưa các lỗi vào backlog.


5
Chạy nước rút của bạn là bao lâu? Tôi sẽ đi xuống một tuần
Ewan

3
Bạn có thể thoát khỏi việc không xem xét và retro, có thể làm chúng mỗi tháng một lần. Thiết kế (thiết kế giao diện người dùng?) Như một nhóm / chạy nước rút riêng biệt là một ý tưởng tốt tôi nghĩ. Hy vọng phần lớn thời gian thiết kế được thực hiện trước khi nhà phát triển bắt đầu và không thay đổi quá nhiều
Ewan

3
Chủ sở hữu sản phẩm muốn các nhà phát triển bỏ mọi thứ và làm việc với các lỗi sản xuất, ngừng chạy nước rút hiện tại, sửa lỗi và bắt đầu chạy nước rút khác khi hoàn thành. Có những hậu quả cho những quyết định này và điều này sẽ khiến chủ sở hữu sản phẩm nhận ra tác động đối với các sửa lỗi ngay lập tức. Họ sẽ phải sử dụng thận trọng hơn khi mọi thứ được coi là trường hợp khẩn cấp. Hoặc bạn có thể chờ đợi và giải quyết chúng trong lần đứng lên tiếp theo. Bằng cách này, bạn có thể thấy ai có thêm băng thông và bạn không làm gián đoạn dòng chảy của nhà phát triển.
JeffO

5
Nếu bạn bỏ qua đánh giá và retro và thực hiện thiết kế trong một lần chạy nước rút riêng, thực sự không còn Scrum nào nữa ...
Erik

6
Giải pháp của bạn là "có được quyền lực hàng đầu trong công ty, sau đó chi rất nhiều tiền bằng cách tạo ra ba nhóm hoàn toàn mới"?
Cuộc đua nhẹ nhàng với Monica

25

Chỉ cần cố gắng để suy nghĩ bên ngoài hộp ở đây.

Vì có thể không thể khiến chủ sở hữu sản phẩm thấy mọi thứ theo cách của bạn. Vẫn có thể có những lỗi nghiêm trọng mà đơn giản là không thể chờ đợi, gặp gỡ khách hàng khi cần hỗ trợ nhà phát triển, v.v ... khi bạn cần đưa một nhà phát triển ra khỏi nước rút trong một thời gian.

Tại sao không thử dự đoán điều này và sử dụng nó cho lợi thế của bạn?

Bạn sẽ cần một nhóm 5+ để nó trở nên thực tế.

Nhưng tại sao không đưa một nhà phát triển ra khỏi mọi lần chạy nước rút (luân phiên giữa các nhà phát triển, mỗi người sẽ đến lượt mình).

Vì rất có thể không đủ lỗi để sử dụng một nhà phát triển đầy đủ để sửa lỗi, có những vấn đề hoặc nhiệm vụ khác có thể được thực hiện.

  • Chạy thử nghiệm để xác định tắc nghẽn hiệu suất hoặc các vấn đề về khả năng mở rộng
  • Duy trì hệ thống xây dựng
  • Các cuộc họp với khách hàng
  • Nghiên cứu các khung / thư viện mới
  • Khám phá các tính năng ngôn ngữ bạn muốn sử dụng
  • Đọc về các vấn đề bảo mật
  • Bảo trì cơ sở dữ liệu
  • Sự bảo trì máy chủ

Vận tốc nhóm có thể tăng lên, căng thẳng có thể giảm, xung đột với quản lý có thể giảm, bạn thực sự có thời gian để cải thiện kiến ​​thức của bạn.


3
Tôi cũng nghĩ như vậy - xoay một nhà phát triển để làm "việc vặt" (vấn đề sản xuất) và vì anh ta sẽ không làm được nhiều việc thực sự, hãy để anh ta làm nghiên cứu / thăm dò / những điều bất thường khác. Và làm một phân tích nguyên nhân gốc rễ tốt của từng vấn đề sản xuất để số lượng chúng đi xuống.
RemcoGerlich

1
Đó thực sự là một ý tưởng rất tốt! Tôi sẽ cần phải thuê một hoặc hai nhà phát triển nữa nhưng tôi tin rằng nó xứng đáng. Cảm ơn nhiều!
Shadin

1
Trong dự án của chúng tôi, chúng tôi đã chính thức hóa vị trí đó ở một mức độ nào đó. Chúng tôi có một nhà phát triển cấp cao trong mỗi nhóm được chỉ định là Trưởng nhóm công nghệ cho nhóm scrum. TL thực hiện một số điều (cố vấn cho các nhà phát triển cơ sở, thực hiện "kế hoạch 4 + 1" trước khi sản xuất, giải quyết các vấn đề cho các nhà phát triển khác khi họ đưa ra, v.v.) nhưng một điều đi kèm với TL là xử lý các vấn đề sản xuất khoai tây nóng và khuyết tật ưu tiên cao. Rõ ràng, RẤT NHIỀU phụ thuộc vào hệ thống / triết lý sản xuất của bạn nhưng TL có thể can thiệp để "che chắn" phần còn lại của nhóm và để họ tập trung vào câu chuyện của người dùng.
JBiggs

14

Một giải pháp hiệu quả để quản lý nỗ lực của nhà phát triển cho các vấn đề sản xuất thực sự thiết yếu mà tôi đã sử dụng là "phương pháp Batman".

Khía cạnh đắt đỏ của trách nhiệm hỗ trợ sản xuất trong khi phát triển chức năng mới là chuyển đổi ngữ cảnh, vì vậy bạn nên đặt mục tiêu hạn chế điều đó.

Với việc nhóm mua vào, tạo một danh sách các thành viên trong nhóm và duyệt qua nó, để mỗi ngày, một người mới được tuyên bố là "Người dơi" tại cuộc họp đứng lên và sẽ trả lời các vấn đề sản xuất thiết yếu vào ngày hôm đó. Phần còn lại của nhóm có thể tập trung vào phát triển mà không phải chuyển đổi ngữ cảnh và mọi người đều có một phần công bằng về nỗi đau của sự hỗ trợ. Với nhóm 5 người, đó là một ngày một tuần trong đó nhà phát triển có thể bị gián đoạn và 4 ngày không bị gián đoạn, thời gian phát triển có thể dự đoán được.

Điều này có lợi ích về kiến ​​thức / kinh nghiệm được chia sẻ giữa các nhóm, vì vậy bạn không có một người chịu trách nhiệm khắc phục các vấn đề cụ thể và trở thành một điểm thất bại duy nhất và phân chia công bằng các vấn đề hỗ trợ.


Một cách tiếp cận rất thú vị và tôi tin rằng nó có thể áp dụng trong tình huống của chúng ta bây giờ! Cảm ơn nhiều!
Shadin
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.