Code Climate helped Kickstarter identify the hidden costs of technical debt
Kickstarter has been around since 2009, so the engineers frequently worked with legacy code. “To an engineer, it’s so obvious when a piece of code is brittle, but it’s really hard to advocate for putting engineering resources into solving technical debt.”
When Mark first joined Kickstarter as VP of Engineering, he was dedicated to aligning the engineering team with business objectives.
Mark started by re-organizing teams and giving each team ownership over a different part of the product. “Effective engineering leadership is being outcome-oriented,” says Mark, “which means the objective is not to ask, ‘Is the code good?’ but to ask ‘Is Kickstarter good?’”
While Mark had little trouble getting teams to understand business objectives, getting the executive team to understand engineering problems proved rather difficult.
Kickstarter has been around for about 10 years, so a big portion of the codebase was troublesome to work with. Engineers were constantly bogged down because of legacy code, but the executive team didn’t want to waste too much time on refactoring. They were more focused on getting new features out to customers.
Mark started by looking at his team’s weekly throughput in Velocity, as measured by merged pull requests. Whenever the throughput dipped significantly below their average, he’d know to investigate further.
Unlike subjective measures that are common on most engineering teams, like story points completed, Velocity metrics are represented by a concrete unit of work: the Pull Request. This enables Mark to objectively understand when a scrum team is really bogged down, compared to the last sprint or last month.
Once he spotted productivity anomalies, Mark would pull up a real-time report of his teams’ riskiest Pull Requests. Pull Requests that were open longer and had a lot of activity (comments and back-and-forths between author and reviewer) were at the top of the list.
After a few weeks of investigation, Mark was able to find concrete evidence for what his intuition was telling him. “The data showed that we were consistently slowed down because of legacy code,” said Mark.
With Velocity, Mark could now demonstrate to company leadership how technical debt was steering his team off-course.
“When I could advocate for invisible work, we could align the objective of the business and the engineering team.”— Mark Wunsch , VP of Engineering, Kickstarter