Why We Need Tool Choice: A Developer’s Story
This article delves into how giving developers choice in software tools results in a more efficient and productive team and even better software.
Join the DZone community and get the full member experience.Join For Free
As I landed my first real job as a developer, Britney Spears had the song of the summer, Y2K bugs were about to throw the world into the dark ages, and everyone on my new team used the same tools to code, test, and deploy. As a fresh-out-of-college noob, I was thrown onto tools with steep learning curves resulting in low productivity rates. I thought it was the way it worked and I had to pay my dues to get comfortable with the system.
I have since come to understand that there are better processes. In the words of Britney, Oh baby, baby, how was I supposed to know that something wasn't right here?
Those were simpler times and twenty years later, we’ve seen an explosion of environments your code is deployed into accompanied by an explosion of tools to support those environments. Today, it’s just a way of life. Toolchains vary company to company, team by team, and for good reason. But too many tools, or tool sprawl, can cripple DevOps as they scramble to support multiple toolchains.
“...tool sprawl can cripple DevOps as they scramble to support multiple toolchains.”
Except for the output, consistent and continuous quality, no two teams’ requirements are the same.
Tool Choice Makes Developers More Productive
Developer choice matters. Giving developers a say in their workflow allows them to be optimally productive, and it caters to their strengths and weaknesses.
Choice is great for morale, too.
We’ve all been impressed by the new hire who brings with them new tools, processes, and a little bit of wizardry. Pretty soon the whole team has incorporated a little bit of it into their workflow. Giving developers choice in software tools results in a more efficient and productive team and even better software.
In making it easier for developers, tool sprawl has made practicing DevOps infinitely harder. Setting up a DevOps practice takes months, sometimes years.
“In making it easier for developers, tool sprawl has made practicing DevOps professionals’ jobs infinitely harder.
Tribal DevOps Knowledge Can Be Poisonous
Developers and SRE teams often spend time writing scripts to integrate each tool. Managing updates or delaying updates for compatibility reasons can be a logistical headache. License management gets more unwieldy and each app has different support needs. The scope of each tool can overlap and introduce redundancies especially when different teams end using the same tools.
Most of the time, knowledge and best practices hinge on a single process, understood by a single individual. But occasionally, that individual is sick or on vacation, or they’ve left the company for months before someone realizes that the process is broken and nobody else can untangle the layers of code. By then, it’s too late.
If integration is impossible or manual, the noted benefits will be nullified or worse, may introduce several delays. Out-of-the-box integrations is key to ensure developers are spending time on what matters the most – building value-added code that you ship.
Continuous Orchestration Is the Answer to Tool Sprawl
DevOps platforms are maturing to handle the demand. By 2025, the market for DevOps products and services is expected to soon grow to $12 billion. Out-of-the-box integrations with standard security and quality tools, improve the handoff process to ensure developing secure software without compromising speed. All the big players are behind DevOps integration. AWS, Google, IBM, and Microsoft have all invested heavily in plug-and-play integrations to support DevOps toolchains. This is great if you only have a single cloud partner, but most major organizations are working with multiple partners and are managing hybrid or private clouds. For heavily regulated industries, on-premise is still pervasive.
The industry is clearly moving in the direction of interoperability and support from the cloud vendors is a signal that DevOps has gone mainstream. But, the connectors still need to be built for each partner and the dev overhead can slow down scalability.
Platforms with out-of-the-box integrations that support all major toolchains across different cloud and on-premise environments, help overcome this hurdle by shifting the overhead to a managed service. A platform that tests, validates, and verifies versions and updates of all the tools significantly reduces the resources needed to manage a DevOps stack. This is a new and emerging category called Continuous Orchestration.
Visibility Into Blind Spots
In a continuous environment, where the drumbeat of development, testing, and deployment carries on constantly and deliberately, visibility and control are vital for stable deployments. The often-overlooked benefit of an integrated CI/CD platform is how the holistic view of the development process opens up a world of opportunity. Peter Drucker’s most famous quote rings true today more than ever: “You can’t manage what you don’t measure.”
The ability to monitor an end-to-end CI/CD process opens up the discussion of optimization and improvements to drive growth. You need visibility into which teams are what tools and identify redundancies.
From startups to enterprise organizations, brick-and-mortar brands to online-only businesses, anyone subscribing to a CI/CD framework needs visibility and control built into their processes. It is not enough to develop a satisfactory toolchain and let your teams run with it. Toolchains mutate and evolve, branch, and are replaced. The ability of your team to keep up, manage, and succeed at supporting these toolchains rests on generating unified insights across every step of the chain.
Published at DZone with permission of Susmitha Vakkalanka. See the original article here.
Opinions expressed by DZone contributors are their own.