This fall, I started to revisit my personal productivity habits. We lost a team member last spring and we won't be replacing that role, which means I have more to keep track of day to day as we absorb some of those responsibilities. I've written before about using plaintext for productivity, which was great. I also keep a couple of notebooks handy for keeping track of longer term items, taking notes in meetings, and jotting stuff down without needing to grab a computer.
The plaintext todo work is great, and I still like it. I like how simple and local it is. The search is blazing when I'm looking for items. I have a bunch of little plugins I've written to help me get more information from a small text file. But, it had some limitations. I had very specific setups that weren't easy to migrate to different platforms. For instance, if I had something I need to add to my list, I couldn't hop on any computer or iPad and just add it to the list. There was an Android client that would help, but it had some weird formatting issues that would throw the entire list formatting off and I'd have to manually edit the text file.
Most importantly, my list was just a collection of single-line things. There was no way to add some story or any kind of background to items. So, something might get put on the list, but several weeks later, the context is missing and I found myself deleting stuff...a lot. I wanted to get back to more descriptive todo items that had context I could use to do better work for the teachers I support.
I listen to a couple software development podcasts and one in particular has done some really good episodes comparing Agile devleopment with Kanban workflows. I've taken a hybrid approach where I use elements from both to make sure my work is managed well, productive, and always contextually aware. I'm not going to do a full blown write up of what Agile and Kanban are, but I'll explain the pieces I've adopted for my own work and why.
In Agile, you start each task in a body of work is assigned something called a "story point." This describes the complexity of work involved to complete that specific task. This is a relative scale and not linked to how long something will take to do. It's a descriptor of the complexity of Item A compared with Item B.
Setting point values on each card allows me to limit the amount of work I have at any given point. I can prioritize items based on complexity and bang out some work that's been sitting. Or, I can move things out of my mind and focus on a really gnarly problem or project. This is typically a group activity, but it's helpful for me in making solid judgements about what to focus energy on in a given period of time.
Kanban is a Japanese project management system developed by Toyota. In short, tasks should always be categoriezed into some kind of list which describes it's place in the workflow. I'm following a structure similar to what many software teams use (minus a couple lists like testing, code review, etc):
- Backlog: All items start here. They often don't have descriptions and are free to be deleted or promoted as necessary. At most, they have a story point associated.
- To Do: Items only move to this column when I have a full description of the problem, including possible solutions to explore. This ensures that any items moved into my work list are fully formed ideas with solid rationale. If I cannot do that to an item, it stays in the backlog for a little longer or I delete it. At this point, the item has a solid complexity esitmation.
- In Progress: Items that are actively being worked on. This column could change hour by hour or rarely depending on the complexity of the work. I'm adding comments at this point, not updating the card description. If the scope of the card needs to change, it moves back into To Do or into On Hold.
- On Hold: This is the parking lot. Either a card needs more thought because I've run into a gnarly issue or I need input from someone else. In short, these cards are probably good ideas, but I can't move forward for one reason or another.
- Completed: The task as written is complete, solving the problem outlined in the description.
I've gone back to using Trello as my work management platform. They have a solid web app and a good mobile app, so my cross-platform issue is immediately solved. It's also nice because I can write long descriptions of problems, add checklists for specific tasks within an item, and I can even share boards with colleagues to work together on things.
I've taken an added step to help me manage the complexity of my work day to day. I have set upper limits on the total number of points which can exist in any column. Each card is prefixed with the point value in the title so I can quickly scan and see how much complexity I'm commiting to for a period of time. For the moment, I'm limiting myself to, at most, 15 points in my To Do column and 11 in the In Progress column. This has the double-benefit of keeping me realistic about how much I can tackle and making sure I actually accomplish tasks.
This isn't perfect by far and I'm losing out on the collaborative nature of project planning and completion (though I still work with people most of the day). It's a major improvement over what I was doing even though I've lost a little bit of data ownership. I think, in the long run, this is going to help me stay more on top of work and be more choosey about what I commit to.