While most applications, online services and even automobiles now run on hundreds of thousands, or even millions of lines of code behind the scenes, many applications and services can be written with relatively few lines, thanks to abstractions available through today's platforms. Serverless offerings and low-code or no-code solutions take this even a step further. Still, lurking underneath all those pain-free interfaces is a huge hairball of volume and dependencies being created in today's enterprises.
We all know about "big data," and the struggle to get our arms around it. Now, some are warning about issues with "big code." The term, coined in a recent survey of 500 developers compiled by Dimensional Data and underwritten by Sourcegraph, refers to the dramatic growth in the volume and complexity of code. This includes increases in the variety of development environments, platforms, and tools; the velocity of delivery schedules; and the expected business value.
In this survey, almost all development teams (96%), state that code releases are "emotional" events. While many report positive feelings such as satisfaction, well over half (58%) also say they feel negative emotions, including fear and anxiety, at the moment they release code or submit it for review. Teams avoid updating code because they fear breaking dependencies
One of the most somber revelations of this survey is how this fear can affect development progress. Three-quarters (74%) of IT managers say their teams avoid updating code because they are not sure of the dependencies and fear they might "break something."
When IT managers were asked how the size of the codebase across their entire company, measured in megabytes and the number of repositories, has changed in the past decade, more than half (51%) report they have more than 100 times the volume of code they had 10 years ago. Close to one in five, 18%, say they have 500 times more code.
"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," the report adds. Similar to how big data has disrupted data teams, big code is creating new hurdles for development teams," the survey's authors note.
Just like big data, big code can be defined along the lines of four "Vs":
- Volume. "There have been exponential increases in the amount of code being created."
- Variety. "The complexity of the languages, tools, and processes used for delivering software continue to multiply."
- Velocity. "Accelerated delivery cycles mean code is changing faster than ever, and being shipped virtually every day."
- Value. "The reimagination of business models and practices through high-quality software has greatly increased the value of code within the enterprise."
It's almost unanimous: 99% of respondents report that big code has a direct impact on the business outcomes of software development efforts. Challenges include less time for new hires to be productive (62%), code breaking due to a lack of understanding of dependencies (57%), and difficulties managing changes to code (50%).