Có nghiên cứu về những bất lợi của việc sử dụng các hệ thống theo dõi vấn đề? [đóng cửa]


9

Tôi không thích các hệ thống theo dõi vấn đề vì:

  • Phải mất quá nhiều thời gian để mô tả các vấn đề trong đó. Điều này không khuyến khích việc sử dụng nó.
  • Bạn tạo một nơi để giữ lỗi của bạn. Và nếu có một nơi dành cho họ, mọi người thường không quan tâm quá nhiều đến việc sửa lỗi vì họ có thể đặt nó ở đó để một ngày nào đó ai đó có thể sửa nó (hoặc không).
  • Với thời gian, danh sách lỗi trở nên dài đến mức không ai có thể đối phó với nó nữa, chiếm rất nhiều thời gian của chúng tôi.

Tôi thích xử lý các vấn đề bằng cách sử dụng post-it trên bảng trắng, đối thoại trực tiếp và tiêu diệt các lỗi quan trọng ngay khi chúng xuất hiện. Tôi không quan tâm quá nhiều để theo dõi lịch sử lỗi vì tôi không nghĩ rằng nó đáng giá quá cao.

Tôi ở đây một mình à? Có nghiên cứu (sách / bài viết / bất cứ điều gì) về những nhược điểm (hoặc lợi thế lớn) của việc sử dụng các hệ thống theo dõi vấn đề?


5
Bỏ phiếu để đóng, quá cục bộ. Vấn đề ở đây dường như không nằm ở các hệ thống theo dõi vấn đề, thay vào đó là quy trình xử lý lỗi tại công ty.
P.Brian.Mackey

1
Những hệ thống theo dõi vấn đề nào bạn đã thử (ngoài ghi chú sau và bảng trắng)? Quá trình xung quanh việc sử dụng của họ là gì?
Thất vọngWithFormsDesigner

1
Trong số đó, tôi chỉ sử dụng Jira (tôi đồng ý rằng nó dường như có rất nhiều chi phí, cho đến khi bạn quen với "nhịp điệu" của nó). Không phải là một fan hâm mộ của giao diện người dùng web, nhưng nó hoàn thành công việc. Ở đây, chúng tôi cũng sử dụng MKS, cũng kiểm soát nguồn. Nó tốt hơn Jira. Không ai trong số chúng là hoàn hảo, nhưng tất cả chúng vẫn tốt hơn ghi chú trên giấy và ký ức hữu cơ của mọi người.
Thất vọngWithFormsDesigner

15
Tôi đoán tôi bối rối trước câu hỏi. Sử dụng post-it trên bảng trắng một hệ thống theo dõi vấn đề. Nếu dự án / nhóm / cơ sở mã của bạn đủ nhỏ và hoạt động trực tiếp + trực tiếp, thì có lẽ bạn sẽ gặp khó khăn trong việc thuyết phục bản thân để thêm chi phí cho quy trình. Có rất nhiều mặt trái để sử dụng một hệ thống như vậy, như được lưu ý dưới đây. Ngay khi dự án và nhóm phát triển, đặc biệt là khi các thành viên trong nhóm có thể không ở cùng tòa nhà, thành phố hoặc quốc gia, các hệ thống khác bắt đầu tỏa sáng như được ghi chú trong các câu trả lời dưới đây.
s_hewitt

2
Làm thế nào để bạn đính kèm một dấu vết ngăn xếp vào một bài viết nó? hoặc một ảnh chụp màn hình? hoặc một thông báo lỗi?
jk.

Câu trả lời:


41

Phải mất quá nhiều thời gian để mô tả các vấn đề trong đó. Điều này không khuyến khích việc sử dụng nó.

Nếu bạn thậm chí không thể mô tả một lỗi, làm thế nào bạn có thể bắt đầu sửa nó?

Bạn tạo một nơi để giữ lỗi của bạn. Và nếu có một nơi dành cho họ, mọi người thường không quan tâm quá nhiều đến việc sửa lỗi vì họ có thể đặt nó ở đó để một ngày nào đó ai đó có thể sửa nó (hoặc không).

Đó là một vấn đề với nhóm của bạn không phải với phần mềm.

Với thời gian, danh sách lỗi trở nên dài đến mức không ai có thể đối phó với nó nữa, mất rất nhiều thời gian của chúng tôi.

Một lần nữa bạn mô tả một vấn đề với nhóm của bạn.

