# 📈 Product Roadmap Planner – **Premium Edition**

> **Designed for product teams that need end‑to‑end visibility, data‑driven prioritisation, and seamless sync with development tools.**  
> All tables below are ready‑to‑import as Markdown → Notion. After import, follow the **“Setup Checklist”** at the bottom to configure property types, formulas, roll‑ups, and automation links.

---

## 1️⃣ Overview & Vision Board  

| Property | Type | Description |
|---|---|---|
| **Vision Statement** | Text | One‑sentence north‑star. |
| **Target Market** | Text | Primary customer segment(s). |
| **Success Metrics** | Multi‑select | Top‑3 KPIs (e.g., ARR, NPS, Activation Rate). |
| **Launch Goal** | Date | Target date for the first public release. |
| **Quarterly OKR Link** | Relation → **OKR Database** | Shows the OKRs that drive this vision. |

> **Tip:** Keep the vision under 2 sentences – it fuels every roadmap item.

---

## 2️⃣ OKR Database  

| Property | Type | Description |
|---|---|---|
| **Objective** | Title | High‑level goal (e.g., “Increase paid conversions”). |
| **Owner** | Person | Who owns the OKR. |
| **Quarter** | Select | Q1 2025, Q2 2025 … |
| **Key Result** | Text | Specific measurable outcome. |
| **Target Value** | Number | Desired number (e.g., 15 %). |
| **Current Value** | Rollup → **Roadmap Database** → **Metric Value** (sum) | Auto‑aggregates from linked roadmap items. |
| **Progress %** | Formula | `if(prop("Target Value") == 0, 0, prop("Current Value") / prop("Target Value"))` |
| **Progress Bar** | Formula | `slice("▓▓▓▓▓▓▓▓▓▓", 0, floor(prop("Progress %") * 10)) + slice("░░░░░░░░░░", 0, 10 - floor(prop("Progress %") * 10))` |

**Views (pre‑configured):**  

* **OKR Dashboard** – Table grouped by **Quarter**, filtered to the current quarter, showing **Progress Bar**.  
* **OKR Gantt** – Timeline view using **Baseline Start** / **Baseline End** (see Roadmap DB) to visualise target dates.

---

## 3️⃣ Strategic Themes  

| Property | Type | Description |
|---|---|---|
| **Theme** | Title | e.g., “User Acquisition”. |
| **Owner** | Person | Theme lead. |
| **Quarter** | Select | Q1 2025 … Q4 2025. |
| **Color Tag** | Select | 🔵 Growth, 🟢 Retention, 🟠 Monetisation, etc. |
| **Linked OKRs** | Relation → **OKR Database** | One‑to‑many. |
| **Total Items** | Rollup → **Roadmap Database** → **Name** (count) | Auto‑count of linked roadmap items. |
| **Done Items** | Rollup → **Roadmap Database** → **Status** (filter “✅ Done”, count) | |
| **% Complete** | Formula | `if(prop("Total Items") == 0, 0, prop("Done Items") / prop("Total Items"))` |
| **Progress Bar** | Formula | `slice("▓▓▓▓▓▓▓▓▓▓", 0, floor(prop("% Complete") * 10)) + slice("░░░░░░░░░░", 0, 10 - floor(prop("% Complete") * 10))` |

**Views:**  

* **Theme Dashboard** – Table grouped by **Color Tag**, showing **% Complete** & **Progress Bar**.  
* **Theme Gantt** – Timeline view (see Roadmap DB) filtered by theme.

---

## 4️⃣ Roadmap Database  

