Despite efforts to make building and maintaining applications more maintainable, code is still growing in volume, variety, velocity and value. As a result, the trend Big Code has emerged and is expected to be just as disruptive to development teams as Big Data was to data teams.
“Today’s massive codebases make it difficult for developers to discover, understand, and fix code because of the significant increase in its volume and complexity,” said Quinn Slack, co-founder and CEO of Sourcegraph, a universal code search company. “It’s for this reason that Big Code is often compared to Big Data—both have the potential to disrupt teams, decrease productivity and quality, and make it harder for enterprises to stay competitive.”
With the emergence of Big Code comes the emergence of new big problems. According to Sourcegraph’s Slack, the amount of code being created has exponentially increased; the complexity of languages tools and processes are continuing to multiply; accelerated delivery cycles are changing code faster than ever; and the value of code has become more important within the enterprise.
Sourcegraph recently conducted a survey on the emergence of Big Code, and found:
- 94% of respondents are affected by Big Code;
- 51% have 100 times more code than they did 10 years ago;
- Over 60% are seeing a dramatic increase in architecture, supported devices, use of open source, and amount of platforms;
- And 92% feel pressured to release code faster.
As a result, the report found development teams are finding it harder to include time for new hires to be productive, understand code dependencies, manage changes, provide visibility, and have effective code reviews. Additionally, 74% of respondents reported that their teams avoid updating code because they are afraid of it breaking dependencies.
When looking at how Big Code impacted the entire business, the report found problems with maintaining high-quality standards, high security risks, delayed release schedules, increased costs, decreased agility, and inability to innovate.
While approaches like microservices were designed to simplify the development of applications, Slack said they introduce more complexity and increased code interdependencies.
“The scale and scope of Big Code stretches devs and companies in every way, and we’ve only seen these challenges amplify over the last decade. Building software takes longer, is more complex, and there’s more fear involved because security risks allow no margin for error,” said Slack.
To address Big Code challenges, Slack explained new tools will be key. For instance, 85% of respondents think existing tools weren’t designed for the era of Big Code, and 99% believe they would benefit from additional capabilities for searching enterprise code such as alerts for security and compliance risks, ability to search code regardless of repository, language, change or format, and finding code by querying semantic relationships.
According to Slack, “the solution is to make code more accessible, manageable, and fixable. Companies should be asking:
- Is there one place in our company we can go to look across all of our code and instantly find problems and critical security issues?
- Once we’ve found them, can we easily understand and measure them?
- Once we can understand them, can we fix them quickly?”
“Most companies are operating like tech companies today. There are more developers managing higher volumes of code and more challenging complexity than ever before. Every dev knows this intuitively, and we’ve collected data that validates the heroics it takes to ship software every day,” Slack added.