Once upon a time we bought into the idea that the gap between Development and Operations was an unhealthy one that needed to be closed. We called the solution DevOps, and this mindset ushered in a new era of software development. Since then, a host of business functions have clammored to join the DevOps crusade – DevSecOps, DevTestOps, DevNetOps, etc.. But in the software age, when software development is central to the strategy – and thus among the biggest expenses – of nearly every business, it’s time we bring Finance in for the ride.
DevFinOps is the integration of financial strategies, and finance teams, into the operations of software development. It is the recognition that financial resources in any organization are finite and thus should be considered as an integral part of the software planning and development processes, and not as a project to be managed separately. It incorporates practices such as cloud spend optimization (often called FinOps), but expands the scope of FinOps considerably to include the other financial resources consumed by Development and DevOps teams. The most important resource in any software organization? Its people.
Why DevFinOps is more important than ever
Gone are the days that the answer to any software development problem was to hire more engineers. The current economic uncertainty has brought about a new mantra for businesses wherein costs matter. While it can be a tough pill to swallow – being economical with your resources, scrutinizing software development and maintenance costs, weighing investment tradeoffs (do we finally sunset this legacy product because it’s costing us more to support than we can afford, or perhaps because we need the resources focused on other projects?), finding ways to be efficient and build strategically with the resources you do have vs. investing in everything all at once – we might argue this is a more mature way to manage software development.
That’s where DevFinOps comes in. By pulling financial concerns and financial insights into planning and engineering operations, we are more strategic and discerning with the choices we make, the budgets we set, the software we choose to make, and how we report on all of these things.
The part of DevFinOps most people forget
Consider for a moment your company’s last product launch. Could you calculate how much it cost to build? You might immediately consider cloud costs, but those are only part of a much bigger equation. And sure, cloud costs can balloon faster than expected, and they are a constant concern for Finance teams – cloud cost optimization and automated controls can be immensely important. But in many organizations, we forget to consider that the most important resource and often biggest cost in software development is the people doing it.
DevFinOps seeks to answer these tougher questions: How much did a product, feature, or release cost to build? How much is it taxing us to maintain? Can we capitalize some of these costs to help with our financial wellbeing? Are we getting the return on the investment we were hoping for? Should we invest in something like this again, or if not, where would our resources be better spent? Given our history, how much do we expect this project to cost us and how many resources will we need to get it done? How does that factor into our budget for next year?
These are the types of questions that don’t just save money, they are foundational to the strategic direction of the organizations that ask them. They facilitate strategic product and headcount decisions, enable conversations about tradeoffs, expose insights, and automate the types of workflows required for sound financial practices. By and large these are personnel questions, not ones of cloud costs. We need a mentality that embraces the full scope of financial decisions being made by software development and operations teams. And we need the tools to understand not only cloud costs, but also development costs and how and when all resources are being used.