How to adapt this sprint planning system to your team's specific workflow, size, and methodology.
Simple (3 statuses):
To Do → In Progress → Done
Standard (5 statuses — the default):
Backlog → To Do → In Progress → In Review → Done
Extended (7 statuses):
Backlog → Refined → To Do → In Progress → In Review → QA → Done
With Blocked:
Add a "Blocked" status that sits alongside "In Progress" — use red coloring to make it visually distinct on the board.
To change: Click the Status column header → Edit property → Add/remove/rename Select options.
| Duration | Best For | Adjustment |
|---|---|---|
| 1 week | Fast-moving teams, high uncertainty | Smaller stories (max 5 points), daily velocity checks |
| 2 weeks | Most teams (the default) | No changes needed |
| 3 weeks | Teams with long review/QA cycles | Add a "QA" status, consider mid-sprint check-in |
| 4 weeks | Complex enterprise projects | Add milestone markers within the sprint, weekly velocity updates |
Fibonacci (default): 1, 2, 3, 5, 8, 13, 21
Best for: Most teams. The gaps between numbers force meaningful distinction.
T-shirt sizing: XS, S, M, L, XL
Best for: Teams new to estimation. Convert to numbers for velocity (XS=1, S=2, M=3, L=5, XL=8).
Linear: 1, 2, 3, 4, 5
Best for: Teams that find Fibonacci too abstract. Simpler but less nuanced.
No estimates (#NoEstimates):
Count stories instead of points. Track "stories completed per sprint" as velocity. Remove the Story Points column entirely.
| Property | Type | Purpose |
|---|---|---|
| Epic | Relation → Epics DB | Group stories under larger initiatives |
| Component | Multi-select | Tag by system area (Frontend, Backend, Database, DevOps) |
| Reviewer | Person | Who reviews the PR for this item |
| Branch Name | Text | Git branch name for easy reference |
| PR Link | URL | Link to the pull request |
| Deployed To | Select | None, Staging, Production |
| Customer Requested | Checkbox | Flag items that came from customer feedback |
| Tech Debt | Checkbox | Flag items that are paying down technical debt |
| Property | Type | Purpose |
|---|---|---|
| Velocity per Person | Formula | Completed Points / Team Size |
| Completion Rate | Formula | Completed Points / Planned Points × 100 |
| Sprint Health | Formula | See FORMULAS.md for the formula |
| Retro Link | URL | Link to the retrospective notes |
| Demo Recording | URL | Link to the sprint demo video |
While this template is standalone, you can enhance it:
1. Use Notion's GitHub integration to embed PR links
2. Add a "PR Link" URL property to backlog items
3. Use Notion's API + GitHub Actions to auto-update item status when PRs merge
1. Use Notion's Slack integration for database change notifications
2. Set up a Slack reminder that links to the standup database each morning
3. Create a Slack workflow that posts the sprint board link at standup time
1. Use the Sprint Calendar view's "Copy link" to embed in Google Calendar
2. Set up recurring calendar events for standup, planning, review, and retro
3. Link calendar events to the corresponding Notion pages
See formulas/FORMULAS.md for all formulas used in this template. You can modify them to suit your needs:
After a sprint ends:
1. Change the sprint status to "Completed"
2. Ensure all backlog items are either "Done" or moved to the next sprint
3. Create a final velocity history entry with actual numbers
4. The sprint will remain in the database but won't clutter your active views (because your board filters to the current sprint)
Optional cleanup:
*This template is a starting point, not a straitjacket. Modify it until it fits your team like a glove.*
Step-by-step instructions for importing this template into your Notion workspace.
You'll import 4 databases. Do them in this order so relations are easier to set up.
sprints.csv1. Open Notion and go to the page where you want your sprint system
2. Click "+ Add a page" in the sidebar (or press Cmd/Ctrl + N)
3. Name the page "Sprints"
4. At the top of the empty page, click "Table" under the database options (or type /table and select "Table - Full page")
5. You'll see an empty table. Click the "..." menu in the top-right of the table
6. Select "Merge with CSV"
7. Choose databases/sprints.csv from your downloaded files
8. Notion will create columns matching the CSV headers and populate all 10 rows
9. Adjust column types:
backlog-items.csv1. Create a new page named "Backlog Items"
2. Add a full-page Table database
3. Merge with databases/backlog-items.csv
4. Adjust column types:
standup-notes.csv1. Create a new page named "Standup Notes"
2. Add a full-page Table database
3. Merge with databases/standup-notes.csv
4. Adjust column types:
velocity-history.csv1. Create a new page named "Velocity History"
2. Add a full-page Table database
3. Merge with databases/velocity-history.csv
4. Adjust column types:
Relations are what make this system powerful — they connect your backlog items, standups, and velocity data back to specific sprints.
1. Open the Backlog Items database
2. Click "+" to add a new property (column)
3. Choose "Relation" as the property type
4. Select "Sprints" as the related database
5. Name this property "Sprint (linked)"
6. For each backlog item, click the Sprint (linked) cell and select the matching sprint
7. Once all items are linked, you can hide or delete the original text "Sprint" column
1. Open the Standup Notes database
2. Add a new Relation property pointing to Sprints
3. Name it "Sprint (linked)"
4. Link each standup note to its corresponding sprint
1. Open the Velocity History database
2. Add a new Relation property pointing to Sprints
3. Name it "Sprint (linked)"
4. Link each velocity record to its sprint
Rollups aggregate data from related databases, giving you calculated metrics on your sprints.
1. Total Committed Points — Add a Rollup property:
2. Items Completed — Add a Rollup property:
3. Total Items — Add a Rollup property:
1. Open the Backlog Items database
2. Click "+ Add a view" → select "Board"
3. Name it "Sprint Board"
4. Configure:
5. Arrange columns in order: To Do → In Progress → In Review → Done
1. Add another view → "Table"
2. Name it "Full Backlog"
3. Configure:
1. Open the Sprints database
2. Add a Calendar view
3. Set the date property to Start Date
4. If available, set end date to End Date for date ranges
5. Show: Sprint Name, Status
1. On the Sprints database, add a Timeline view
2. Set start to Start Date, end to End Date
3. This gives you a Gantt-style view of all sprints
1. Create a new page called "Sprint Hub"
2. Copy the content from pages/sprint-hub.md
3. Add linked database views:
/linked and select "Linked view of database"4. Arrange using Notion's column layout for a dashboard feel
1. In the Standup Notes database, click the dropdown arrow next to "New"
2. Click "+ New template"
3. Paste the content from templates/standup-note.md
4. Set default property values:
@today)5. Save the template
6. Repeat for the Bug Report template in the Backlog Items database
CSV import shows wrong column types?
Notion guesses column types from the data. After import, click any column header → "Edit property" to change the type manually.
Relations show "Untitled" entries?
Make sure the Title column in your Sprints database contains the exact sprint names referenced in other databases.
Rollups show 0 or empty?
Verify that the Relation is properly connected. Click a cell in the Relation column — it should show linked entries. If empty, the relation wasn't set up correctly.
Board view doesn't group properly?
Ensure the Status property is a "Select" type, not "Text". Board views require Select or Multi-select properties for grouping.
*You're all set! Your sprint planning system is ready to use. Start by updating Sprint 24.9 with your own sprint data, or create a fresh Sprint 1 for your team.*