I don' think I ever lived or worked in a context where cost/money was not taken in consideration somehow. Since a young boy my mom and dad thought me valuable lessons about money, investments and how to track spends. Even to this day when I'm organizing a barbecue with my friends I estimate the cost, search around to get the best offers (without compromising quality) and track the spends to split evenly among us. So, when building the blog of course cost was taken in consideration.
To prove my point, you can see that I talked a lot about cost already: the first "Hello World" blog post I said that this needs to be as cheap as possible, on "Framing the problem" we talked about the hidden cost of my hours spent writing posts, there was a half blog post talking about Cost of Delay and I mentioned in the "Blog Decisions" that cost was taken in consideration when thinking about hosting options but... maybe it wasn't enough? Yeah it wasn't enough son let's talk a little more about spending (or saving) money!
In my view, the cycle for handling cost/budget should be something like this: Budget Planning, Negotiation, Approval & Sign-off, Execution, Monitoring and Review. Repeat for whatever period you chose.
But, the way I see organizations handle this process feels more like anecdotes that when you hear the stories you will think "OMG why!... WHYYYY". I'm pretty sure there are dilbert comics around the topic, let me google it real quick here...
Yes! There are many and of course good ones related to the stories I wanted to share here:
Story 1: Shhh... it is a secret...
I once asked my immediate manager what was our team budget and the answer was: I cannot tell you this information. Later on, when we were discussing costs and cuts for our team service I asked how much each of the individual applications/services costed us and he said that there was no way to get this information. I don't know how am I supposed to do any cost cutting if I don't know what is our budget, how much we need to cut and even more difficult to help without understanding exactly where the money is flowing!
Story 2: Use it or lose it!
It was the end of the fiscal year and the message arrived "Remember that training you wanted to do do I said we had no budget? GO GO GO and schedule it right now! you have 20 days to complete it and send the invoice!" why the rush? If we didn't spend the remaining of the budget training we had we were going to lose it for next year.
But...Why this happens?
I honestly don't have an answer. Management fear of being honest with their superiors and taking a career hit because saying "I screwed up with the numbers?" is bad? Wrong incentives on bonus/compensations? Measuring cost instead of value? The company doesn't have a culture of continuous improvement? Project scope changes? Bad planning? Demand planning is done based on sales forecast? Not doing enough reviews (usually tied to fiscal year)? The numbers and goals are not realistic (we are going to grow 3x this year!)? Last year plus (or minus) 10 percent? No room for variance from predicted to actuals? Broken corporate budgeting process? All of the Above?
This is another case of so many questions floating in my head and since I don't have the answers, I'll go back to the blog and try to use my newly created Budget Cycle model.
Planning
Usually the hardest part but if your company has a continuos improvement mindset you shouldn't spend too much effort here because you know... things change, numbers in this phase are just estimates and the chances of you hitting 99% accuracy are very low. You know nothing at this stage so you should be adapting as you go (kind-of-what-Agile-preaches). But, it is easier said than done! Companies/People LOVE to spend time planning, inventing some numbers and using acronyms that they learned in their MBA (maybe to pretend they are smart?): "What is the EBIDTA here? What about the ROI? Can you split by OPEX and CAPEX?".
For the blog that is what I did:
Estimates: | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Total Year |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Domain 2021 | 5.98 | 0 | 5.98 | ||||||||||
AWS 2021 | Free | Free | 0 | ||||||||||
Total 2021 | 5.98 | 0 | 5.98 | ||||||||||
Domain 2022 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13.98 | 0 | 13.98 |
AWS 2022 | Free | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 38.50 |
Total 2022 | 0 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 17.48 | 3.50 | 52.48 |
Domain 2023 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13.98 | 0 | 13.98 |
AWS 2023 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 42.00 |
Total 2023 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 3.50 | 17.48 | 3.50 | 55.98 |
I started the blog officially on Jan/2022 but I did some tests and adjusted a lot of thing starting on Nov/2021 that is why you see the estimates starting there.
Because of the free tiers on 2022, I decided to have a full no discount estimate for 2023 to have a glimpse on how much it would cost me per year (and per month).
Negotiation
Depending on the size of the company there are entire departments who are responsible for handling negotiations, doing bids and making sure that the enterprise gets the best offer with enterprise-wide-discount-based-on-scale-and-size contracts. It's the infamous button in all of those sites you see out there that goes: 1 user - 10 USD, 10 users - 90 USD, 100+ users click here to talk to sales and get a quote on our enterprise plan.
In the blog case, I didn't want to bother AWS to negotiate a special deal for me, the standard 3 month free trial on LightSail was my bargain (and so it is for everyone choosing to test the service) and NameCheap also had a standard discount on the first year for my domain registration. That is why you see "Free" in my estimate from Nov2021 to Jan/2022 for AWS and .
Approval
I told my wife "hey honey, can I take 10 bucks from our monthly income for a personal project?"
"As long as you don't spend it on candy crush you are good to go"
Sounds like an approval to me! And for the record, I play occasionally and is not an addiction! I can stop whenever I want! That 100 usd last month was... a... bargain on a special offer that I had to use to beat a very hard level!
That conversation could be another Dilbert/Corporate anecdote: You ask for double because you know you only get half of whatever you ask.
Execution
Spend wisely. Think like the money you/your team are spending is yours! Would you do that with your money? If the answer is no you probably should't do with corporate money as well.
(oh wait, it is MY credit card that was added to AWS so it is my money!)
Monitoring
First and foremost, don't forget to setup budget limits in your cloud provider. It can save lives, jobs and in my case marriages in case you forget to turn off or delete that super sized extra large machine you created for a test!
Once that is configured, it is time to define the period for monitoring and review. In the blog case, most of the expenses comes monthly so it makes sense to track them with this period.
First month bill arrives and what happens when you don't read the terms and conditions or the * next to the price when you are estimating? Surprise Surprise! Of course I forgot something in my planning!
In my case, I missed AWS taxes and ICANN fee for the domain registration. Those were caught up in the first "executing" month and I adjusted the budget accordingly. Also, I chose to store some daily LightSail snapshots (you know, as a backup in case things go wrong) so that was a change in my Lightsail estimate as well from 3.50 USD to 3.60 (or less on average).
Below are the actual spending (values that I got from the reports and spends from Nov/2021 to July/2022) and the revised estimates (from Aug/2022 to Dec/2023)"
Actual and adjusted Estimates: | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Total Year |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Domain 2021 | 5.98 | 0 | 5.98 | ||||||||||
ICANN 2021 | 0.18 | 0 | 0.18 | ||||||||||
AWS 2021 | 0.06 | 0.12 | 0.18 | ||||||||||
AWS tax 2021 | 0.01 | 0.01 | 0.02 | ||||||||||
Total 2021 | 6.23 | 0.13 | 6.36 | ||||||||||
Domain 2022 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13.98 | 0 | 13.98 |
ICANN 2022 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.18 | 0 | 0.18 |
AWS 2022 | 0.09 | 0.56 | 3.60 | 3.48 | 3.59 | 3.48 | 3.59 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 36.39 |
AWS tax 2022 | 0.01 | 0.08 | 0.50 | 0.48 | 0.50 | 0.48 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 5.05 |
Total 2022 | 0.10 | 0.64 | 4.10 | 3.96 | 4.09 | 3.96 | 4.09 | 4.10 | 4.10 | 4.10 | 18.36 | 4.10 | 55.60 |
Domain 2023 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13.98 | 0 | 13.98 |
ICANN 2023 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.18 | 0 | 0.18 |
AWS 2023 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 3.60 | 43.20 |
AWS tax 2023 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 0.50 | 6.00 |
Total 2023 | 4.10 | 4.10 | 4.10 | 4.10 | 4.10 | 4.10 | 4.10 | 4.10 | 4.10 | 4.10 | 18.26 | 4.10 | 63.36 |
Review
Time to be honest and focus on continuous improvement here with blameless learning!
What was good? What went wrong? What do we need to change? How far are we from the initial forecast? Why we have the difference?
I have mentioned above the main observations on what happened that caused the difference and that adjustments were done accordingly. By Jan/2022 I already had a pretty good grasp on the costs and started hitting the forecast consistently. Also, if you recall, I mentioned on "Framing the problem") that cost per user was one metric that I wanted to evaluate and monitor and it was finally ready to be "used" when I launched the blog on January. I'll keep building the suspense for a Build-Measure-Learn post on that.
Final comment on the budget cycle process: there are companies out there that create this kind of safe environment where it is OK not to hit 99% of the planned budget as long as you understand and have reasonable answers about the whys (hopefully my wife will be OK with the changes as well!. The agility advice that works in many cases also apply on the budgeting process cycle: start small, learn, adjust, replan and adapt.
But now, tell me, what is your favorite corporate cost/budgeting story?