Như được chỉ ra bởi một số câu trả lời khác, câu hỏi đúng ở đây có lẽ là: tại sao bạn có một trình theo dõi vấn đề. Một câu trả lời tốt cho câu hỏi này (không chỉ từ góc độ quản lý mà còn từ góc độ nhà phát triển) là bắt buộc nếu bạn muốn một hệ thống theo dõi vấn đề thực sự hoạt động và được cập nhật thường xuyên.
Ở nhiều công ty, hệ thống theo dõi vấn đề chủ yếu được sử dụng như một công cụ báo cáo quản lý. Bắt các lập trình viên cập nhật các vấn đề chỉ để quản lý có thể chạy báo cáo không hoạt động tốt. Và việc buộc các lập trình viên cập nhật các vấn đề cũng không hoạt động - bạn có thể đã cập nhật các vấn đề nhưng bạn nên đặt câu hỏi về dữ liệu.
Theo kinh nghiệm của tôi, cách duy nhất để thực sự có các nhà phát triển (và người kiểm thử, quản lý, v.v.) sử dụng hiệu quả một hệ thống theo dõi vấn đề là tích hợp nó vào quá trình phát triển. Điều này có nghĩa là đầu ra của một phần của quy trình trở thành đầu vào cho phần tiếp theo của quy trình.
Để cung cấp cho cơ quan hệ thống theo dõi lỗi tôi sẽ đề nghị như sau:
- Các nhà phát triển chỉ làm việc trên các lỗi / tính năng được đăng nhập trong trình theo dõi vấn đề và không có công việc nào được thực hiện ngoài nó. Tất cả các ý tưởng, dự án tái cấu trúc, các tính năng mới, các công cụ tùy chỉnh sẽ được phát triển, v.v. cũng nên được ghi lại.
- Các vấn đề được làm việc theo thứ tự ưu tiên. Ưu tiên một phần nên được xác định bởi quản lý, nhưng các nhà phát triển chắc chắn cũng có tiếng nói trong việc xác định các ưu tiên. Điều này đặc biệt đúng khi nói đến vấn đề bảo trì và tái cấu trúc.
Để xử lý, bạn có thể sử dụng một cái gì đó như sau:
- trạng thái 'mới' chỉ ra rằng một vấn đề chưa được nhà phát triển chọn và vẫn đang trong hàng đợi các vấn đề ưu tiên
- trạng thái 'được gán' chỉ ra rằng nó đã được gán cho nhà phát triển. Điều này có thể được thực hiện bởi nhà phát triển hoặc người khác như trưởng nhóm. Tôi thấy nó hoạt động tốt khi có một vài vấn đề được chỉ định cho mỗi nhà phát triển và thường là sự pha trộn giữa 'nâng vật nặng' như các tính năng mới và lựa chọn dễ dàng như các lỗi đơn giản hoặc một số công việc bảo trì đơn giản. Điều này cho phép các nhà phát triển lựa chọn công việc tùy thuộc vào tâm trạng của họ.
- trạng thái 'trong tiến trình' có nghĩa là nhà phát triển đang giải quyết vấn đề. Chỉ một hoặc hai vấn đề cho mỗi nhà phát triển nên được 'tiến hành' tại bất kỳ thời điểm nào.
- khi một vấn đề đã được giải quyết, nhà phát triển có thể thay đổi trạng thái của vấn đề thành 'cần kiểm tra' và thay đổi chủ sở hữu thành người kiểm tra. Đây là một bước quan trọng, vì đây cũng là hàng đợi làm việc của những người thử nghiệm.
- người kiểm tra có thể thay đổi trạng thái thành 'thử nghiệm thất bại' và thay đổi quyền sở hữu trở lại nhà phát triển, điều đó có nghĩa là nó sẽ đứng đầu hàng đợi cho nhà phát triển hoặc họ có thể thay đổi trạng thái thành 'sẵn sàng để triển khai'.
- các vấn đề với trạng thái 'sẵn sàng triển khai' sau đó có thể được hợp nhất và phát hành theo chu kỳ phát hành bởi bất kỳ ai chịu trách nhiệm cho các bản phát hành.
Tóm lại: làm cho hệ thống theo dõi vấn đề trở thành một phần thiết yếu của quá trình phát triển và bạn sẽ không phải lo lắng về các vấn đề không được cập nhật.