Anyone who's familiar with the agile software development sphere understands the challenge of maintaining a swift pace without sacrificing quality. At Centercode, we're no exception—but we've been developing our own unique approach to tackling them effectively.
Let's talk about MiniJam—a one-day version of last October's DevJam event where our developers worked against the clock (and each other) to clear as many quality-of-life tickets as they could for cash prizes and permanent bragging rights. And much like the previous event, this experience brought our team face to face with the speed vs quality conundrum—and taught us a couple of lessons I'm happy to share today.
Lesson #1: Collaborate to identify what's really possible
The success of these events begin long before the actual day of coding. It starts with a thorough assessment of what's realistically achievable. Our product, QA, and support teams, in collaboration with engineering leaders, meticulously reviewed months of feedback from our users, customers, and teammates. Through this process, they were able to identify the neglected bugs and minor enhancements that caused the most friction and would produce the biggest small wins. It allowed them to map out a list of manageable tasks for devs to tackle during the event.
This careful curation set the stage for strategic decision-making, ensuring our developers could identify and prioritize tasks that match their skills and maximize their output. This approach highlights a key strategy for agile teams. By bringing together different viewpoints early on, we get a clearer picture of what a project entails and what hurdles we might face. And that paves the way for the dev team to take on their work with minimal risk of scope creep and roadblocks.
Lesson #2: Choose your tasks wisely
Excelling at DevJam requires a blend of strategy, efficiency, and precision. As a participant, you're free to choose any number of tickets, meaning you can compete in your wheelhouse. But there are point penalties for incomplete tasks, as well as deductions for any discovered bugs or failed QA tests during the evaluation phase—meaning quality is key.
You have to know yourself and what you're capable of doing well in a time crunch. Some competitors opted for a high number of easy-grab tickets they were confident they could knock out without much trouble. Others took on tickets more carefully, grabbing fewer, high-point tasks and taking on more as the competition went on. Each strategy has its own risks and rewards; understanding your strengths and strategically selecting tasks not only optimizes your performance but also mirrors the crucial decisions that shape successful product development in real-world scenarios.
Lesson #3: Invest in quality
After the rush of the first day (and the "hangover" of the second day), we came to the most important part of the event: scoring via rigorous quality assurance testing. Our QA team thoroughly evaluated each enhancement, rewarding developers for successful implementations and deducting points when bugs appeared.
This final phase really emphasizes why quality is critical. We often hear that "quality matters," but under tight deadlines, it's tempting to rush solutions and deal with the consequences later. However, in the real world, the cost of fixing these issues later goes beyond losing a few points—it means investing more time and resources, and potentially causing user frustration if any bugs slip through.
With 88% of tickets passing QA in the first go, we're proud of our work but also recognize we have room for improvement. Spending a little extra time testing or consulting with QA is an investment with big pay-offs.
Everyone's a winner here
In the end, it was Eddie and Dustin—two competitors with completely different strategies—who tied for first place. (See? There's more than one way to crack an egg.) But with 93 issues resolved, including 26 customer requests, the real winners are our users. Their experience will be a little bit better in a lot of different places thanks to a crunchy but rewarding effort made by the dev team.
It isn't always easy balancing speed and quality. If you're on a team that struggles with this, know that we're right there with you—and that innovative ways to make this never-ending challenge a little more fun are within reach. If you have or would like to try something similar on your team, we'd love to hear about it! 😀