| Property | Type | Description |
|---|---|---|
| **Name** | Title | Feature / Epic / Bug / Research. |
| **Type** | Select | Feature, Technical, Bug, Research, Epic. |
| **Theme** | Relation → **Strategic Themes** | One‑to‑many. |
| **Owner** | Person | Primary assignee. |
| **Target Quarter** | Select | Q1 2025 … Q4 2025. |
| **Status** | Select | ✅ Done, 🚧 In Progress, 📌 Planned, ⏸️ On Hold, ❌ Cancelled. |
| **Priority** | Select | High, Medium, Low. |
| **Effort (pts)** | Number | Fibonacci (1,2,3,5,8,13…). |
| **Baseline Start** | Date | Planned start (used for Gantt). |
| **Baseline End** | Date | Planned finish (used for Gantt). |
| **Actual Start** | Date | Auto‑filled when **Status** → “🚧 In Progress”. |
| **Actual End** | Date | Auto‑filled when **Status** → “✅ Done”. |
| **Dependencies** | Relation (self) | Links to other Roadmap items that must finish first. |
| **Metric Value** | Number | Numeric contribution to a linked OKR (e.g., “+5 % conversion”). |
| **Linked OKR** | Relation → **OKR Database** | One‑to‑many. |
| **% Complete** | Formula | `if(prop("Status") == "✅ Done", 1, if(prop("Status") == "🚧 In Progress", 0.5, 0))` |
| **Progress Bar** | Formula | Same bar formula as above. |
| **RICE Score** | Formula | `if(prop("Effort (pts)") == 0, 0, (prop("Reach") * prop("Impact") * prop("Confidence")) / prop("Effort (pts)"))` |
| **WSJF Score** | Formula | `if(prop("Effort (pts)") == 0, 0, (prop("Business Value") + prop("Time Criticality") + prop("Risk Reduction")) / prop("Effort (pts)"))` |
| **Reach** | Number | (RICE) Expected number of users impacted. |
| **Impact** | Number | (RICE) Value multiplier (1‑5). |
| **Confidence** | Number | (RICE) % confidence (0‑1). |
| **Business Value** | Number | (WSJF) Monetary impact. |
| **Time Criticality** | Number | (WSJF) Urgency factor. |
| **Risk Reduction** | Number | (WSJF) Risk mitigation value. |

### Pre‑configured Views  

| View | Type | Filters / Grouping | Comments |
|---|---|---|---|
| **Roadmap Kanban** | Board | Group by **Status**; Filter `Target Quarter` = Current Quarter | Columns: Backlog → Ready → In Progress → Review → Done |
| **Roadmap Gantt** | Timeline | Show **Baseline Start/End**, enable **Critical Path** (see note) | **Critical Path**: Turn on “Show dependencies” → Notion will draw arrows from **Dependencies** relation. |
| **Quarterly Q2 2025** | Board | Filter `Target Quarter` = Q2 2025 | Duplicate for each quarter. |
| **Burndown** | Table | Group by **Sprint** (custom property) → Rollup **Effort (pts)** remaining | See **Release Burndown** section. |
| **Velocity** | Table | Group by **Sprint**, sum **Effort (pts)** completed | |
| **Stakeholder View** | Table (Read‑only) | Filter `Target Quarter` = Next 3 months, hide internal columns | Embed in Stakeholder Dashboard. |

> **Critical Path Note:** In the Timeline view, click **⋮⋮ → Settings → Show dependencies**. The **Dependencies** relation draws the arrows automatically.

---

## 5️⃣ Prioritisation Frameworks (RICE & WSJF)  

A **stand‑alone calculator page** that pulls the selected Roadmap item and displays its scores.

| Property | Type | Formula |
|---|---|---|
| **Selected Item** | Relation → **Roadmap Database** (single) | |
| **RICE Score** | Rollup → **Selected Item** → **RICE Score** (show) | |
| **WSJF Score** | Rollup → **Selected Item** → **WSJF Score** (show) | |
| **Recommendation** | Formula | `if(prop("RICE Score") > prop("WSJF Score"), "Prioritise via RICE", "Prioritise via WSJF")` |

**Usage:** Click the **“Open Prioritisation Calculator”** button (see Section 8) → pick a roadmap row → see both scores instantly.

---

## 6️⃣ Quarterly Planning Boards  

Four **pre‑built board views** (Q1‑Q4) already exist in the Roadmap Database. For each quarter:

1. Duplicate the **Quarterly Qx 2025** board.  
2. Rename (e.g., “Q3 2025 Board”).  
3. Adjust the filter to the new quarter.  
4. Set **Group By** = **Status**.  
5. Enable **Card Preview** → show **Progress Bar**, **Effort**, **Priority**.

