System · Collateral Squad
Execution Planning System: Story Points
Sprint planning lacked consistency because effort estimation varied across engineers. This system standardizes Effort and Complexity on a 1–5 scale, separated for Frontend and Backend, and converts automatically into the Fibonacci scale.
How it works
Each story is evaluated on two independent axes: Effort and Complexity.
The team votes separately for Frontend and Backend — each track has its own estimate.
The formula converts (Effort × Complexity) to the closest Fibonacci value.
The Sprints tab automatically consolidates total SP per sprint (FE + BE).
Evaluation scales
Effort
- 1
Up to 4 hours
Simple task, immediate estimate. A few hours of work.
- 2
1–2 days
Moderate effort, between 1 and 2 days of focused work.
- 3
3–5 days
Coarse estimate — between 3 and 5 days of work.
- 4
~1 week
Large story requiring more than a week of concentrated effort.
- 5
More than 1 sprint
LARGE and highly complex stories. Mandatory candidate for breakdown.
Complexity
- 1
Very low
No knowledge gaps. Basic skills already in the team. No POC required.
- 2
Low
SMALL stories with few unknowns and no complex external integration.
- 3
Moderate
SMALL to MEDIUM size. Some unknowns or integrations. May need a Spike or POC.
- 4
High
MEDIUM size with dependencies on other systems. Requires more experienced engineers.
- 5
Very high
LARGE stories with many integrations and unknowns. Mandatory candidate for breakdown.
Risk
- 1
Minimal
No visible blockers. Safe story to enter the sprint without caveats.
- 2
Low
Small dependency or uncertainty, but unlikely to block delivery.
- 3
Moderate
Risk factor present (external dependency, open requirement). Requires attention and follow-up.
- 4
High
High likelihood of not finishing in-sprint or causing rework. Discuss mitigation before planning.
- 5
Critical
Severe blocker or critical uncertainty. Should NOT enter the sprint without refinement or breakdown.
Story Points formula
Story Points = Fibonacci( ROUND( Effort × Complexity ) )
E × C
1→1
E × C
2→2
E × C
3–4→3
E × C
5–6→5
E × C
7–10→8
E × C
11+→13
Risk does not change the SP — it flags stories that should be refined before the sprint. SP ≥ 8 + Risk ≥ 4 → must be discussed before entering the sprint.
Estimated backlog
Frontend
Total 48 SP
| Story | Notes | |||||
|---|---|---|---|---|---|---|
| Retention screen in the unlock flow | 2 | 2 | 3 | Sprint 1 | 1 | |
| Generic onboarding for Collateral | 3 | 3 | 8 | Sprint 1 | 2 | |
| Collateral selection screen (savings vs checking) | 3 | 3 | 8 | Sprint 2 | 2 | |
| End screen after limit increase via Cofrinhos | 2 | 1 | 2 | Sprint 2 | 1 | |
| Collateral management screen | 3 | 2 | 5 | Sprint 2 | 2 | |
| Quick Win — display ineligibility reasons | 2 | 2 | 3 | Sprint 3 | 1 | |
| Block / unlock receipt screen | 2 | 2 | 3 | Sprint 3 | 1 | |
| Savings redirect into the issuance flow | 1 | 1 | 1 | Sprint 3 | 1 | |
| Context refit inside the messaging hub | 2 | 2 | 3 | Sprint 4 | 2 | |
| Games integration (Collateral banner) | 2 | 2 | 3 | Sprint 4 | 3 | Depends on alignment with the Games team |
| GA4 tagging — contracting flow | 2 | 3 | 5 | Sprint 4 | 2 | |
| Sanity check — remove onboarding animations | 1 | 1 | 1 | Sprint 5 | 1 | |
| A/B test — 'redeem all' button vs input field | 2 | 2 | 3 | Sprint 5 | 2 |
Backend
Total 159 SP
| Story | Notes | |||||
|---|---|---|---|---|---|---|
| Transactional locking rule on partial unlock | 4 | 5 | 13 | Sprint 1 | 3 | |
| Eligibility engine — D-1 fallback base | 4 | 4 | 13 | Sprint 1 | 3 | |
| Platform migration VQ → NPC (active contracts) | 5 | 5 | 13 | Sprint 2 | 5 | High risk — review scope before planning |
| CDB Cofrinhos rules — share-to-BRL conversion | 4 | 5 | 13 | Sprint 2 | 4 | Dependency on the Cofrinhos team |
| API /increase — unification of increase/issuance engines | 4 | 4 | 13 | Sprint 2 | 3 | |
| PUC Adapter 2.0 integration | 4 | 4 | 13 | Sprint 3 | 3 | |
| Fraud Block List in the eligibility engine | 3 | 3 | 8 | Sprint 3 | 2 | |
| Async notification system — Collateral | 4 | 4 | 13 | Sprint 3 | 3 | |
| Observability automation — incident closure | 4 | 4 | 13 | Sprint 4 | 2 | |
| Delinquency rule — block unlock | 3 | 3 | 8 | Sprint 4 | 2 | |
| Issuance via Multi-Card — credit enablement | 4 | 4 | 13 | Sprint 4 | 3 | |
| CDB yield sync into Cofrinhos | 3 | 5 | 13 | Sprint 5 | 4 | Dependency on yields API |
| Saga infrastructure for Cofrinhos redemption | 4 | 5 | 13 | Sprint 5 | 4 | Validate with architecture first |
Consolidated by sprint
| Sprint | SP Frontend | SP Backend | SP Total |
|---|---|---|---|
| Sprint 1 | 11 | 26 | 37 |
| Sprint 2 | 15 | 39 | 54 |
| Sprint 3 | 7 | 34 | 41 |
| Sprint 4 | 11 | 34 | 45 |
| Sprint 5 | 4 | 26 | 30 |
| Grand total | 207 | ||
Outcome
Stronger team engagement during refinements, more consistent estimates across sprints and reduced squad waiting time. The system became a living reference: new members calibrate fast, and discussions stopped revolving around "what is a 5" and started focusing on what needs to be broken down before the sprint.