Not too long ago, I identified some areas in my personal work process that needed some improvement, and I started a set of practices that has been helpful for me. I’ve gotten a comment or two here and there complimenting this stuff or otherwise expressing interest, so I thought it might be helpful to someone to have it all written out.
This is what my board looks like as of today. I’ve redacted things that are specific to what I’m working on at Olo but otherwise this is pretty representative. The lists should be relatively self-explanatory, but I’ll walk through each of them briefly.
The backlog list is where I put ideas and things I might want to pursue later at some date, but with no plan or particular business need. This is purely just for dumping things so I don’t forget them later with no way to recall the thoughts.
This is for tasks that are blocked for whatever reason, irrespective of whether I had started on the thing or not. If I see something in this list, then I know I need to follow up with someone else to see if I can work on it again.
This list is for “next tasks” - things that I can start on at any time, and have business value of some kind. I sometimes put cards here that need to be fleshed out more, like the “Dashboard / Metrics ideas” card you see there now.
This is stuff I’m currently actively working on. I may have tasks assigned to me on our Jira project (more about Jira later), but it doesn’t go in this list until I actually open up a branch for that thing in Visual Studio (or otherwise actually start on it). In-progress cards remain in the in-progress list until they are what we call “done done”. Even if my part of that item is “done”, it’s not really done until it’s all the way through our process and deployed in production or otherwise delivered to the appropriate stakeholders. I do my best not to pretend something is done when it’s really not - even if our Jira flow seems to get it off my plate.
I put done items here, usually, just as a record of accomplishments. It’s not 100% - sometimes I just absent-mindedly archive cards, and sometimes smaller tasks wind up just being checkboxes on my daily journal card (getting to that presently). The date on this list is the date for the Monday of that week.
You’ll notice in the screenshots that I have Jira-specific information on some of my cards. That’s because I chose the Jira integration for my one free power-up on this board. There are other power-ups I like, but on a free account you have to choose just one, and Jira was the most important one to me.
You’ll also notice that I have labels on most of my cards. This helps me quickly locate archived cards, or see the flow of particular types of cards. For example, if I have a lot of stuff in Jira assigned to me at a given time (this week I don’t because the Jira issues assigned to me are a bit on the big side), I can quickly look to see just the Jira stuff. Similarly, I label by major project area, or bug, or what have you. I try not to get too crazy with my labels, but it’s nice to have when you want to filter your view of the board, or quickly find archived things of a particular type.
One of the reasons I chose to use Trello is because it gives me a pretty free form for aggregating information related to work tasks, processes, and artifacts. We have other tools that track things like this: GitHub has issues, Jira has issues, Slack has reminders, and so on. But each of those tools doesn’t know anything about the other. Jira could be made to track a lot of this information, but it is very opinionated about how it should be used. Trello is very un-opinionated, which really suits me a lot better for this purpose.
The Daily Journal
My daily journal card is the heart of my process.
There are two main sections of my daily journal card. Start-of-day Tasks, and Goals.
Start of Day Tasks
This section is how I keep up with the regular, habitual stuff I need to be doing each day. For example, before working at Olo I had not used Jira before, so I wasn’t accustomed to needing to keep an eye on notifications there. By default they are sent out as emails, but email is really not a good way to get my prompt attention. I do check my email, but it would not be unusual at all for me to miss something for up to a day; at first I would miss Jira notifications and unintentionally leave people hanging when I shouldn’t have. A good remedy for me was to figure out how best to get notifications and then add this to my daily checklist to make sure I didn’t miss stuff.
Similarly, I added email and GitHub notifications to my list. Those three platforms are important to our process at Olo. I didn’t put Slack on the list because I live in slack all day every day and it would be rare for me to miss something there during working hours.
The platform health roundup is to help me remember to take a few minutes each day and check the logs, dashboards, and metrics for the part of our platform where I have some responsibility. At Olo we are trying to instill a culture of monitoring and proactive efforts to improve our platform reliability and our response times to customers - which means even engineers like me who aren’t on the infrastructure team help out with this. It’s not the bulk of my job, but I also need to participate in keeping an eye on things and catch things before our customers do. This is how I remind myself to engage in this effort.
That last two tasks are really end-of-day tasks, but I put them in this list anyway.
I have “arrange goals” second-to-last on this list, because sometimes the other items cause me to re-arrange my plans for the day. That means sometimes I don’t have a plan for the day until a couple hours into it, but that’s ok. This gives me the best opportunity to be focused on the things that most need attending.
Finally, I have an item there to remind me to email my manager kind of summarizing the day. He didn’t ask me to do this - I choose this because it helps keep me focused, and it also helps him have more insight into the progress of my projects. When I show up to a standup and say “I need more time for this thing”, he’s usually not surprised, and he usually already knows why by the time standup happens. This helps him understand earlier in the process when a project’s estimates aren’t holding up and adjust his plans and communicate with customers more readily. It also gives him an opportunity to intervene and maybe redirect my efforts. His job is to make my job easier, and I want to help him do it! Another benefit to this practice is that he also has a better bead on my positive accomplishments, too, and in a format that is easily archived and searched. When performance evaluations happen, I won’t be left struggling against my vague memories to positively establish my value to the business.
The message I send is usually very terse - just bullet points, really, and maybe a sentence or two for things that need a bit more explanation.
I don’t actually check this box 100% of the time, but that’s my goal. I’d say I hit 3-4 days a week, typically.
This section is exactly what you would expect. Once I’ve completed the start-of-day tasks, I should have a very clear idea of how the remainder of my day should be allocated. I try to keep this list to 3-4 things, because more than that is typically unrealistic. I link artifacts that are related to the work for easy reference, and Trello makes this nice and visual: GitHub icons for links to PRs, Trello card icons for things that have cards, Jira icons for Jira issues (which I usually put in separate cards anyway).
I try - and don’t always get it right - to keep these things to tasks that can be completed in a few hours.
Finally, and importantly, this Goals sections helps me know when to be done for the day.
This process is still a work in progress. I don’t always get it just right, and it’s still possible that things fall through the cracks (though that’s pretty rare these days). However: I now have a process I can rely on that helps me focus on the right things and identify issues sooner.
As always, if you have any questions or suggestions (or want to give me money 😃), hit me up in the comments section (or on Twitter).