---

## 7️⃣ Release Checklist Template  

| Property | Type | Description |
|---|---|---|
| **Checklist Item** | Title | e.g., “Feature QA sign‑off”. |
| **Owner** | Person | Assigned lead. |
| **Completed?** | Checkbox | ✅ when done. |
| **Due Date** | Date | Optional deadline. |

**Template Button (global):**  

```
/template
Button name: New Release Checklist
Duplicate: Release Checklist Template
```

The button creates a ready‑to‑fill checklist page under the **Releases** sub‑page.

---

## 8️⃣ Fast‑Entry Buttons (Epics, Bugs, Research)  

Add three **template buttons** on the **Roadmap** page for instant creation:

### 8.1 New Epic  

```
/template
Button name: New Epic
Duplicate: (blank page)
Properties set:
- Type = Epic
- Status = 📌 Planned
- Priority = High
- Owner = @Current User
- Target Quarter = Current Quarter (auto‑filled via formula)
- Effort (pts) = 13
```

### 8.2 New Bug  

```
/template
Button name: New Bug
Duplicate: (blank page)
Properties set:
- Type = Bug
- Status = 📌 Planned
- Priority = Medium
- Owner = @Current User
- Target Quarter = Current Quarter
- Effort (pts) = 5
```

### 8.3 New Research  

```
/template
Button name: New Research
Duplicate: (blank page)
Properties set:
- Type = Research
- Status = 📌 Planned
- Priority = Low
- Owner = @Current User
- Target Quarter = Current Quarter
- Effort (pts) = 3
```

All three buttons appear side‑by‑side at the top of the **Roadmap** page for one‑click entry.

---

## 9️⃣ Stakeholder Dashboard – Executive‑Grade  

> **Read‑only (share‑only) page** that pulls live data, shows KPI widgets, and embeds live charts.

### 9.1 KPI Widgets (Formula‑driven)

| KPI | Formula Column (in **Stakeholder Dashboard** table) |
|---|---|
| **ARR Growth %** | `format(round((prop("ARR") - prop("ARR (Prev)")) / prop("ARR (Prev)") * 100, 1)) + "%" ` |
| **Active Users Δ** | `prop("Active Users") - prop("Active Users (Prev)")` |
| **Bug‑fix Lead Time (days)** | `prop("Avg Bug Lead Time")` |
| **Feature Release Cadence (per month)** | `prop("Releases This Month")` |

*All KPI columns pull via **Relation → Roadmap Database** → Rollups (sum, average, latest).*

### 9.2 Dynamic Charts  

1. **Create a Google Sheet** (template provided in the repo) that pulls the exported CSV of the **Roadmap Database** (via Notion’s “Export → CSV”).  
2. Build two charts:  

   * **Release Burndown** – line chart of remaining **Effort (pts)** per sprint.  
   * **Velocity** – bar chart of completed effort per sprint.  

3. In Notion, embed each chart with `/embed` → paste the **publish‑to‑web** URL. The charts auto‑refresh when the sheet updates (Zapier/Make sync keeps the CSV current).

### 9.3 Permission‑Based Filtering  

*Add a **View** called **Executive View** with filter:* `Owner = @ExecTeam` **OR** `Status != "❌ Cancelled"` and set the page sharing to **Can view** only. This ensures external partners see only high‑level data.

---

## 🔟 Release Burndown & Velocity Charts  

| Property | Type | Description |
|---|---|---|
| **Sprint** | Select | Sprint 1, Sprint 2 … |
| **Planned Effort** | Rollup → **Roadmap Database** (filter `Target Quarter` = current, sum **Effort (pts)**) |
| **Completed Effort** | Rollup → **Roadmap Database** (filter `Status` = ✅ Done, sum **Effort (pts)**) |
| **Remaining Effort** | Formula | `prop("Planned Effort") - prop("Completed Effort")` |
| **Burndown %** | Formula | `if(prop("Planned Effort") == 0, 0, prop("Completed Effort") / prop("Planned Effort"))` |

**Views:**  

* **Burndown Table** – Group by **Sprint**, show **Remaining Effort** and **Burndown %**.  
* **Velocity Table** – Group by **Sprint**, show **Completed Effort**.

Both tables are **synced** to the Google Sheet charts described in Section 9.2.

---

## 1️⃣1️⃣ Integration Hooks (Zapier / Make)  

| Integration | Zap/Scenario | Trigger | Action | Pre‑built Template Link |
|---|---|---|---|---|
| **Jira** | “Create Jira Issue from Roadmap Item” | New record in **Roadmap Database** (Status = 📌 Planned) | Create Issue in Jira (Project = **PROD**) | <https://zapier.com/shared/12345> |
| **GitHub** | “Open GitHub Issue on New Bug” | New record where **Type** = Bug | Create GitHub Issue (repo = **product‑repo**) | <https://zapier.com/shared/67890> |
| **Figma** | “Add Figma Link to Roadmap Item” | Updated **Figma Link** property in Roadmap | Update Roadmap record with thumbnail | <https://make.com/scenarios/abcde> |
| **Slack** | “Notify #roadmap on Status Change” | Status field changes | Post formatted message to Slack channel | <https://zapier.com/shared/11223> |

**Setup:** Click each link, duplicate the Zap/Scenario into your account, and map the Notion API token (generated in **Settings → Integrations → Develop your own integrations**).

---

## 1️⃣2️⃣ Retrospective Log  

| Property | Type | Description |
|---|---|---|
| **Release** | Title | e.g., “Q2 2025 – Onboarding Redesign”. |
| **What Went Well** | Text | Successes. |
| **What Didn’t** | Text | Pain points. |
| **Action Items** | Text | Follow‑up tasks (auto‑linked to Roadmap). |
| **Rating (1‑5)** | Number | Quick satisfaction score. |
| **Owner** | Person | Who authored the retro. |
| **Date** | Date | Auto‑filled on creation. |

**View:** **Retrospective Dashboard** – Table grouped by **Release**, sorted by **Date** descending.

---

## 📦 How to Import & Initialise  

1. **Create a new page** in your workspace → name it **Product Roadmap Planner – Premium**.  
2. Click **Import → Markdown & CSV**, select this `.md` file. Notion will create sub‑pages for each heading.  
3. For each table labeled **Database** (Overview, OKR, Themes, Roadmap, KPI Dashboard, Burndown, Retrospective):  
   - Open the table → **Turn into → Database**.  
   - Set **Property Types** exactly as listed (Select, Multi‑select, Person, Date, Number, Relation, Rollup, Formula, Checkbox).  
   - Populate **Select options** (e.g., Status emojis, Priority levels, Quarter values).  
4. **Relations & Rollups**:  
   - Link **Roadmap → Strategic Themes**, **Roadmap → OKR Database**, **Roadmap → Self (Dependencies)**.  
   - Add the roll‑up formulas shown in each table’s “Formula” column.  
5. **Views**:  
   - For each pre‑configured view (Kanban, Gantt, Burndown, Velocity, Stakeholder Dashboard) click **Add a view**, choose the type, then copy the filter/group/sort settings from the table above.  
6. **Template Buttons**:  
   - Paste the three button blocks from Section 8 onto the **Roadmap** page.  
   - Paste the **Release Checklist** button from Section 7 onto the **Releases** sub‑page.  
7. **Automation Hooks**:  
   - Follow the Zapier/Make links, authorize Notion, and test each trigger/action.  
8. **Charts**:  
   - Duplicate the Google Sheet template (link provided in the repo).  
   - Publish each chart to the web → embed URLs in the **Stakeholder Dashboard** page.  
9. **Permissions**:  
   - Share the **Stakeholder Dashboard** page with executives → set **Can view** only.  
   - Keep the rest of the workspace **Can edit** for the product team.  

> **You’re now ready** to drive product strategy, track OKR alignment, visualise dependencies, and keep leadership instantly informed—all from a single Notion workspace. Enjoy the premium experience!