FinOps maturity is not about tools. It is about culture. Every organization starts in the same place: someone notices the cloud bill is too high, a spreadsheet gets created, engineers are told to “use smaller instances,” and nothing changes because nobody has the visibility, incentives, or processes to optimize systematically.
This guide maps the maturity journey from reactive cost management to proactive cost optimization, with specific actions and metrics at each stage.
The Maturity Model
┌───────────────────────────────────────────────────────┐
│ FINOPS MATURITY STAGES │
├───────────────────────────────────────────────────────┤
│ │
│ 🐛 CRAWL (Reactive) │
│ "We know cloud costs are a problem but we don't have │
│ visibility into what is driving them" │
│ │
│ 🚶 WALK (Informed) │
│ "We can see our costs broken down by team and service, │
│ and we're starting to optimize the obvious waste" │
│ │
│ 🏃 RUN (Optimized) │
│ "Cost is a metric engineering owns, like performance │
│ or reliability, and we optimize continuously" │
│ │
└───────────────────────────────────────────────────────┘
CRAWL Stage: Gaining Visibility
Where You Are
- Cloud bill is paid by a central team (finance or IT)
- Engineers do not see the cost of the resources they create
- No tagging strategy, untagged resources everywhere
- Cost reports are generated monthly by someone in finance
- Optimization is occasional and driven by bill shock
What to Do
| Action | Priority | Timeline |
|---|
| Enable cloud billing export (AWS Cost Explorer, GCP Billing) | Critical | Week 1 |
| Define tagging strategy (team, service, environment) | Critical | Week 1-2 |
| Tag existing resources (start with top 20 by cost) | High | Week 2-4 |
| Create a simple cost dashboard (total, by service, trend) | High | Week 2-3 |
| Identify top 5 cost drivers | High | Week 3 |
| Shut down idle/unused resources | High | Week 3-4 |
Metrics at Crawl
| Metric | Target |
|---|
| Tagging coverage | > 80% of resources tagged |
| Cost visibility | 100% of spend attributable to a team |
| Waste identification | Top 10 waste items identified |
| Stakeholder awareness | Monthly cost report shared with engineering leads |
WALK Stage: Active Optimization
Where You Are
- Cost dashboard exists, updated at least weekly
- Most resources are tagged and attributable
- Teams see their own costs (showback reports)
- Active optimization: right-sizing, reserved instances, dev environment cleanup
- FinOps champion or team exists
What to Do
| Action | Priority | Timeline |
|---|
| Implement showback reports per team (monthly) | Critical | Week 1-2 |
| Right-size compute: analyze and resize overprovisioned instances | High | Week 2-4 |
| Implement auto-stop for non-production environments | High | Week 2-3 |
| Purchase reserved instances / savings plans for stable workloads | High | Week 3-4 |
| Set up cost anomaly detection | Medium | Week 4-6 |
| Include cost in architecture decision records | Medium | Ongoing |
Metrics at Walk
| Metric | Target |
|---|
| Unit cost | Cost per transaction / cost per user tracked and trending down |
| Reserved instance coverage | > 60% of stable compute covered by RIs |
| Non-production cost ratio | < 25% of total spend on non-production |
| Waste eliminated | $X/month savings documented and tracking |
RUN Stage: Engineering-Owned Cost
Where You Are
- Cost is an engineering KPI alongside performance and reliability
- Teams have cost budgets and own their spending
- Cost is considered in every architectural decision
- Automated optimization (auto-scaling, spot instances, lifecycle policies)
- FinOps is embedded in engineering culture, not a separate function
What to Do
| Action | Priority | Timeline |
|---|
| Implement chargeback (teams own their budgets) | High | Quarter 1 |
| Automate cost optimization (auto-scaling policies, spot instances) | High | Quarter 1-2 |
| Include cost in CI/CD: show cost impact of infrastructure changes | Medium | Quarter 1-2 |
| Build cost forecasting: predict next month’s bill | Medium | Quarter 2 |
| Implement unit economics dashboards per product | Medium | Quarter 2-3 |
| Run quarterly cost optimization sprints | Ongoing | Every quarter |
Metrics at Run
| Metric | Target |
|---|
| Cost per unit | Tracked per product, trending down or stable |
| Budget variance | Teams within 10% of budget monthly |
| Reserved coverage | > 80% for stable workloads |
| Cost efficiency ratio | Revenue per $1 of cloud spend improving |
| Engineer engagement | > 50% of teams actively manage their costs |
Organizational Roles
| Role | Responsibility |
|---|
| FinOps leader | Strategy, stakeholder management, metrics |
| Cloud architect | Right platform choices, cost-efficient designs |
| Engineering manager | Team-level cost accountability, budget ownership |
| Financial analyst | Forecasting, budget allocation, variance analysis |
| Cost champion (per team) | Day-to-day cost awareness, optimization advocate |
Common Optimization Wins by Stage
| Stage | Optimization | Typical Savings |
|---|
| Crawl | Delete unused resources | 10-15% |
| Crawl | Shut down idle dev/staging environments | 5-10% |
| Walk | Right-size overprovisioned instances | 15-25% |
| Walk | Purchase reserved instances / savings plans | 20-35% |
| Walk | Auto-stop non-prod outside business hours | 5-10% |
| Run | Spot instances for fault-tolerant workloads | 60-90% on those workloads |
| Run | Architecture optimization (caching, CDN, async) | 15-30% |
| Run | Lifecycle policies (auto-delete old snapshots, logs) | 5-10% |
Implementation Checklist
Jakub Dimitri Rezayev
Founder & Chief Architect • Garnet Grid Consulting
Jakub holds an M.S. in Customer Intelligence & Analytics and a B.S. in Finance & Computer Science from Pace University. With deep expertise spanning D365 F&O, Azure, Power BI, and AI/ML systems, he architects enterprise solutions that bridge legacy systems and modern technology — and has led multi-million dollar ERP implementations for Fortune 500 supply chains.
View Full Profile →