Implementing Dual Track Agile in Notion

A Visual Guide

Andrew Jordan Miller
4 min readJun 7, 2020

I work as as a product manager at Modern Message, with a fantastically-talented cross functional team. I recently had the opportunity to standup a Dual Track Agile process for the team. I’m a big fan of Notion and decided to roll our own framework (demo here). Here’s my step by step!

🤷‍♀️ What are we going to make?

  • A Discovery Track Kanban board
  • Delivery Track Kanban board
  • A list of User Stories

The best part, is that they will all be linked to one another, updating state for each user story across all three views instantly!

📚 Step 1: Setup User Stories

If you don’t use user stories, you can just as easily call them “tasks”, “tickets”, or “items”. The user stories will be the heart of your dual track agile implementation.

Create a full page list for User Stories

Add some user story guidelines in the description (optional)

This will help keep your user stories consistent if multiple people are contributing.

Add a ‘select’ property for track and status to the User Story object

These will be used to organize the stories across two separate kanban boards.

Add values to the track and status properties

One option to keep things clean is to color code statuses to match their respective tracks, or prepend the track name to the status. In this example we do both.

Create a template for New User Stories (optional)

Include prompts for both Discovery and Delivery tracks. Templates help keep documentation consistent as well as passively trains the team on what types of questions they might want to answer in their work.

🔎 Step 2: Setup your Discovery Track

Any user stories that may need to be validated before being developed go into the Discovery Track. This is where you experiment, test, and rapidly iterate!

Create a page called Dual Track

You can name this page whatever you like.

Create a linked database to our User Story list

Linked databases in Notion allow you to create additional views of a dataset without impacting the original view. Note that updating the records of the dataset will impact the original as well.

Create a board view called “Discovery Kanban”

Group by “status”

Hide columns referring to the Delivery Track

Filter such that “Track is Discovery”

And voila! 🎉 You have a Discovery Track kanban board that uses your User Stories as an input.

🏗 Step 3: Setup your Delivery Track

After user stories have been validated they go into your Delivery Track. This is where your development team focuses most of their effort, on shipping product code for the end user.

Follow all the same steps as the Discovery Track, with two small changes:

  • Instead of creating a separate page, create another linked database within the Dual Track page. You can put it right below your Discovery Track.
  • Instead of filtering to “track is discovery”, filter to “track is delivery”.

Now you should have an empty Delivery Track just below you Discovery Track

💪 Step 4: Track progress with confidence!

Both kanban boards are additional views on the original user story list. This means that track and status will update across all three views.

Move user stories from one track to the other, and status is updated globally

Thanks for reading! Let me know how you’re using Notion or other ways you’re managing Dual Track Agile :)

--

--