Điểm quan trọng của phần mềm theo dõi lỗi là không giúp bạn thúc đẩy nhóm của mình sửa lỗi, đó là lưu giữ hồ sơ để bạn có thể theo dõi nguyên nhân gây ra lỗi và ngăn chặn chúng xảy ra lần nữa. Không có phần mềm nào sẽ là sự thay thế cho việc quản lý tốt.


Phần mềm theo dõi cũng giúp theo dõi các lỗi cần khắc phục. Một lưu ý dính có thể rơi ra, và nếu bốn người gặp bạn với các lỗi mà bạn có thể làm việc ngay thì bạn có thể sửa ba và quên thứ tư. Nó hữu ích ngay cả khi bạn không chú ý đến nguyên nhân gây ra lỗi.
David Thornley

và để khắc phục sự cố với nhóm của bạn, bạn có thể sử dụng gamification -> en.wikipedia.org/wiki/Gamification
marc.d

11
@JoaoBosco: Vé viết tay bị mất, viết nguệch ngoạc, vô tình vứt đi ... những cuộc đối thoại trực tiếp rất tuyệt trừ khi bạn mô tả những lỗi phức tạp cho những người không có trí nhớ chụp ảnh. Mọi người sẽ quên mọi thứ từ các cuộc trò chuyện, không phải vì họ muốn mà vì đó đơn giản là những gì xảy ra.
Thất vọngWithFormsDesigner

3
@JoaoBosco: Còn ảnh chụp màn hình lỗi GUI thì sao? Bạn sẽ vẽ lại chúng bằng tay? Các mẫu đầu ra dữ liệu không chính xác (nếu đó là lỗi cơ sở dữ liệu, bạn đã sẵn sàng viết n hàng với m cột dữ liệu không chính xác bằng tay) chưa? Các hình thức tạo tác kỹ thuật số khác có liên quan đến khuyết điểm mà không dịch tốt sang ghi chú dán? Tất cả những thứ đó có thể dễ dàng được gắn vào một vé trong một hệ thống theo dõi vấn đề. Và nếu sau này bạn sẽ chuyển đổi ghi chú dán của mình thành tệp văn bản, tại sao không phải là cơ sở dữ liệu cho phép bạn sắp xếp, đặt hàng, phân loại vé của bạn, sau đó thêm một chút để theo dõi vấn đề.
Thất vọngWithFormsDesigner

10
@ user1062120: "Nếu không có nơi để giữ lỗi, mọi người bắt đầu sửa lỗi thường xuyên hơn" - hoặc họ bắt đầu phớt lờ và quên lỗi. Đó không phải là một "mánh khóe để thúc đẩy con người" mà là một nỗ lực phi lý để tái định nghĩa một điểm yếu thành một điểm mạnh.
Michael Borgwardt

12

IMO điểm bắt đầu của bạn là thiên vị. Nếu các nhà phát triển không sửa được các lỗi, dự án sẽ thất bại, cho dù họ theo dõi lỗi bằng cách sử dụng một công cụ theo dõi lỗi thích hợp, sau đó, chạm khắc đá hay không. Đó không phải là lỗi của công cụ nếu nó không được sử dụng hoặc sử dụng sai. (Điều đó nói rằng, tất nhiên có những trình theo dõi lỗi / vấn đề xấu ngoài kia ... Tôi đã làm việc trong một dự án sử dụng một công cụ hoàn toàn không phù hợp cho công việc này, vì vậy tôi nghĩ tôi biết nó có thể tệ đến mức nào. Nhưng cũng có những cái tốt, trong đó yêu cầu buổi lễ và chi phí tối thiểu, cho phép bạn tập trung vào các thông tin liên quan.)

Tuy nhiên, nếu các nhà phát triển quan tâm và dự án lớn hơn kích thước tầm thường và có nhiều hơn một nhà phát triển trên đó, và có một số loại quản lý liên quan (tất cả đều khá phổ biến trong các dự án trong thế giới thực ), sẽ sớm xuất hiện các câu hỏi như:

  1. Những lỗi mở nào cần được sửa trước? (lưu ý: trong một dự án lành mạnh, điều này phải được quyết định bởi chủ sở hữu sản phẩm và / hoặc quản lý, KHÔNG phải bởi nhà phát triển - trước hết họ phải biết về tất cả các lỗi mở!)
  2. Chúng ta có bao nhiêu lỗi mở và mức độ nghiêm trọng?
  3. Cái nào trong số này phải được sửa trước khi chúng tôi sẵn sàng phát hành?
  4. Mất bao nhiêu thời gian để lập kế hoạch cho các bản sửa lỗi này - thường dẫn đến: trung bình mất bao nhiêu thời gian để sửa một lỗi?
  5. Có bao nhiêu lỗi đã được báo cáo bởi khách hàng trong phiên bản trước?
  6. ai đã sửa lỗi này và lỗi này, khi nào và những thay đổi (mã / cấu hình / dữ liệu) nào đã khắc phục?
  7. Những sửa lỗi nào được bao gồm trong bản phát hành mà chúng tôi sắp phát hành?
  8. ...

