Notion for Delivery

Alexander Logan
7 min readApr 22, 2020

--

TL;DR; In this post you will hear about how you can set up Notion for product delivery, understand the compromises and some reflections on how it’s working after a sprint or two for our team.

This is a follow up to a post I write a few weeks ago about moving away from Atlassian and to Notion. TL;DR; Solving the problem of too many tools to manage a multi disciplinary team of 20 at the start of the venture journey with Notion.

We hadn’t started delivery at this stage and mentioned I would write a new post when this started… Here we go!

Context

We are a team of 7 engineers, 2 experience designers and 2 product managers starting the build with a clean slate. Without any legacy platforms to deal with we are free of process or integration requirements – just building and shipping with a Kanban approach 🚀

One of the best things about Notion is that you can easily get in there and have a play around. Even if making the switch isn’t feasible for your team I would encourage you to try it out.

Getting Started

If you have not used Notion before I encourage you to read this article on Notion databases aka what will fuel your tasks and boards.

You’re going to start by leveraging the Roadmap Template from Notion. There’s two things you should do immediately that will make it replicate familiar tools such as JIRA.

  1. By Status view: This will form your primary board for day-to-day task management. At this point, you might want to update the name and add some additional columns such as “Peer Review” and “QA,” depending on your team’s workflow.
  2. Tasks 🔨 view: This is a list view and we have turned this into our backlog. To replicate this, add a new status called “Backlog” and change the filter on this list view to Status is Backlog.

After these two simple steps, you have replicated the basic functionality of JIRA to view tickets in a Kanban view and a Backlog view. A bonus is that it’s super quick to jump between views and really easy to move tickets from the backlog to the board by changing the status.

Kanban view
Backlog view

The Roadmap Template has a lot of assumptions baked into the way a team manages tasks and people. Before you are deterred by this, delete the things that trigger you and continue reading this post to find out how flexible it is.

Properties

Properties are added to your database items (Tasks, Stories, Epics) to give them all kinds of context such as a status, type, owners, team tags etc. You can use these properties to filter, sort, and search your data. If you’re just getting started with Notion I recommend reading about what they call “databases” with Intro to databases.

There are useful properties added with the Roadmap template such as type: Epic ⛰, Story 📚 & Task 🔨 . But, every team is different and we have added more properties such as team (FE, BE), FE type (UI, application), size (t-shirt sizing) and ticket number (SITE-46).

Properties can be displayed on cards to allow for easy navigation and comprehension.

At this point I would encourage you to create 5 to 10 Tasks 🔨 and start to add properties your team requires.

Item taxonomy and relationships

You’re probably starting to think about epics, stories and tasks and their relationships. I have saved this step until now as it’s important to orientate and navigate around using tasks to get familiar with the Notion format. However, most teams will want to have more detail and context for tasks that can be found in an Epic or Story. I will explain the process through a Story (the same principles apply to Epics).

Step 1: Create your Story

Simply create a new item and change the type to Story 📚 . Fill in the details or leverage a template that comes out of the box (more on this later). You can add properties and many media types to your story… embed Figma files or other integrations supported by Notion.

Let’s use “Sign up” as the story we are creating for our product…

Step 2: Attach the Story to your tasks

One feature in JIRA I am a huge fan of is attaching tasks to a story, allowing you to easily track what is complete and where dependancies lie between FE and BE. This is supported in Notion, too.

Let’s stick to the “Sign up” story. Simply add your tasks in the backlog view you created earlier. To attach these tasks you will need to add a relation property to your tickets and this will allow you to track all the tasks for a story. In the backlog view add “Sign up” to all the tasks in the Story column. Easy — now they are all attached!

Step 3: Manage your story

In the image below I have the “Sign up” story and a number of tasks that are attached to this story. This is a view that I created with sorting by Story property ascending, Type ascending, Status ascending. This is an example of what could be your backlog view or a place to provide updates to stakeholders on progress.

With this view you can easily understand the progress of the story

Item templates

Notion comes with out of the box templates for Epics, Stories, Tasks and Bugs. These templates are completely customisable and you can even add additional templates such as Sub Tasks.

Edit and add template

If you click on he chevron next to “new” (see image) you can see all the out of the box templates you can edit. When editing you can customise the format of the page with things such as “story requirements” or expected properties. You can create a new template here with the same functionality.

Compromises and challenges

Notion has definitely made some great progress for delivery teams to use their product, but it still has some work to do.

Task numbers

Beware: This could be a deal breaker for many people.

For an unknown reason Notion is not supporting task numbers despite a lot of requests around the internet. There are some solutions such as generating a unique ticket number with the created at timestamp. However, the timestamp doesn’t support seconds (mins only) and many tasks end up with the same number.

This was a hard request from our engineers to ensure they could include the ticket number as a reference in their pull requests. So, my very manual solution is to add ticket numbers manually with a text property. I have a list view of tickets and I add PRE-001, PRE-002 into each task. Menial task of the century, but the benefits of using Notion for all our tools outweigh the pain I endure for the team.

Edit: Finally someone built an extension to solve this problem! Notion Plus ID is an amazing Notion extension for those seeking to simplify delivery management, support ticket tracking, and product building. It simply allows for automatically incrementing ticket numbers for any Notion Database.

Your engineers keep complaining about lack of incremental ticket IDs in your Notion database? Search no more.

By assigning unique identifiers to each page, team members can effortlessly search and reference related pages, ensuring that dependencies and statuses remain organized and accessible at all times.

I’m so glad someone finally built this — Check it out now.

Change management

None of our team had used Notion for delivery previously and this has required a lot of set up and education. One key learning to manage change is to have the different views set up before your team starts to look around and I have listed the priority views IMO

  • Kanban board view
  • BE Tasks board view
  • FE Tasks board view
  • Backlog list view
  • Story list view

In addition, I highly recommend migrating all the fields from your previous tool across into similar properties before you invite team members into Notion.

Summary

The switch to Notion has worked well in my experience and all the functionality our team requires to scope, plan and deliver our product exists. The experience adds to the value of hosting all our venture information in one place. The speed, flexibility and clean design all adds to the upside.

However, there are improvements that larger, complex teams will require to make the move. I will keep this page updated with any new builds…

--

--