I’ve been looking for a good planning system since 2017, until recently I made my choice that appears to workable in the following two years or more. I’m thinking it worthy writing down to record my experiences. This is of great fun, and hopefully make it shareable with others.
The challenge of tracking: a brief
Before we jump into more details, let’s quickly summarize a pattern of my works. I work as a software development manager leading a team (~20 to 30 people), working in multiple projects in parallel. My position is a second-line manager, which means most of my time are spent on discussions, planning, progress tracking, and occasionally some hand-on work items.
Thus, my daily work tracking requirements can be described with three significant patterns:
- I always have one or more long-term projects, usually can last for 2-3 months, some can last for 6 months or longer.
- Sometimes I can see ad-hoc asks, like diagnose either a bug or online service incident. It needs to quickly give an answer in hours or at most a couple of days.
- To correctly identify the goals and values, my work items are grouped into categories. All long-term and short-term work items should belong to one category.
Combine with these patterns, I would like to find a tool, which can show all three factors in same view, so I can quickly know my status.
Just like many people who start from this area, I started trying GTD (Get Things Done) software, including Keep, Bear, and even heavy tools like Evernote. Unfortunately, none of them fully can show all three patterns in same view. What is worse, some of them can’t even support basic idea like categories. Thus, I have to find some ways myself.
First try: a handcrafted schedule with check-box
I used to maintain my own tracking table format. After a couple of updates for improvements, a final version looks like below.
20210104 | 20210105 | 20210106 | 20210106 | 20210107 | 20210108 | |
---|---|---|---|---|---|---|
Meeting | 4 hours | 6 hours | 1 hour | 2 hours | 3 hours | 4 hours |
Routine | [x] weekly report | [x] Weekly meeting notes | ||||
Hiring | [x] Dev mgr | [ ] QA mgr | ||||
Project A | [x] Weekly report | |||||
Ops | [x] incident A | [x] Incident B |
I believe this format is self-explainable enough. Each row indicates a project, and each cell lists sub-tasks that suppose to be done in a given day. Moreover, by combining multiple tables together I can figure out how long a project lasts. A construction of such table is easy: I just use Microsoft OneNote. It comes with a simple yet powerful table experience with a check-box support. If you have a Office 365 subscription, it will be easier to use Excel.
I had a pretty good time with this format since mid-2018, until I started wondering which work item takes most of my time. OneNote does not have a simple way to combine multiple tables together. Though I can use Microsoft Graph API for Notes in theory, it’s not easy to manipulate pages because OneNote does not really recognize page contents, but only treats them as HTML pages.
What about Excel? Well I didn’t use it at all because I heavily use OneNotes to keep my notes. A new user may start from Excel, but to me a mixed use of Excel and OneNote just makes my life hard.
a second try: Atlassian Jira (NextGen)
Atlassian Jira is a de facto standard project tracking tool in developer world. My current organization uses Jira in almost every project. Thus it’s quite nature that Jira draws my attention. After a comparison, I started from Jira NextGen instead of classic Jira, as a set of traditional concepts like Sprint does not fit to my management deliverables.
Concept mapping: the gap
To be honest, the first feeling of Jira is not that good. The biggest issue is the concept mapping. As I explained, I have both long-term and short-term work items (including ad-hoc) to track. Meanwhile, all works are tracked by different categories. Jira NextGen appears having this capability by defining different types of tickets: Epic, user stories, tasks and sub-tasks. However, it’s not that flexible when I really start.
The default setting of Jira NextGen offers Kanban to track progress of tickets. The default visible ticket in Kanban is tasks (or user story, depending on the Screen scheme). Jira allows multiple Tasks or User Stories grouped as children of an Epic. Epics, which represents long-term works item in Jira context, can be tracked in Roadmap view. There’s one missing piece, though. It does not have a ticket-like representation of categories. In Jira world, labels are the closest concept to represent category of tickets. The drawback is, there’s no out-of-box view for labels. I have to use queries to meet the purpose.
Experienced Jira users may argue, that I can use Epic to represent a category. Then user stories can be used to represent projects. This approach have two issues from concept point of view. First, categories do not have start-time or end-time when representing type of works. If I use Epics as category, then Roadmap view will looks strange. Second, a long-term work item can keep active for months. If I use User stories to represent long-term work items, they will be kept on Kanban for long time. Keeping many tickets in Kanban makes progress tracking hard to reveal potential issues.
The thumb-up side
Regardless the concept mapping gap, I still use Jira for a while and feel quite good about it. The biggest advantages is the ease of cross-referencing. Jira NextGen is a Software-as-a-Service (SaaS) service. Our company maintains its access to all of our colleagues, and vendor partners. Thus I can freely reference any tickets, wikis and people across projects. Though the configuration is not out-of-box, it just take me an one-time effort to set it up.
A lack of reports can be a big problem for many people (yes I mean it. The velocity or burn down chart are not designed for work patterns other than Agile software development), but it’s OK for developers who are familiar with Jira’s REST API. I write a set of tools in Python and Go, which helps extracting information like start/end time, delayed or not. The information are dumped to my local database to generate reports for myself. Jira provides a powerful set of APIs to offer enough flexibility for me to customize. So I can live with it, even if I can’t a satisfying out-of-box experience.
A third try: Microsoft Planner
It’s an unexpected chance that I discovered Microsoft Planner as an option. The big benefit of Planner is it provides entities that can be exactly matched to my concept. And every entity can be seen in default view. This is extremely useful for me because I can quickly check each category to see what’s on my plate. Or, if I want to check overall pending work load, I can click My tasks to a Kanban view (To Do, In Progress, Done) to get a full picture. Planner also provides ability for work dispatching and notification for late tasks. The same work is not out-of-box in Jira, which has been discussed in previous section.
Concept | Jira | Planner |
---|---|---|
Category | Labels | Plan |
Long term work items | Epic | Bucket |
Concrete tasks or ad-hoc | Task | Task |
What’s better, Planner supports exporting all tasks as Excel worksheet. This is fantastic for a me to compute my workload statistic, no matter leveraging Excel (which is powerful for my daily works) and by automation.
What I don’t like about Planner: the invisible inside
Is Planner my best fit? I’m hearing now. Probably no, my friend. There are two issues that prevent me from using it in daily work.
The first issue is sharing. It comes as part of nature of Office 365 permission model. I can share my plan to all teams in my organization, yet I can’t share it to partners who works for vendor companies or group companies, unless their organizations are federated with ours. This is usually out of my control, especially unrealistic for vendor partners. Though it can be workarounded by exporting Excel sheet, it’s still difficult to use.
The second one is a bit personal, but bugs me more than sharing. I find a fact that Planner hides a really heavy creation process under the hood. It’s not intuitive but it can be seen via an example below. Think about a typical scenario what we want to create a new plan. Following Planner UI, we just click New Plan button, set name and permission. Done.
Simple and straightforward. However, this lightweight step (appears to be!) actually will have a Sharepoint site created, along with more stuff like security group. Just try for yourself if you have an Enterprise Office 365 subscription. Create a new plan called “My Awesome Plan”, then click Site menu item. You will see a Sharepoint site like screenshot here.
It may not be a problem for a small organization, but it really makes me worried due to my previous system administrator experience. As I’m working in a big organization, this behavior alerts me a potential risk of site name duplication and confusion when many people started creating their plans frequently. This is especially true for a team with non-technical people.
This behavior really surprises me at the beginning, but I figure it out the logic behind. It’s as simple as it tells via it’s own slogan: A simple, visual way to organize teamwork. It is not optimized for personal use. Although it appears to be a personal tool, that users can see it in their own https://tasks.office.com web page, any creation is done in organization level. Indeed, we can even create a Microsoft Teams instance by clicking highlighted link in screenshot above.
Luckily, we do have an easy workaround to avoid unexpected site creation. It can be done by leveraging the “Tasks by Planner and To Do” app from Microsoft Teams. As many people may know, every Teams instance has a Sharepoint backed. Microsoft Teams allows multiple plans linking to same Sharepoint site, but under different Teams channel. When creating a plan under teams, just make sure we don’t create a new list or plan under My tasks, but choose from a Teams instance and a channel, then it will be created as a Microsoft Planner instance. Once it’s created, we can automatically see it in https://tasks.office.com. This idea also introduces a tricky practice if I want a list of planner that don’t share to team. The idea is to create a private Teams instance that only I can join.
Though the workaround works fine, it’s still fragile and easy to break the contract if anyone who see entry of https://tasks.office.com from Office 365 web access. As a guy who worked as a system administrator, I will not recommend people try Microsoft Planner without a proper training. Thus, I finally decided to give it up, though still suggest some of my colleagues to try after I set it up for them.
A quick re-cap, but not conclusion
We discussed three options so far. Though I finally chose Jira, it’s not my intention to convince everybody use Jira. On the contrary, I believe I found three ways that suitable for different people. For people who just want to know what they are busy with, the OneNote table can work pretty well (Or for guys who are not OneNote fan, we can convert it to other tools like Excel or Evernote without problems). Office clerks with rich Office 365 experience may find Planner can fit all their needs in daily work. As for me, I just pick a solution that can maximize sharing with my colleagues.
It’s still possible, that there are new options offering a better experience someday, or I may eventually choose to create an ideal tool on my own. No matter you choose one of my findings, or your decide to find your own solution, I’m happy that my experience may be helpful. Or, if you have comments or suggestions, feel free to send me an email at fuzhouch@gmail.com.
OK, the long reading comes to an end. Thank you for your patience of walking through here. And Happy Chinese New Year!