Contents

Chapter 1

Customization Guide — Sprint Planning Dashboard

How to adapt this sprint planning system to your team's specific workflow, size, and methodology.


Customizing for Your Team Size

Solo Developer

  • Remove the "Assignee" column (or keep it for context if you wear multiple hats)
  • Simplify standups to a daily journal format
  • Use the backlog as a personal task list with sprint timeboxes
  • Velocity tracking helps you estimate side projects and freelance work

Small Team (2-5 people)

  • Use Notion's Person property type for Assignee (requires a shared workspace)
  • Enable Notify on assignments so team members get pinged
  • Create a shared standup view filtered by "Today" — review in your morning sync
  • Consider adding a "Reviewer" property to backlog items for PR assignments

Large Team (6-15 people)

  • Add a Team/Squad property to backlog items if you have sub-teams
  • Create separate board views per squad, all pulling from the same backlog
  • Add a Sprint Planning database to track planning session notes separately
  • Consider adding an Epic database with relations from backlog items for roadmap-level tracking

Multiple Teams

  • Duplicate the entire system per team, or share one backlog with a Team filter
  • Add a top-level "Program Board" page with linked views from each team's sprint
  • Create a cross-team dependency tracker (add a "Blocked By Team" relation)

Customizing the Workflow

Different Status Workflows

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.

Sprint Duration

DurationBest ForAdjustment
1 weekFast-moving teams, high uncertaintySmaller stories (max 5 points), daily velocity checks
2 weeksMost teams (the default)No changes needed
3 weeksTeams with long review/QA cyclesAdd a "QA" status, consider mid-sprint check-in
4 weeksComplex enterprise projectsAdd milestone markers within the sprint, weekly velocity updates

Estimation Scales

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.


Adding Custom Properties

Useful Additions for Backlog Items

PropertyTypePurpose
EpicRelation → Epics DBGroup stories under larger initiatives
ComponentMulti-selectTag by system area (Frontend, Backend, Database, DevOps)
ReviewerPersonWho reviews the PR for this item
Branch NameTextGit branch name for easy reference
PR LinkURLLink to the pull request
Deployed ToSelectNone, Staging, Production
Customer RequestedCheckboxFlag items that came from customer feedback
Tech DebtCheckboxFlag items that are paying down technical debt

Useful Additions for Sprints

PropertyTypePurpose
Velocity per PersonFormulaCompleted Points / Team Size
Completion RateFormulaCompleted Points / Planned Points × 100
Sprint HealthFormulaSee FORMULAS.md for the formula
Retro LinkURLLink to the retrospective notes
Demo RecordingURLLink to the sprint demo video

Integrations

Connecting to GitHub/GitLab

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

Connecting to Slack

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

Connecting to Calendar

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


Advanced: Custom Formulas

See formulas/FORMULAS.md for all formulas used in this template. You can modify them to suit your needs:

  • Change the velocity calculation to use a rolling average instead of per-sprint
  • Adjust the sprint health score weights
  • Add a "days since last update" formula for stale item detection
  • Create a workload balance formula per team member

Archiving Completed Sprints

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:

  • Move completed sprints to an "Archive" section using Notion's page nesting
  • Create a "Completed Sprints" view with all finished sprints for historical reference

*This template is a starting point, not a straitjacket. Modify it until it fits your team like a glove.*

Chapter 2

Import Guide — Sprint Planning Dashboard

Step-by-step instructions for importing this template into your Notion workspace.


Prerequisites

  • A Notion account (free or paid — all features used in this template work on the free plan)
  • The downloaded product files unzipped on your computer

Step 1: Import the CSV Databases

You'll import 4 databases. Do them in this order so relations are easier to set up.

1.1 Import sprints.csv

1. 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:

  • Sprint Name → Title (should auto-detect)
  • Sprint Goal → Text
  • Start Date → Date
  • End Date → Date
  • Status → Select (options: Planning, In Progress, Completed)
  • Planned Points → Number
  • Completed Points → Number
  • Team → Select
  • Notes → Text

1.2 Import backlog-items.csv

1. 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:

  • Title → Title
  • Description → Text
  • Status → Select (options: Backlog, To Do, In Progress, In Review, Done, Won't Do)
  • Priority → Select (options: Critical, High, Medium, Low)
  • Story Points → Number
  • Sprint → Text (we'll convert this to a Relation in Step 2)
  • Assignee → Select (or Person, if sharing with a team)
  • Type → Select (options: Feature, Bug, Performance, Chore)
  • Labels → Multi-select (split the semicolon-separated values into tags)
  • Created Date → Date
  • Due Date → Date
  • Acceptance Criteria → Text

1.3 Import standup-notes.csv

1. 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:

  • Date → Date
  • Sprint → Text (will become a Relation)
  • Author → Select (or Person)
  • Yesterday → Text
  • Today → Text
  • Blockers → Text
  • Mood → Select

1.4 Import velocity-history.csv

1. 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:

  • Sprint → Text (will become a Relation)
  • Planned Points → Number
  • Completed Points → Number
  • Carry Over Points → Number
  • Velocity → Number
  • Team Size → Number
  • Sprint Duration Days → Number
  • Bugs Found → Number
  • Bugs Fixed → Number
  • Notes → Text

Step 2: Create Relations Between Databases

Relations are what make this system powerful — they connect your backlog items, standups, and velocity data back to specific sprints.

2.1 Backlog Items → 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

2.2 Standup Notes → Sprints

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

2.3 Velocity History → Sprints

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


Step 3: Add Rollup Properties

Rollups aggregate data from related databases, giving you calculated metrics on your sprints.

On the Sprints Database:

1. Total Committed Points — Add a Rollup property:

  • Relation: Backlog Items (the relation Notion auto-created when you linked Backlog Items → Sprints)
  • Property: Story Points
  • Calculate: Sum

2. Items Completed — Add a Rollup property:

  • Relation: Backlog Items
  • Property: Status
  • Calculate: Count values → then filter to show only "Done"
  • (Alternative: use Percent checked if you add a checkbox)

3. Total Items — Add a Rollup property:

  • Relation: Backlog Items
  • Property: Title
  • Calculate: Count all

Step 4: Create Views

4.1 Sprint Board (Board View)

1. Open the Backlog Items database

2. Click "+ Add a view" → select "Board"

3. Name it "Sprint Board"

4. Configure:

  • Group by: Status
  • Filter: Sprint (linked) → is → [current sprint]
  • Sort: Priority (Critical first)
  • Visible properties: Story Points, Assignee, Type

5. Arrange columns in order: To Do → In Progress → In Review → Done

4.2 Backlog Table (Table View)

1. Add another view → "Table"

2. Name it "Full Backlog"

3. Configure:

  • Filter: Status → is not → Done, AND Status → is not → Won't Do
  • Sort: Priority descending, then Created Date ascending
  • Visible properties: All

4.3 Sprint Calendar (Calendar View)

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

4.4 Sprint Timeline (Timeline View)

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


Step 5: Build the Sprint Hub Page

1. Create a new page called "Sprint Hub"

2. Copy the content from pages/sprint-hub.md

3. Add linked database views:

  • Type /linked and select "Linked view of database"
  • Choose the appropriate database and view
  • Place them in the sections indicated in the sprint hub content

4. Arrange using Notion's column layout for a dashboard feel


Step 6: Set Up Database Templates

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:

  • Date: Today (use @today)
  • Sprint: [current sprint]

5. Save the template

6. Repeat for the Bug Report template in the Backlog Items database


Troubleshooting

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.*

Sprint Planning Dashboard v1.0.0 — Free Preview