Bạn có thể trả lời các câu hỏi [cập nhật] lặp đi lặp lại, đáng tin cậy và hiệu quả [/ update] dựa trên ghi chú sau của bạn không?

Có, nhập dữ liệu lỗi vào trình theo dõi vấn đề đòi hỏi một số chi phí. Tuy nhiên, nó được bù đắp nhiều hơn bởi thời gian và công sức tiết kiệm được khi tra cứu và tạo các báo cáo như trên, từ dữ liệu lỗi được lưu trữ.


Sau đó, nó sẽ không trả lời tất cả mọi thứ. Nó chỉ là một công cụ. Bạn vẫn có thể ưu tiên chúng, thống kê các lỗi mở, sửa lỗi, v.v. Tất cả những gì tôi nói là tôi nghĩ rằng hệ thống theo dõi vấn đề có thể phản tác dụng hơn là giúp bạn khắc phục các vấn đề quản lý bạn gặp phải.
dùng1062120

7
@ user1062120: Và tất cả những người khác đang nói là bạn rất, rất sai. Post-it một hệ thống theo dõi vấn đề, chỉ là một hệ thống rất kém mà thiếu rất nhiều tính năng cần thiết.
Michael Borgwardt

@ user1062120, tất nhiên về mặt lý thuyết, tất cả những điều này có thể được trả lời bằng cách sử dụng ghi chú dán - nếu bạn thêm ID duy nhất cho mỗi, hãy tiếp tục thêm nhận xét lịch sử chi tiết về chúng (vì vậy bạn sẽ bắt đầu cần ghi chú khá lớn sau một thời gian :-), và dành một lượng thời gian khủng khiếp để sắp xếp, sắp xếp lại và sắp xếp lại chúng theo câu hỏi hiện tại (mà bạn có thể cần phải thuê một anh chàng mới trong một dự án lớn hơn ;-).
Péter Török

@ user1062120, ví dụ: năng suất lập kế hoạch Câu hỏi 1 ở trên - hãy sắp xếp lại các ghi chú dán theo mức độ ưu tiên. Ngay sau đó PM yêu cầu Q2: oops, sắp xếp lại theo mức độ nghiêm trọng. Nhưng Q1 vẫn mở, vì vậy bây giờ hãy sắp xếp lại tất cả chúng theo mức độ ưu tiên. Rất tiếc, 3 bài đăng đã bị bỏ lại vì chúng ở trên bàn của Joe - bắt đầu lại từ đầu! Sau đó, Q6 - hãy khai thác các hộp lưu trữ lịch sử sau đó, duyệt qua tất cả chúng để tìm cái thích hợp, sau đó thử đọc chữ viết nguệch ngoạc trên lưng, để mô tả những thay đổi ... rất tiếc, ai đó đã mở cửa sổ gần đó, vội vã để cứu cái bưu điện của bạn thoát khỏi gió ... vv
Péter Török

9

Phương pháp của bạn có thể làm việc cho các dự án rất nhỏ với số lượng lập trình viên hạn chế. Khi một dự án trở nên lớn hơn, việc có một hệ thống theo dõi vấn đề trở nên quan trọng hơn nhiều cho sự phối hợp giữa các nhóm khác nhau, đặc biệt là nếu các bản sửa lỗi sẽ được đưa ra trong các bản phát hành mã khác nhau. Các dự án phức tạp sẽ có nhiều bộ phận / bộ phận chuyển động và đảm bảo rằng các sự cố được lên lịch và khắc phục là một phần quan trọng trong việc thực hiện theo dõi vấn đề tốt

Một số bài báo / nghiên cứu có thể khiến bạn quan tâm bao gồm bài viết này thảo luận về việc sử dụng Jira của Zend và nghiên cứu này của Pháp thảo luận về việc sử dụng các hệ thống theo dõi lỗi.


