Software, Development

"My devs are always asking for new tools! Sometimes they remind me of kids in a toy store, begging their parents to buy them everything they see!"

Have you ever caught yourself saying this?

It's easy to fall into this kind of thinking when developers talk about a seemingly endless stream of new tools coming on the market, while you're the one who will need to provide justification for each new budget item.

Now, software is increasingly becoming the source of competitive advantage, as industries across the board become more and more digitised, and, in this context, your software developers are the key differentiators for your business.

Maximizing the value your developers create is a given for any successful business strategy.

But are they really just asking for shiny new toys? And do new development tools really represent costs that are that hard to justify?

In this post, we'll take a look at the questions surrounding talent, tools, productivity, and cost.

Why Are There So Many New Tools?

It's a good question. Why do so many new (and often very complex) tools for development and related processes keep turning up on the market? Aren't the existing tools good enough?

There's no single answer to that question, of course, since the state of any market is usually determined by the convergence and interplay of a variety of forces. But when it comes to software development, a few key points do stand out:

Dev Doesn't Stand Still

Software development is one of the least static fields in business or technology, and the same holds true for IT. When it comes to development, everything is in a constant state of change: hardware, operating systems, architecture, programming languages, development environments, and the conceptual frameworks which underlie all of these factors.

Much of this change is driven by major, ongoing changes in actual technological capabilities. At any given time, the current generation of computers and peripherals can easily do a large variety of things that they couldn't do at all—or could do only with difficulty—just a few years ago.

Running to Stay in Place

The truth is that even the most advanced players at the leading edge of software development are barely keeping up with the real capabilities that the current generation of hardware offers. Everyone is continually racing to play catch-up, and there is no sign at all that this process will slow down. There are good reasons to think that it is largely or entirely independent even of factors which may affect Moore's Law.

Such rapid development of new architectures, capabilities, and processes requires new tools. Older tools may not even be technically capable of dealing with new hardware and system capabilities, while new tools are more likely to be optimised for those same features. In many ways, workarounds and patches to old tools are simply ways of bringing old inefficiencies with you to a new environment, and the end result is likely to be a pileup of technical debt.

Developers Need to Try Things Out

When developers ask you to buy a new tool, can they always guarantee that it will work wonders, or even do the job adequately? No. They can't. They can (and probably will) do a considerable amount of research to find out the pros and cons of the tool, and determine whether or not it will meet their specific concerns, but it is always the case that the ultimate test of a tool's value comes when it is put to work. Your team may need to try out several tools before they find the combination that works best for them, and they may need to update their suite of tools fairly frequently.

if you allow them to do this, you're allowing them to innovate, and to find the methods that help them work with a high level of productivity. That's something that doesn't come pre-packaged—It is the result of a dynamic interaction between your development team members and their tools, and it emerges from experimentation, rather than being ready-made.

Smart Money Is Money Well Spent

But what about the cost?

When you take the cost of modern development tools and their support systems (software for managing continuous delivery, for example, and added servers to support it), and you scale that cost across your development team, the actual cost per team member will be small.

How small? Many companies spend more on office chairs than they do on development tools, and the vast majority of developers are likely to be much happier with old chairs and new dev tools than vice versa. It's often easier to justify spending money on office furniture, simply because the improvements are visible, while most development tools are nearly invisible, unless you are working directly with them.

But such tools can be of considerable value to the company—and over time, usually of much greater value than new office furniture. It is important to keep this in mind when discussing the purchase of tools with developers, and it is even more important to emphasise and demonstrate this value when justifying such purchases to higher-up decision-makers.

A High ROI

The real bottom line with development tools, both software and hardware, is that return on investment is generally very high. Good tools save time: development time, testing time, debugging time, and deployment time. And the value of that adds up very quickly. First-rate tools can also save you from expensive trouble, by reducing bugs, reducing downtime, and increasing reliability.

If you look at tools in terms of time saved, capabilities increased, and problems prevented, it's easy to see how an investment of $10,000 could save you $100,000—and very often, it isn't difficult to do some quick back-of-the-envelope estimates and see where the savings are likely to come from.

The Right Tools

When you're considering the purchase of development tools, it is also important to keep in mind the specific needs of developers—the key issues which are most likely to affect productivity. For example, if your developers are working in a cloud-based environment, they're going to need fast, reliable connectivity. If your software needs to work with a variety of mobile devices, your QA team will need to be able to do thorough, rapid, automated testing on those devices, either in-house, or through an on-line testing service.

These things have a direct and measurable impact on the technical aspects of day-to-day work; slow Internet speeds and sequential testing on inadequate hardware can slow down your entire operation, and can even result in important work left undone.

So there it is: if you value your developers (and you should), give them the tools to match that value. It's an investment that will pay for itself several times over (and much more than even the best brand-new office chairs).

  • Andrew Gordon-Brooks

    VP Engineering & Delivery, EMEA

    Andrew is a full-stack developer, automation specialist and technologist, leading and delivering large financial and media projects. Andrew’s favourite tool DevOps tool has most likely been replaced with something better by now.

    More Articles by Andrew