Recently, we invested a significant amount of VC funding to conduct a thorough analysis of our core business operations. We engaged a well-regarded national consulting firm with expertise in software development to assist in reviewing our efforts. Since we had some “use it or lose it” funds available in the budget, we asked them to also analyze the current “bug” situation in Xojo.
The only reliable data they could access was the issue database. To my knowledge, there are no additional internal tools Xojo uses to track the broader bug landscape. For this analysis, we specifically focused on open issues and did not include feature requests.
Below is a summary of their findings. I share this with the genuine intention of being helpful, as Xojo’s success directly contributes to ours.
=========
This report examines Xojo’s bug tracking system, focusing exclusively on non-feature request issues, and provides actionable insights to enhance software quality. While it’s often said, “All software has bugs,” treating this notion as an excuse for inefficiency is naive and detrimental. Bugs are an expected part of software development, but a mature process and a disciplined approach can minimize their impact and maintain customer trust.
Key Findings
- Volume of Non-Feature Request Bugs• Xojo: 2,377 open “non-feature request” bugs.
• Industry Benchmark: Medium-sized software companies typically have 1,000-1,500 open bugs.
• Assessment: Xojo’s backlog is well above average, signaling higher-than-acceptable technical debt. The industry reality acknowledges bugs, but this volume suggests inefficiency, not inevitability. - Aging of Bugs• Xojo:
• Over 2 Years Old: 56.6% (1,346 bugs).
• 1-2 Years Old: 21.8% (518 bugs).
• Less than 90 Days Old: 7.3% (174 bugs).
• Industry Benchmark:
• Over 2 Years Old: 20-30%.
• Less than 90 Days Old: 20-30%.
• Assessment: Bugs lingering for over two years reflect poor prioritization. While all software may have bugs, sustained neglect only erodes product quality. - Average Bug Age• Xojo: 1,021 days (2.8 years).
• Industry Benchmark: 400-600 days (1.1-1.6 years).
• Assessment: Nearly double the benchmark, Xojo’s average bug age highlights significant room for improvement. - Bug Update Frequency• Xojo: Average time between updates is 732 days (2 years), with 1,563 bugs receiving multiple updates without resolution.
• Industry Benchmark: Updates typically occur every 60-90 days with steady progress.
• Assessment: The extended update intervals and lack of closure suggest systemic inefficiencies. - Oldest Non-Feature Bug• Xojo: 5,791 days (15.86 years, created January 24, 2009).
• Industry Benchmark: Rarely exceeds 5 years.
• Assessment: Allowing a bug to persist for over 15 years is not reflective of the claim that “all software has bugs” but rather of inadequate resource allocation.
Debunking the Myth: “All Software Has Bugs”
While true in a literal sense, this phrase often becomes a shield for complacency. The presence of bugs is not an excuse for tolerating inefficiencies. Industry leaders demonstrate that with the right processes, bugs can be managed proactively and resolved efficiently. Xojo’s current practices can be optimized to ensure that bugs are not just identified but systematically addressed in a timely manner.
Strategic Recommendations
- Immediate Actions• Prioritize Older Bugs:
• Dedicate resources to resolving the 1,346 bugs over two years old. Focus first on those with the greatest customer impact.
• Establish a Triage Process:
• Categorize bugs by severity and customer impact for targeted action. - Mid-Term Optimization• Create a Dedicated Resolution Team:
• Assign a team to systematically address long-standing issues using agile principles.
• Enhance Accountability:
• Ensure all bugs are assigned with clear ownership and deadlines for resolution. - Long-Term Process Improvements• Automate Tracking:
• Adopt real-time bug tracking tools to provide visibility and accountability.
• Set KPIs for Bug Resolution:
• Target an average resolution time of 400-600 days and resolve 70% of new bugs within 90 days.
• Balance Resources:
• Allocate sufficient focus to bug resolution alongside new feature development.
Projected Outcomes
Through disciplined execution, Xojo can transform its bug management approach:
• Reduce the backlog of aged bugs, restoring product stability.
• Shorten resolution times to align with industry standards.
• Build customer trust by demonstrating a commitment to quality.
Conclusion
The sentiment that “All software has bugs” is not a justification for inaction but a call to excel in managing them. By addressing inefficiencies, Xojo can exceed industry benchmarks, deliver a more reliable product, and elevate customer satisfaction.