1
Cảm ơn bạn rất nhiều cho các tài liệu tham khảo. Tôi sẽ xem xét chúng. Và vâng, nó đang hoạt động trong vòng 3 đội nhỏ ở đây.
dùng1062120

2
+1 cho các tài liệu tham khảo, được giải thích trong câu hỏi.
mattnz

4

Có thể có những nghiên cứu, nhưng thậm chí tốt hơn là những kinh nghiệm khó kiếm được của những người trong lĩnh vực này. Hầu hết các hệ thống theo dõi vấn đề phải chịu các quá trình thúc đẩy thiết kế của họ. Trình theo dõi vấn đề thường cần hỗ trợ 2 lớp người dùng riêng biệt:

  1. Nhóm phát triển
  2. Người dùng hệ thống

Cal Henderson (trước đây của Flickr) có một bài viết tuyệt vời về thiết kế của nhiều trình theo dõi vấn đề và lý do tại sao anh ấy thích trình theo dõi vấn đề GitHub (như tôi). Ngoài ra, Garrett Dimon đã trình bày thiết kế của Sifter và minh họa một cách đơn giản hóa quy trình để theo dõi vấn đề hiệu quả hơn . Tôi đã áp dụng một số ý tưởng từ cả hai bài đăng này để giúp đơn giản hóa quy trình theo dõi vấn đề của nhóm tôi.

Tất cả những gì đã nói, nó vẫn đến với mọi người qua quá trình và công cụ. Suy nghĩ chung của tôi là các trình theo dõi vấn đề có xu hướng tạo ra hồ sơ tồn đọng này mà bạn phải quản lý. Trong quá trình xử lý, mọi người có nhiều khả năng hợp lý hóa những gì là hoặc không phải là một lỗi. Trong quá trình của chúng tôi, chúng tôi đưa ra quyết định gần như ngay khi lỗi được đệ trình về việc đó có phải là vấn đề hay không. Khi quyết định đó được đưa ra, lỗi sẽ đi vào Pivotal Tracker. Sự khác biệt ở đây là chúng tôi sử dụng Trình theo dõi để ưu tiên , không phải là bút giữ cho những việc chúng tôi không muốn làm. Trong thực tế khi Icebox bắt đầu trở nên quá lớn, tôi chủ động xóa các mục, bao gồm cả các lỗi. Nếu một vấn đề đủ lớn để xử lý, nó sẽ xuất hiện trở lại.

Chúng tôi hiếm khi cần lịch sử lỗi. Đôi khi, ai đó có thể đề cập đến một triệu chứng của lỗi và chúng tôi có thể thực hiện tìm kiếm để xem liệu nó có liên quan đến một số vấn đề chúng tôi đã xử lý hay không. Nhưng, đó là hiếm.

TL; DR Tập trung vào quy trình của bạn, chọn các công cụ đơn giản và giải quyết các vấn đề khi chúng xuất hiện.


Đó chính xác là những gì tôi muốn nói. Chúng tôi cũng ưu tiên các mặt hàng ngay khi chúng xuất hiện và chúng tôi cũng xóa các mặt hàng không quan trọng. Những thứ quan trọng sẽ trở lại trong thời gian. Tôi thấy rằng chi phí để theo dõi mọi thứ là không xứng đáng. Ý tưởng có một bảng trắng nhỏ sau đó là bạn không thể đăng ký mọi thứ, chỉ là những thứ quan trọng. Vì vậy, thủ thuật này buộc bạn phải xử lý nó càng sớm càng tốt. Nhưng đó là trường hợp của tôi, vì vậy tôi không chắc nó có hoạt động ở mọi nơi không.
dùng1062120

2

giết những con bọ quan trọng ngay khi chúng xuất hiện

Có vẻ như bạn đang đột nhập vào cánh cửa mở ở đây. Các lỗi quan trọng bị "giết" càng sớm càng tốt, bất kể bạn có sử dụng trình theo dõi vấn đề hay không.

  • Oh và một phần "khi chúng xuất hiện" là BTW khá trơn. Trong một dự án, chúng tôi đã có một lỗi quan trọng đe dọa sẽ ném toàn bộ sản phẩm ra khỏi doanh nghiệp (điều gì có thể quan trọng hơn?). Nó rất phức tạp (lỗi kiến ​​trúc) và chúng tôi biết sẽ mất nhiều thời gian để sửa nó. Khách hàng vui lòng đồng ý cho chúng tôi một năm để sửa chữa (trước khi bỏ sản phẩm của chúng tôi) và chúng tôi đã làm điều đó trong khoảng một năm.

