
The Planet Argon engineering team has always faced a common but annoying challenge when tackling technical debt management – when an engineer spotted a refactor opportunity during their coding sessions, they would have to create Jira tickets to track it manually. Switching back and forth from VSCode to Jira like that created several problems for our team:
- Context Loss: Important details such as file location, line numbers, and the actual code snippet were frequently omitted when creating tickets for tracking tech debt.
- Workflow Disruption: Developers had to switch between VS Code and Jira, breaking their focus and reducing productivity.
- Inconsistent Documentation: Technical debt items varied greatly in quality and detail without a standardized process.
We needed a solution that would integrate directly into our development environment and streamline the entire process of capturing and documenting technical debt.
Our Solution: Cherrybomb VS Code Extension
To bridge this gap, we built Cherrybomb, a custom VS Code extension designed specifically to capture technical debt at the moment of discovery. Here’s why we’re excited about it.
We started with a status bar integration that remains visible whenever VS Code is open. This gives developers a constant, unobtrusive reminder that they can quickly flag technical debt. When they spot problematic code, they simply highlight it and click the status bar icon.
Behind the scenes, Cherrybomb immediately performs automatic context capture, collecting the selected code snippet, the file path, and exact line numbers. This ensures no critical information is lost.
The extension then displays an interactive webview form within VS Code that includes:
- A dropdown menu populated with our active Jira projects.
- Fields for the issue title and description.
- A preview of the captured context information.
When the developer submits the form, Cherrybomb authenticates with our Jira Cloud instance and creates a new comprehensive Jira issue that contains all the information collected in the IDE as well as a via-cherrybomb
label that makes it easy to filter and find these issues later.
We packaged the extension as a VSIX file and distributed it internally via a secure file-sharing system. This lets our team install and use it without having to publish it to the public VS Code extension marketplace.
Transforming How We Handle Technical Debt
Implementing Cherrybomb transformed our approach to technical debt in several ways.
The most immediate benefit was the elimination of context switching. Developers could now document technical debt without leaving VS Code, letting them keep their focus and create tech debt issues when they have the most context and understanding of the problem.
The quality of our documentation also improved. Every issue now includes precise code snippets, exact file locations, and line numbers. This makes future fixes more efficient, even when addressed by different team members.
Our standardized reporting structure has also improved how we prioritize technical debt across projects. Team leads can now make more informed decisions about which issues to address in upcoming sprints based on consistent, detailed documentation.
The impact on team productivity has been significant:
- Time Savings: Developers spend less time on administrative tasks and more time writing quality code
- Enhanced Collaboration: Clear, contextual issue tracking has improved communication between team members
- Knowledge Sharing: Detailed technical debt tickets serve as learning opportunities for newer team members
The Evolution of Cherrybomb
While Cherrybomb has already made a substantial impact on our workflow, we see several opportunities for enhancement:
Feature Expansion
- Adding more formatting options to the webview form for richer issue descriptions
- Integrating additional Jira data fields like fix versions and custom labels
Integration Improvements
- Connecting with other internal tools to create a more comprehensive technical debt management system
- Adding Git integration to capture branch names and automatically update associated Jira issues when code snippets or branches change
- Enhancing error reporting and handling for a smoother user experience
User-Driven Refinement
- Ongoing collection of feedback from our engineering team to identify friction points
- Iterative UI improvements based on real-world usage patterns
Small Tools, Big Impact
Cherrybomb demonstrates that committing to solving very specific workflow problems can have outsized effects on your team’s productivity and code quality. By embedding technical debt management directly into the development environment, we not only improved our documentation and saved time, but we also built our values of code quality and thoughtful refactoring into our devs’ workflows. The success of this project has also inspired us to look for other aspects of our development process that could benefit from similar streamlining.
Did this helpful little tool solve all of our tech debt or dev workflow problems? Of course not. But sometimes the most effective improvements aren't huge sweeping platform changes or introducing new processes. Sometimes, all it takes is building a focused tool that removes specific friction points from everyday workflows.
If you're interested in how we help clients tackle technical debt and improve their development workflows, check out our case studies on Walkenhorst's, I Will Teach You to Be Rich, and Newspaper Club. Each illustrates our commitment to building maintainable, efficient systems.
We Think You’ll Also Enjoy Reading…
- What are Common Traits of Maintainable Software?
- Prepare to Tack: Steering Rails Apps out of Technical Debt - Rails World 2024
- What Value Is A Ruby on Rails Code Audit?
FAQs
Q. Can your internal tools like Cherrybomb be adapted for client use?
A. While Cherrybomb is currently an internal tool, its success reflects our broader approach: build or integrate lightweight solutions that reduce friction in everyday workflows. For clients, we often customize tools, recommend integrations, or advise on process improvements to help your team manage tech debt more effectively.
Q. What types of clients benefit most from your technical debt management process?
A. We work best with companies that have long-standing Ruby on Rails applications and want to modernize their codebase. Whether your team is bogged down by legacy code or planning a major upgrade, we bring a thoughtful, practical approach to identifying and tackling the right pieces of debt at the right time.
Q. What benefits has your team seen since using Cherrybomb?
A. We’ve seen significant improvements in developer focus, consistency in technical debt documentation, and team-wide collaboration. Cherrybomb has helped us prioritize tech debt more effectively and reduced time spent on manual ticket creation.
Q. Is Cherrybomb available to the public?
A. No, Cherrybomb was developed as an internal tool and is currently only distributed to our team via a secure file-sharing system. We’ve packaged it as a .vsix file for easy internal installation. But we do build custom tools for our clients.
Tags: