RSS Amplifier

Geraldine's Tech Blog · Jan 26, 2022

How I Use Notion for Project Management

0
Sign in to vote or save

This page did not load. You can still read it on the original site — the toolbar below keeps your place in the directory.

As a self-taught developer, one of my biggest insecurities is that I don't have "real" experience working in a "real" software engineering work environment. And because of my introversion, I tend to tackle projects solo. And-And, to make matters wors...

As a self-taught developer, one of my biggest insecurities is that I don't have "real" experience working in a "real" software engineering work environment. And because of my introversion, I tend to tackle projects solo. And-And, to make matters worse, I struggle with keeping myself accountable on these projects. It's truly a recipe for disaster. 😅

Silly TonTon gif

Recently, I decided to tackle these issues by researching agile methodology and workflows for productivity. I'd heard all the buzzwords before—sprint, stand up, scrum, kanban, and the like. But I didn't know what any of them meant or how they fit together in a "real" work environment (if at all). I ended up reading a lot of posts on Atlassian and asking others what their day-to-day looked like.

This gave me ideas about what kind of workflow would work best for me:

  1. 🏃🏾‍♀️ Short Sprints - A typical sprint is 2 weeks, but with the small personal projects I was doing, that wasn't very reasonable. I settled for 2 days instead. One day was too short, and 3+ seemed too long for me to plan out for the time being.

  2. 📋 Kanban Board - I liked the idea of Kanban boards and the flexibility to move tasks around as necessary. I also thought the idea of "Work In Progress limits" would help me feel less overwhelmed on a day-to-day basis.

  3. 🗨 User Stories - These are product features from the perspective of the user, which are familiar to me from my time studying user experience design. They're most helpful in shaping the MVP (minimum viable product) for the project.

  4. 🙋🏾‍♀️ Daily Standups - I am familiar with this concept from my time with 100Devs. And from what others have told me, it's just a relatively quick share out of what everyone did previously and what they'll be working on today. A simple check-in with myself to figure out what to do next, by far, has been the greatest change to my workflow.

With these ideas, I started brainstorming ways to capture the process, and naturally, I chose Notion because that's what I use to manage everything else in my life. 🤹🏾‍♀️

Notion for Project Management (and Everything Else)

I've been using Notion for a while now. Initially, it was an effort to transition from pen-and-paper bullet journaling to digital bullet journaling. Before, I'd spend a lot of time tweaking templates and setting up fancy pages and linked databases, only to never actually use the stuff I came up with. For a time, I even gave up using it because it was too much work, even though the whole idea was to make it easier to use because I could access it on my phone, iPad, and computer.

Eventually, I stumbled across Thomas Frank's Notion Masterclass: Build a Task Manager from Scratch, and it was a real game-changer for me. The main database to track everything I ever had to do was nice since it made it so I only had one thing to keep track of.

All Tasks table in Notion to list every single thing that needs to be done in my life

Further on, I realized that a weekly overview was most suitable for me (as opposed to a daily page/overview), and eventually I integrated the All Tasks table into a Weekly Agenda where I can see my tasks over the next week. (It's a little bare because I'm not doing any projects right now.)

All Tasks table in Notion on a different page in a different view, which helps me to see tasks that are due that week

There are two main features that make Notion great for project management: Templates and Linked Databases.

Templates

Notion supports whole-page templates and block templates. This means I could have a General Overview page template for every project and a Daily Standup block template on that page.

Web Dev Project Page Template

This is the template I use for all my web development-related projects. It's an entire page that can be duplicated for each project. I also have a Blog Post template that I used to write a draft of this post.

Web Dev Project Page Template in Notion

Daily Standup Block Template

This is a block template in the page template. I've set it up so that every time I check in for standup, I click the "Add new daily stand up" button, and I get the same formatted elements to log my notes. (Normally, the configuration part isn't visible.)

Daily Standup Block Template in Notion

Linked Databases

A linked database allows you to embed an existing table or database and create views for it on any page. You can even add new entries or items to it from there. This means I can embed my All Tasks database on the template page, but also filter it so I only see the tasks related to that project.

Below, you can see the same All Tasks table in different views.

Table View - Default

As the name suggests, this is the default view, which is a table that lists every task related to the project — big or small, sprint or epic, bug or feature. I use this view when I'm planning and adding tasks to the project.

Table View of the All Tasks table

Board View - State

This is the traditional Kanban view — with columns for To Do, Doing, and Done, and recently Cancelled. This is the view I usually use when I'm in the middle of a project.

Board View by State of the All Tasks table, also known as a Kanban Board

Board View - Sprints

This is another board view, but this time the columns represent the sprint number, where I can see which tasks were part of which sprint or if they spanned over multiple sprints. For those tasks that go into the next sprint, I keep a mental note to plan more time in the future around it.

Board View by Sprint of the All Tasks table

A Brief Example with a New Project

The following example is very brief, as I'm just now putting it together for this blog post. It's for an idea I've had for some time now and really excited to turn into reality.

Overview & Requirements

I fill out this section when I first get an idea for a project. The added benefit is that I can use the overview in the README file for the GitHub repository.

The requirements are basically the User Stories from the Product Requirements Template on Atlassian, where every statement starts with "A user wants to..." and is given a priority: Must Have, Should Have, or Nice to Have. This informally becomes the Minimum Viable Product (MVP) for the project.

Overview & Requirements for my upcoming Streamer Timeline project

Constraints, Designs, Reference Material

This is where I start thinking about the project more realistically. Questions like "What obstacles can I expect?" or "What am I not going to do in this project?" are addressed under Constraints.

I also spend some time looking for designs on Dribbble or Behance for inspiration and save them under Designs. Recently, I've been weaning off tutorials and relying on official documentation to push through challenges, but I still like to know what's already been done and try to reverse engineer it if I can. I save these resources under Reference Material.

Constraints, Designs, and Reference Material for my upcoming Streamer Timeline project

Timeline & Milestones

This is where I start to flesh out the details and actionable steps to complete the project. The Sprints section is just a reminder of what a typical sprint lifecycle looks like scaled to the duration of my personal sprints. Truthfully, I don't actually do the Iteration Review and Retrospective much, but there is a period of reflection after each sprint to plan for the next one.

The Milestones section is kind of like pseudo-pseudocode. I do a braindump of all the little things that go into building out the requirements listed previously. The top-level text (eg. "Set up backend") become epics, and each bullet point underneath becomes a task (eg. "GET Access authenticated user's info + posts/events").

Timeline & Milestones for my upcoming Streamer Timeline project

Roadmap & Tasks

This is where everything—from sprints, to tasks, to bugs—gets added to make sure it also gets listed in my All Tasks table that I see on other Notion pages.

Roadmap & Tasks for my upcoming Streamer Timeline project

I fill this out sprint by sprint, so that I'm not overwhelmed by the number of things I need to do. It's also easier to add things along the way when I think of them. Below, you can see me fill out the table for Sprint 01 with two epics, which is typical for me. Generally, I work on about one epic per day in my 2-day sprints.

https://youtu.be/jCn6Ni0c8H0

With another template, I'm able to create top-level tasks that come with their own All Tasks table, so that I can match the subtask to the top-level task. This is what I use for sprints and epics, since sprints have epics as a subtask and epics have tasks as subtasks. Along the way, I also list out the bugs I come across and tag them as such.

Top Level Task with Subtasks Page Template that are also linked to the All Tasks table

This may be a little confusing, so again, I highly recommend watching Thomas Frank's Notion Masterclass: Build a Task Manager from Scratch if you're interested in a similar setup.

With some tasks in the table, I can now see them in the Kanban Board view, and all the tasks should be in the To Do column. Since my WIP limit is three, I will move the first three tasks to the Doing column. Sometimes it's less or more, but I do try to stick to the limit.

Roadmap & Tasks section in the Board View by State, or Kanban Board view

Daily Standups

Finally, I have a section to log my progress during my daily standups. Of course, at the start of the project, I won't have anything to write for "Yesterday", but I can write out what I'll be doing for the day.

The "+ Add new daily stand up" is a template block that I'll be able to use to generate the same structure for the next day, so I don't have to type everything up again.

Daily Standups section for my upcoming Streamer Timeline project

In Conclusion

Since I've been using Notion for a while now, I've made a habit of checking it every morning, particularly the Weekly Agenda view for that week. This is where Notion's linked databases really shine. This is just the All Tasks table in another view. Since every task has a "Day" property, this view displays all my tasks for the week by day, something like a single week on an actual calendar.

Weekly Agenda view in Notion

When it's actually time to work on the project, I switch to the project page, check in for my Daily Standup, and get to work!

If you have any questions or comments, please let me know. I'd also like to hear what you use for project management. 😊

Thanks for reading!

💖 Geraldine


This post was put together like a digital scrapbook, a good balance of screenshots and text to make it easier to read.

https://media1.giphy.com/media/C2XWO0Bg8qayylzyr0/giphy.gif

Source: giphy

Read on geraldiner.hashnode.dev

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.