Đối với các trình theo dõi vấn đề, tôi đã sử dụng chúng trong gần mười năm và theo quy định, tất cả các lập trình viên xung quanh tôi đã dành khá ít thời gian với trình theo dõi (lưu ý tôi đang nói về lập trình viên; các nhà quản lý là câu chuyện khác nhau). Tôi đã thấy các trường hợp (hiếm khi) khi nó không như vậy - trong tất cả các trường hợp này, một cái gì đó đã bị phá vỡ nghiêm trọng.

Về các nghiên cứu về các cuộc đối thoại trực tiếp và theo dõi vấn đề, một lần nữa cảm giác như bạn đang bước vào cánh cửa mở ở đây. Theo dõi vấn đề là một giao tiếp bằng văn bản điển hình ; Có rất nhiều nghiên cứu cho thấy rằng để thảo luận về mọi thứ, giao tiếp face2face hiệu quả hơn nhiều so với điện thoại , điều này hiệu quả hơn nhiều so với văn bản .

  • Thực tế khi bạn hỏi về f2f, cảm giác như bạn (mis) sử dụng trình theo dõi để thảo luận về mọi thứ - đây không phải là mục đích của nó. Để tìm ra mục đích sử dụng của nó, chỉ cần đánh vần tên của nó từ từ và rõ ràng: hệ thống theo dõi vấn đề .

danh sách lỗi quá dài

Theo kinh nghiệm của tôi, ở trên là một lợi thế không phải là một vấn đề.

Với danh sách lỗi dài, các nhà phát triển có thể thiết lập một hàng đợi và lên kế hoạch sửa chữa phía trước. Điều này là hiệu quả như nó được; với tôi đây cơ bản là một niết bàn khi tôi có một hàng đợi như vậy để làm việc. Đầu tiên lỗi - sửa chữa - hoàn thành, thứ hai lỗi - sửa chữa - thực hiện, lỗi tiếp theo - sửa chữa - làm vv vv Không gián đoạn ngu ngốc, không có phiền nhiễu đau đớn với cuộc trò chuyện f2f oh-so-hiệu quả, dòng chảy tinh khiết .

  • Tôi chỉ nhớ lại một trường hợp khi danh sách lỗi dài là một vấn đề. Nó đã xảy ra khi một số kẻ ngốc ở cấp quản lý cao hơn quyết định một chính sách buộc các nhà phát triển phải chọn lỗi tiếp theo từ một đống 50-100 gần như hàng ngày. Thật là một sự lãng phí. Chúng tôi mất vài tháng đau đớn cho đến khi chúng tôi tìm ra cách leo lên cái này trên đầu và sửa nó.
    Một thời gian sau khi chúng tôi quản lý để thiết lập luồng công việc thuận tiện, chúng tôi phát hiện ra rằng "tồn đọng vô tận" của chúng tôi đã trống rỗng.

2
Gần đây tôi đã dành 2,5 ngày để vượt qua hơn 300 lỗi mở (chủ yếu là UI) tích lũy trong hơn một năm, tất cả được giao cho những người làm việc tự do / thực tập đã qua lâu hoặc cho người quản lý dự án không có thời gian để xử lý chúng. Tôi thấy rằng tôi có thể đóng khoảng một nửa trong số chúng là đã được sửa hoặc không còn phù hợp nữa. Phần còn lại đang được cố định ở mức khá sau khi tôi phân công họ cho đúng người. Hệ thống theo dõi lỗi được sử dụng kém, nhưng không có nó, tất cả các lỗi đó (không có trình chặn, nhưng một số khá xấu xí) chắc chắn sẽ bị lãng quên.
Michael Borgwardt

1
@MichaelBorgwardt yeah liệt kê quá lâu đến nỗi không ai có thể đối phó với nó theo kinh nghiệm của tôi luôn luôn có thể quản lý được miễn là người ta không bị đóng băng bởi những con số đáng sợ như 200, 400, 1000. Tôi vừa kiểm tra nhanh sự tò mò - cho năm ngoái tôi đã sửa hơn 300 vấn đề - Tôi một mình (!). Vì tò mò tôi cũng đã kiểm tra những người khác trong nhóm nghĩ rằng có lẽ tôi là duy nhất - không, 200-400 bản sửa lỗi / năm chỉ xuất hiện ở mức trung bình. Tuy nhiên, 500 lỗi này trông đáng sợ, có thể chỉ là nửa năm làm việc cho 4-5 nhà phát triển, miếng bánh :)
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.