This is Part 1 of a three-part blog series on Tech Sprawl and how you can beat it.
Why developers can’t ship code faster
The current level of technology choices available to developers is both a gift and a curse. The gift is the availability of a near-limitless catalog of technology to build with.
The curse is that developers are being pulled into situations where the infrastructure interferes with their workflow. The complexity inherent to a vast catalog of available tools can transform choice from a strength into a liability. The complexities include a fragmented ecosystem of developer tooling where the only way to find out how to do something is to ask your colleague.
Tech sprawl (similar to “application sprawl”) is an issue facing large organizations everywhere. As your trusted tech stack resource, this is your guide to all things tech sprawl including:
- What is Tech Sprawl?
- Biggest Risks of Tech Sprawl to Your Organization
- The Challenges of Tech Sprawl
- Symptoms of Tech Sprawl
- The State of Tech Sprawl 2022
- Beat Tech Sprawl with Tech Stack Intelligence
Tech sprawl, or technology sprawl, is a type of tech debt, consisting of all the unplanned different versions of different technologies your organization has used to solve the same problem. No one expects it, but it arises from all the quick siloed tech decisions teams make to ship code and products fast.
Tech sprawl happens over time in silos. Development teams add tools for specific functionalities without assessing existing tooling options or communicating with other teams on available alternatives. The demand to deliver faster outweighs the need for data-driven tech decisions, resulting in a sprawl of redundant, overlapping, poorly managed tech that increases overall risks to the organization.
Tech sprawl is the ultimate result of a lack of visibility, coordination, and standardization, which comes from wanting to ship things quickly, often without any concern for whether or not there are some commonalities. Tech sprawl creates risk, security, and compliance concerns, as well as hiring issues with legacy tech stacks that nobody wants to use.
Organizations that don’t actively manage their tech sprawl will suffer from tech debt that will slow development and add risk to every project. Two major risks that tech sprawl creates is increased distance between developers and open exposure to vulnerabilities.
Distance between developers
Tech sprawl distances your developers because they’re using different tools and “speaking different languages” per se, making it difficult for them to collaborate and support each other.
It creates a proverbial sprawling desert between teams. If one tries to reach another, they have to travel across a troublesome landscape of new tools and different methods. Some may ask, “why bother?” and end up redoing the same work as another team, simply from the lack of collaboration.
“Application sprawl is like quicksand: It will stop you from moving forward.” - VentureBeat
Open Exposure to Vulnerabilities
In addition, tech sprawl presents security concerns and exposure to outside threats. If an application gets left on the wayside because of the endless number of technology choices available to teams, it gets forgotten and forgoes updates, tests, and other security measures.
Tech sprawl leaves open doors to your organization’s information and security issues that could sneak up on you when you least expect them.
With such serious risks brought on by tech sprawl, it’s a challenge for teams to identify and combat. The truth is, people form opinions on their “favorite” tools and technologies. Decisions are made in silos by individual developers or teams, and knowledge often isn’t shared around tech stack options.
Version control systems have gained traction for the capabilities and benefits they provide in getting everyone on the same page when it comes to source code. It’s time to bring that same level of automated monitoring and ensuring visibility into the full tech stack.
Ultimately, beating tech sprawl requires well-coordinated change, along with some sort of enforcement. Humans are habitual creatures, so teams will need clear explanations and processes to make a successful transition to more consolidated tech stacks. And most importantly, they need a way to communicate with each other as they make these changes.
Is your organization battling tech sprawl? Here are a few telltale signs that tech sprawl might be an underlying problem for your business:
1. Outdated tech inventory spreadsheets/wikis
Letting your developers provide great input for the tech choices your business is critical - they are the experts on the ground. Letting every team member use their own tech stack without a way to analyze the why behind each tool or streamline the company-wide tech stack will continue to breed complications. If your organization has spreadsheets and/or wikis that list out the different tech stacks being used, and this resource is perpetually outdated, this is a clear sign that there’s a lot of sprawl since the tech being used is changing more frequently than the documentation.
2. Low visibility
If someone came up to you and asked how many open source & SaaS tools your engineering teams use, would you know the answer?
If you as an architect or engineering manager don’t know which technologies are being used across teams, there’s a good chance that individual developers don’t know what other teams have done or used to solve similar problems in the organization.
3. Redundant efforts and duplicate work between teams
Another telltale sign of tech sprawl is the repetition of work caused by poor communication. Multiple major versions of the same exact library, multiple similar competing technologies that do the same things, and multiple implementations of the same functionality are all signs that there’s a lot of sprawl. These redundant efforts ultimately make maintenance more strenuous and expand your organization's vulnerabilities.
Developer productivity is affected by these redundant efforts because these developers are wasting time re-implementing solutions that already exist in other teams and codebases. This means they’re spending less time on net new functionality and truly innovating.
With developer time already split to only a third of their time dedicated to coding, tech sprawl further burdens developer efficiency. By reducing operational overhead brought on by tech sprawl, developers can spend more time doing what they do best - writing new code or improving existing code.
How did we get to a place where the diverse tech options are causing greater complexities?
“By the end of 2019, the worldwide revenue of DevOps software tools market totaled USD 8.5 billion. Even in the current pandemic induced slowdown, IDC found that the DevOps software tools market has shown positive single digit growth in 2020 and 2021 so far.” - Qentelli
As we can see by the increased revenue only coming from DevOps solutions, the number of tools grows with each passing year. And with all these options comes more disparate SaaS tool downloads across teams, leading to less compatibility between tech stacks and worse tech sprawl.
Unfortunately, the market is responding to this complexity with an ever-growing list of services, managed options, frameworks, libraries, and platforms. To get an idea of what this year’s tech market will look like, we can look at Sapphire’s 2021 CIO Innovation Index Report, (written in Q4 of 2021).
According to the report, spending on startup tools increases with each passing year, with spend on startups jumping up 5% from 2019-2020, to 15% in 2021. How does this relate to tech sprawl? It paints a picture of an ever-increasing library of tech stack choices.
If more startups are getting into the tech game, we can conclude that they will continue to grow the number of tool possibilities for technology companies to use. Organizations need visibility and collaboration for making data-driven tech stack decisions.
Development teams are continuously forced to make tech stack decisions, adopting, deprecating, migrating, and updating technology daily. Due to the proliferation of open source and SaaS products, packages, frameworks, and platforms are flying in and out of companies at an ever-increasing rate.
As a result, tech stacks quickly grow in complexity, variation, and duplication across engineering teams. Tech stacks become unmanageable, redundant, insecure, and non-compliant as tech sprawl grows. Software development velocity is harmed, and companies become slower to ship improvements and new products to drive value for the business. The good news is tech sprawl can be beaten with a new type of solution.
What is Tech Stack Intelligence?
Tech Stack Intelligence (TSI) provides real-time insights into your organization's tech stacks. TSI empowers developer autonomy while consistently paying down tech debt through automation, collaboration, and consolidation. In other words, tech stack intelligence helps developers to make data-driven technology decisions.
Many organizations attempt to remediate the effects of tech sprawl without automated tech stack intelligence. Traditional Enterprise Architecture tools don’t address tech sprawl effectively, as they are unable to keep up with the evolving sprawl and siloed stack decisions.
Teams without proper tech stack intelligence run into three common issues:
- The complexity and size of most tech stacks mean that changes will continue to happen frequently within your organization, and it’s too tedious to track changes manually or by a survey.
- Individual developers have no way of knowing what other teams have done or used to solve similar problems in the organization.
- Multiple versions of competing technologies diffuse expertise, expand vulnerabilities and inhibit innovation. Trying to track down these different versions manually or with an incomplete view of the whole business is near-impossible.
Balance developers’ product velocity with your organization's ability to move forward for the long term by managing risks.
Tech Stack Intelligence provides your development teams with the support they need to consolidate and streamline your tech stacks with:
- Automation to make tech stack changes visible in real-time.
- Team empowerment to allow everyone to make data-driven technology decisions with visibility.
- Consolidation for your software supply chain to use one standard process to move faster and reduce risk.
Stay tuned for Part 2 of our Tech Sprawl Blog Series!