How to create engineering budgets
Strategies for building effective budgets in your engineering organization

One of the things that I knew as I stepped into the VP of Engineering role, was that I was going to have to take on budgeting as one of my responsibilities. As I have spent time putting together Engineering budgets, I have realized its both painfully cumbersome and yet crucially important to the health and growth of my team. Forecasting budgets for the future is a fascinating exercise, because it needs you to make creative assumptions that are backed by logical construct.
Some principles that I have found useful during putting together a budget for our Engineering org are —
🗝️ Have a template to model costs for your department
🪨 Determine the “rocks” in your budget
⚙️ Create adjustment factors to model the impact of variables on your budget
🛡️Always leave buffer in the budget
♻️ Share early, share often
🗣️ Keep your team informed of the process
🤝 Be ready to compromise
Let us look at those in more detail —
🗝️ Have a template to model costs for your department
At a high level, I tend to split costs into 3 main buckets: people costs, fixed costs and usage-driven costs. We use these buckets to record quarterly line items for the different products and services we use, in those respective categories. Knowing what the broad categories of recording your budget should be step 1 of your budgeting process.
You might be given a budget target from your finance or leadership team, or you might be asked to first present a bottom-up view of what you think is required for Engineering. In either case, this would be an important first step so you can outline your thoughts clearly.
🪨 Determine the “rocks” in your budget
Once you know your main categories, you need to identify what are the most important items that you need to plan your budget around. These would be few key inputs, either scale assumptions or core services, that will form the backbone of your budget, around which you can plan most of the other things. Make sure to talk to key stakeholders whose assumptions will form the rocks, very early in the process. In my experience, in classic Pareto fashion, 20% of inputs tend to dictate how 80% of the budget would be modeled.
⚙️ Create adjustment factors to model the impact of variables on your budget
In your budget, create adjustment factors for describing what could cause costs to go up or down. These adjustment factors are what you would use to model how real world scenarios might impact your budget. This will give you control of how you can change your assumptions based on discussions with your stakeholders. They also provide focus for what work might need to be done based on what the values of those factors end up being. As an example, we used to model things like contractual negotiations and architectural improvements as adjustment factors. This allowed us to figure out how much we should rely on squeezing budgets through contractual discussions or platform rearchitectures through the course of the year.
🛡️Always leave buffer in the budget
While you don’t want to pad your budget with unnecessary slugs which will cause you to blow up the budget, what you don’t want to do is run _too_ lean of a budget. Even when times call for austerity, it is important to ensure that there is some buffer in the budget. Its much like thinking of this as an emergency fund, but you could also attribute it for specific uses. This ensures any unexpected expenses for small things don’t stretch you past the breaking point. Something like 0.5% of discretionary budget or petty cash, as a way for you to reach into for things like team bonding or upskilling is a great idea to account for early in the budgeting process.
♻️ Share early, share often
Talk to your relevant stakeholders a LOT. Annual budgets are massively important to ensure the fiscal health of your company. You don’t want to have to take any drastic actions because you missed a major assumption or forgot to add something critical during budgeting. Sometimes there might be assumptions baked into the budget that require organizational alignment. Before consolidating those assumptions, make sure you have achieved that alignment with your cross functional stakeholders so that they aren’t caught by surprise when you either ask them to pitch in or deliver a version of the product that was dictated by those assumptions. By talking to the core stakeholders and showing them how the process is playing out, you can avoid a lot of the stress and painful parts of budgeting.

🗣️ Keep your team informed of the process
While you can’t cost-cut your way to success, sometimes the budget might result in work your team will need to do to ensure goals around things like cost savings that will need to be met within a certain timeframe. In these cases, it is important to ensure that your team is kept updated about any major changes in direction that might be brought about. This will help build trust and provide context for any work that needs to be undertaken.
🤝 Be ready to compromise
The budgeting process is an exercise in successful negotiation. By the end of the process, both your teams and the finance/leadership team, should feel like you have landed in a good place, even if neither gets _exactly_ what they might have started off with. By keeping an open mind, respecting the inputs of folks in the process and sharing early you can walk away from the budgeting process feeling like you accomplished something successfully together.
Engineering budgets are probably the least sexy part of my job, but they provide the bedrock on top of which we can build a great Engineering organization for the future which underscores the importance of the process. You will not be able to forecast 100% of what happens through the course of the year. However, by modeling what you anticipate some of the major themes affecting your department, you can create a blueprint for how to operate your teams over the course of the year.
If you liked this article, please like ❤️ / restack 🔄 to spread the word! If you agree/disagree with anything, please leave comments or questions on the article and we can discuss it!