Dollars and Sense

Ned Lowe
Nov 24, 2023

Funding is less available than it has been for a while, and ensuring money is being spent efficiently is top of many leadership team agendas. But many common approaches to cost cutting have marginal results, while demoralising the team.

In this essay, I lay out ideas for how a budget might be reduced without impacting output too much.

People

The biggest expense most tech organisations have is the people cost. There is often an inherent mismatch in our brains between maximising the productivity of our builders versus minimising additional costs. Cutting the licence for $10 a month productivity tool that makes a $10,000 a month engineer slightly more productive is a false economy. Instead, relentlessly focusing on activities that are distracting those expensive engineers from building products should be the goal.

As well as the usual focus on reducing time spent in meetings or context switching, here are some additional areas where engineers burn time:

  • Modern applications often use build & test pipelines as part of the devops stack. Unfortunately, these are sometimes underprovisioned, with builds getting stuck in the queue. To prevent your developers from sitting around waiting, try to ensure elasticity in the pipeline capacity.
  • Waiting for the provisioning of infrastructure, or other similar tasks that require service tickets and multiple follow-ups. Moving to a self-service model frees your builders up to build.
  • Centralising logging, and ensuring there is a method to trace an end user request through the logs. In modern, complicated architectures, team members can waste a lot of time requesting log snippets from one another when trying to debug an issue.

Reducing headcount is always difficult, but sometimes it is necessary. Smaller teams incur less communication overhead - so keep that in mind when reviewing what a downsized organisation looks like. Too often, more junior builders bear the brunt of the reduction, while leaving in place the project and human management apparatus that supports them.

Outsourcing some of your technology team is a way to effectively manage costs. Find a partner who understands your problems, and wants to create integrated teams with your existing organisation. Outsourcing doesn’t work if there is a wall between you and your partner - so setting up ways of working that bring the teams together is essential.

Infrastructure

After people, infrastructure is probably the next biggest line item. The cheapest infrastructure is non-existent infrastructure. As a company grows, servers and storage are provisioned, but then often never actually utilised to the extent originally projected. Traditionally, this may have been time consuming to hunt down, but in a cloud environment tools like Azure Advisor or AWS Trusted Advisor make it easy. Regularly reviewing recommendations, and right-sizing instances appropriately can rapidly reduce your cloud bill.

Some infrastructure - like development environments - can’t be decommissioned, but can be turned off overnight. Tools like Cloud Custodian provide a simple approach to using infrastructure tags to indicate which servers can be turned off, and when.

“Scale to zero” is an important concept when dealing with spiky workloads. The ability for a service to not just scale up, but also scale down, can save a lot of money in cases where we are charged by usage. Services that “scale to zero” are literally not billed when they are not being used. While this isn’t useful for predictable workloads, it can be a game changer for an application with either irregular usage hours, or one that is still looking for wider adoption.

For those not on cloud yet, a migration is not possible without a significant investment. However, a low risk way of saving money would be to move backup and archival storage to the cloud. AWS Storage Gateway or Azure File Sync will easily integrate with your existing setup and provide a low cost solution. It’s also a great step towards gaining familiarity with the cloud providers.

Projects & Software

When looking to cut costs, it is important to take into account the employee experience/savings ratio. Encouraging the reduction of printing is fine, but forbidding people to print saves very little money while annoying your employees. Don’t sweat the small stuff, having engaged employees is more important.

Enterprise SaaS software has a habit of the costs creeping up. Indiscriminately trying to reduce all costs is not efficient, but targeting high cost/low usage applications can be. In some cases, open source alternatives may be available, but don’t underestimate the complexity of running software yourself and make sure the reduction in Total Cost of Ownership makes sense. Similarly, trying to identify software that has been added to your stack but rarely used should be removed: for example, do you pay for a chatbot on your site that is never used?

Cutting down on innovation can be a dangerous medicine. Shutting down vanity projects - non-core work that raises profiles without delivering business value - is a different story. But how to detect the difference? There is no easy answer to that, but finding projects with no clear external need (e.g. a customer or partner requirement) or those promising audacious outcomes without intermediary goals are worth looking at. Also, talk to people on the ground - oftentimes, your wider team knows what’s real and what isn’t.

In summary, there are three areas to examine:

  • People - are your teams full of builders or administrators? Are they spending their time building, or waiting for tickets to be fulfilled? Are they in a cost effective location, and if so are effective procedures in place to maximise output?
  • Infrastructure - have unused or underutilised servers been right-sized? Is pay-as-you-go infrastructure turned off when it’s not used? Can serverless approaches be used?
  • Projects & Software - are open source tools used when possible? Have vanity projects been identified and eliminated?

It’s not merely about cutting costs — it's about streamlining processes and killing the busywork. That’s what gets the most out of your people, and ensures they’re giving a return on the investment of their salary. And believe me, instead of complaining about cost cutting, your team will thank you for it! Everyone wants to work in an efficient environment, concentrating on delivery, and having fun while doing so. Here’s to building great products!

Let's talk

Have a project in mind? Get in touch, and let's work together!