Let's delve a bit deeper into task management. As the field is surprisingly large and subject to some discussion, I'd like to focus on the basics here. I think we can agree on a common goal, which is to implement a system that somewhat seamlessly tracks all tasks, allows us to prioritize them, and enables us to keep track of tasks. Such a system would consist of mainly three parts: Firstly, a task list serving as the home for all open tasks. Secondly, some form of a details view allowing us to add further information to an open task. Finally, a board, preferably structured into several columns providing space for tracking a task's status.
In theory, it seems straightforward: Every task, no matter how big or small, finds its place on a list, where it waits until it gets worked on. However, reality tends to be rather messy and we find ourselves working on things that have never been written down, split up into manageable pieces, or further refined. Quite often, that leads to a situation where critical information is missing, the scope of tasks is unclear, and often rather time-consuming.
As a rule of thumb, we want to work only on well-defined tasks coming from our task list or backlog. Instead of dealing with arising tasks right away, it does make sense to pause for a second and put everything that requires more than two minutes to complete on our task list. After checking whether all details are clear, start working on that task. If we find information missing, first clarify the details, work on a different task in the meantime, and start working on the new task only if it is clear what needs to be done.
Even though it might look like an extra effort to note seemingly short tasks down, it truly helps to get things done. Remember, we do not want to expend valuable mental energy trying to remember tasks when that mental energy could be channeled far more productively.
In an ideal world, each task would come neatly packaged, well-defined, and easily achievable within a matter of minutes or, at most, a couple of hours. However, reality often paints a different picture, where tasks arrive with vague outlines and lacking clear definitions.
In such instances, investing time in breaking down tasks into actionable pieces becomes a crucial endeavor. Especially in software engineering, even the most difficult tasks can usually be split up into manageable chunks. Each sub-task can then be tackled individually, allowing us to progress steadily toward the full task's completion.
After having broken down larger tasks into more manageable pieces, it is time to make actual progress on a task's completion. To keep track of the status of tasks, it can be quite useful to have some form of a board with a few columns, representing a task's state. From my personal experience, a rather minimal board consisting of four columns for tasks that are still untouched, in progress, in review, and done usually is all that is needed. It allows a quick overview of all tasks selected to be finished in a specific timeframe. A typical board looks similar to the one shown below and can be easily created by a plethora of tools. My personal favorites are Notion for its great versatility and Atlassian's JIRA application for collaborating in a corporate setting.
All tasks have their unique characteristics; however, they all have in common that it is more efficient to work on one task and only one task at a time. Multitasking does not work, especially not for cognitively demanding tasks. In addition, creating an environment that allows us to work on a given task without any interruptions can greatly increase our output.
A great deal has been written about task management. However, David Allen's book, "Getting Things Done," offers a great introduction to the topic, focusing on timeless strategies.
Previous
Up next