Reference
Team and work
Engineering policies, the Features you can ship, and the tasks that keep the code base healthy.
Engineers turn Dev Hours into Features and tasks. A policy sets how fast they ship and how much debt each Feature leaves behind.
Policies#
| Policy | Velocity | Debt per Feature | Bad deploys | Deploys a day |
|---|---|---|---|---|
| Move fast | ×1.3 | 6% | ×1.5 | 16 |
| Balanced | ×1 | 3% | ×1 | 8 |
| Quality | ×0.8 | 1% | ×0.5 | 4 |
Features#
| Feature | Era | Dev Hours | Effect | Hidden cost |
|---|---|---|---|---|
| Landing page | Garage | 8 | Market +20%, page views +10% | — |
| Signup flow | Garage | 16 | Growth +15%, writes arrive early | — |
| Pagination | Garage | 4 | API reads send half the bytes | Adds a query shape with no index |
| Password login | Pre-seed | 40 | Logins arrive: 80 ms of CPU each | — |
| Paid plans | Pre-seed | 80 | Writes earn 30% more, plus subscriptions | — |
| Email digests | Pre-seed | 40 | Churn −10% | — |
| Search filters | Seed | 40 | Searches earn 25% more | Each search query costs 40% more |
| Profile photos | Seed | 40 | Growth +10%, uploads arrive: 120 ms of CPU each | — |
| Public API | Seed | 160 | Market +25%, API reads +30% | Bots +50% |
| Infinite scroll | Seed | 24 | API reads earn 10% more, and users send 40% more | — |
| Video | Series A | 480 | Market +40%, video arrives: 5 MB each | — |
| Chat | Series A | 480 | Churn −20%, realtime messages hold connections open | — |
| Checkout Checkout | Series A | 320 | Checkouts arrive: $25 each, through the Payment Provider | — |
| Notifications center | Series A | 80 | Growth +10%, realtime +20% | — |
| Mobile app | Series A | 960 | Market +60%, API reads +50% | — |
| Data export | Series B | 80 | Writes earn 20% more. Exports arrive: 400 ms of CPU and 50 reads each | — |
| Dashboards | Series B | 480 | Market +10%. Reports arrive: a table scan each | — |
| AI assistant | Series B | 480 | AI prompts arrive: $8 each, served by a GPU Node or the LLM API | — |
| Recommendations | Series B | 480 | Video +30% | Exports +30%: the model trains in batch |
| Audit log | Series B | 120 | Market +10%: enterprises can buy | Each write query costs 20% more |
| Activity feed | Series C | 480 | Market +50%. Feeds arrive: 20 reads each, or one timeline with fan-out on write | — |
| Webhooks | Series C | 120 | Market +20%. Webhooks arrive: 800 ms calls to customer servers | — |
| Push notifications | Series C | 80 | Growth +15%. Notifications arrive, through the Push Provider | Churn +5%: users tire of them |
| Localization | Series C | 480 | Market +40% outside North America | — |
| Offline mode | Series C | 480 | Churn −10% | Writes +10%: devices sync in bursts on reconnect |
| Single sign-on | Pre-IPO | 240 | Market +10%: enterprises sign in with SAML | — |
| Status page | Pre-IPO | 16 | Churn −10%: users see you are on it | — |
| Usage-based pricing | Public | 480 | Exports, writes, prompts and webhooks earn 15% more | — |
Tasks#
| Task | Dev Hours | Effect | Needs |
|---|---|---|---|
| Add index | 4 | Ends a Slow query and covers one query shape | Query analysis |
| Eager loading | 10 | ORM frameworks stop sending N+1 queries | Eager loading |
| Fix memory leak | 15 | No leaks until the next Feature ships | — |
| Drop session state | 8 | Transaction pooling stops breaking queries | Connection pooling |
| Refactor | 10 | Tech debt −20 points | — |
| Upgrade clusters | 24 | Every Kubernetes Cluster runs a supported version for a quarter | Container orchestration |