Imagine an entrepreneur who is blind to their income and expenses and rapidly spending money that isn't theirs. Sounds familiar? Welcome to BigCo. BigCo is run like a government and ships with all the inefficiencies[1] you expect from a government.
What did AWS get right that BigCo is getting so wrong? It's not agile, microservices, APIs, JIRA or bald guys. What let AWS win as a platform is closed-loop budgeting. By pricing API calls, cost centers turn into profit centers.
The way to solve out-of-control spending is by doing bottom-up cost accounting. When you create a free, transparent (cost-wise) internal market, every Team becomes The Merchant and is forced to Care.
How to Fix Problems in a Free Internal Market:
- Give a team (or multiple teams) a budget based on the goal and size of the opportunity.
- We can call this budget 'the capital', funding or investment, but I like budget because it forces us to think about costs.
- A good budget is an accurate budget.
- Let the team spend their budget however they want to build The Amazing Service™️ that will charge for API calls, billed to internal and/or external consumers. Here's the trick:
- Every SaaS expense counts toward the team's budget. This must appear in project P&L statement.
- Every cost-to-company salary of every hire on the team counts toward the team's budget. Uncomfortable talking about costs? You are either overpaid or not an entrepreneur.
- When the budget runs out, the project is objectively cancelled (not on a whim).
- Engineers from failed projects go back on the bench where they can join other projects. If people stay on the bench for too long, they are in trouble because it means no team wants them - overhiring problem solved.
- The company may choose to subsidise limited time on the bench during orientation / team-project search.
- Don't bail out failed projects; projects are free to raise more capital.
- This has the nice side-effect of making all hires responsible for cost control, burn-rate and understanding the runway of the project. It forces them to Care. Bottom-up cost control emerges!
- Reward leaders handsomely by tying their bonus to API profits.
- Let internal teams and companies choose the best services to solve their long-term problems within budget, one of which may be The Amazing Service™️.
- If it is cheaper in the long-run for a team to to roll-their-own or use an external service, it means that The Amazing Service™️ has failed and will run out of money; disaster averted.
- Whatever you do, DO NOT mandate the use of the internal or external products because it obliterates the market system and immediately inflates costs. When this happens, expect to see lobbying, lots of project restarts, hidden costs, overhiring and people frequently moving between teams. Basically, government.
So start with a budget. Account for all costs[2]. Costs flow up, not down. Charge for API calls (internal & external). Publish project-level P&L. Do not mandate products, services or technology.
[1]: : runaway spending, countless surveys, hidden costs, a stream of failed projects, unfettered hiring, internal lobbying and meetings about meetings, architecture astronauts, long lists of values that nobody voted for, OKRs, etc. [2]: Beware of strong incentives to hide costs, especially past failures.
© 2012-2020 by Petrus Theron