Improved dependency management for issue trackers in large collaborative projects
Issue trackers, such as Jira, have become the prevalent collaborative tools in software engineering for managing issues, such as requirements, development tasks, and software bugs. However, issue trackers inherently focus on the life-cycle of single issues although issues have and express dependencies on other issues that constitute an issue dependency network in a large complex collaborative projects. The objective of this study is to develop supportive solutions for the improved management of dependent issues in an issue tracker. This study follows Design Science methodology, consisting of elicitation of drawbacks, and construction and evaluation of a solution and system. The study was carried out in the context of The Qt Company's Jira, which exemplifies an actively used, almost two decade old issue tracker with over 100,000 issues. The drawbacks capture how users operate with issue trackers to handle issue information in large, collaborative and long-lived projects. The basis of the solution is to keep issues and dependencies as separate objects and automatically construct an issue graph. Dependency detection complements the issue graph by proposing missing dependencies, and consistency check and diagnosis identify incompatible issue priorities and release assignments. Jira's plugin and service-based system architecture realizes the functional and quality concerns of the system implementation. We show how to adopt the supporting intelligent techniques of an issue tracker in a complex use context and a large data-set. The solution takes into account integrated and holistic system-view, practical applicability and utility, and the practical characteristics, such as inherent incompleteness, of issue data.
READ FULL TEXT