Conventional wisdom holds that to succeed in the digital age, most organizations need to become software companies that happen to build something or deliver a service. The trouble is that most organizations are already drowning in code.
That's just one of the findings from a survey of more than 500 software development professionals across North America conducted by Dimensional Research on behalf of Sourcegraph, a provider of tools for searching code.
More than half the survey respondents (51%) said they now have more than 100 times the volume of code they had 10 years ago. More than 60% report a significant or dramatic increase in software architectures, supported devices, use of open source, and number of platforms supported.
Making the matter more challenging, a full 90% report that the delivery of software has become more critical to the business.
Other challenges that surfaced in the survey include the need for more time for new hires to become productive (62%), code breaking because of lack of understanding of dependencies (57%), difficulty managing changes (50%). Nearly three quarters (74%) admit that teams avoid updating code due to fear of code changes breaking dependencies.
A total of 85% of respondents agree that existing tools were not designed for this level of software development activity.
Organizations unprepared for 'Big Code' era
The volume, variety, velocity and value of code are all indicative of a “Big Code” era that most organizations don’t really recognize is upon us, says Sourcegraph CEO Quinn Slack.
In fact, Slack suggests things may get worse before they get better. Developers have embraced microservices as a means to build and deliver applications that are flexible and resilient enough to drive digital business transformation initiatives. However, with the rise of microservices-based applications, the amount of code being installed is more distributed than ever, notes Slack.
Not only is code being deployed more frequently in the cloud, more of it is starting to make its way to the network edge to drive business processes in real time.
“Microservices are the Holy Grail for software development right now,” says Slack. “But you need to be mindful of the amount of surface area code is now running on.”
IT organizations could, of course, make a concerted effort to reduce the size of the code bases they have to manage by either streamlining existing applications or retiring legacy applications. The former requires a lot of time and effort to reduce so-called technical debt, while the latter requires a significant amount of political capital that most IT leaders lack. Business leaders are wary of disrupting processes based on applications that are in use today until confidence in a new application is well established.
Despite the amount of code already deployed, however, most organizations don’t operate like software companies that rely on agile programming methodologies and best DevOps practices to manage application development and deployment. There are pockets within IT organizations that have modernized their processes, but most are far from fully making that transition. Most real software companies are updating their software several times a month at the very least. That’s hard to accomplish across potentially a billion lines of code or more so the secret to becoming a great software company may very well be to simply start over as fast as humanly possible.