The History of Todo2d - Part 1
Seeking a better task management system, a developer attempt various methods to create a better task management system.
About 10 years ago, I arrived at the office as a developer and was informed that there had been a change in priorities. A client requested that a specific feature be delivered earlier so the feature could be showcased at an annual trade show.
However, it was unclear whether this was feasible within the given timeframe. If not, the client would rather have another feature delivered first. It then took me an entire day to create a new plan that guaranteed the feasibility of their request. When I sent my answer with justification that evening, I received a question the next morning asking if dropping another feature would make it possible. Thus, I spent another morning creating yet another new plan.
It was at this moment that I'd had enough of using Excel for planning. I wanted a task list that could automatically generate a new plan whenever there was a change in priority so I could focus on doing my work instead of spending my morning planning.
The current iteration of Todo2d is officially version 5. The last time I worked on version 4 was 7 years ago. Version 4 did what I wanted: it sorted tasks based on a complex algorithm that took into account priority and dependencies. However, there were some issues. The complex algorithm wasn't 100% reliable, and managing tasks was even more difficult than in Excel, as the system would frequently shift tasks around, causing me to lose sight of them.
Eventually, I realized that a complex algorithm only works if the person using it understands how it works. Quite often, I had to look up how the algorithm worked.
No, it was clear: relying solely on a complex algorithm wouldn't work.
Over the next 7 years, I revisited the idea several times, but each attempt confirmed that it wouldn't work. Often, I still needed a piece of paper to draw out all the dependencies before moving tasks in the system. And then it hit me: what if I could use my drawings? I spent a week experimenting with this approach, working primarily from a single drawing. It worked amazingly well, except that I had to redraw the entire thing every two days and couldn't see at a glance whether the tasks were completed. Nevertheless, the experiment was successful enough that I continued it for two months until I lost track of my drawing and realized I had forgotten to add many small tasks to the official system.
However, the lessons and ideas I gained during those two months gave me reason to think about creating version 5.