Thursday, February 19, 2009

Project 1: New Task Management

Task Management has always been an interesting challenge for me. I tend to involve myself in a lot of different projects of varying fixed priorities, each of which tend to spawn tasks at a rather alarming rate. The issue is not so much keeping track of what the tasks are, but knowing the best order in which to complete them to maximize my time and efficiency. I can't venture a guess as to exactly how much of my time is wasted through my inefficient task management practices, but I do believe that it could be substantial, and am intrigued by the proposition of building a solution to this problem (as I feel others might share it).

The idea is relatively simple. The user creates a series of queues tied to real world sources of tasks with fixed relative priorities. For example, whatever your main project is has the highest fixed relative priority, your second most important project has the next lower priority, etc. Low priority things, such as spare time projects, have relatively low priorities compared to the others.

Tasks in each queue are then rated by their importance. "A" importance tasks are things that are absolutely essential and must be completed prior to any of the lower importance tasks. "B" importance tasks are tasks that are important, and given time can become "A" importance tasks, but are generally less pressing than the "As." "C" importance tasks are lower still than "B" importance tasks. "C" tasks typically do not escalate, and are not particularly time sensitive.

Tasks from all the queues are then aggregated and abstracted into a single task list. The "A" importance tasks from the highest priority queue are obviously first on the list. The "B" importance tasks from the highest priority list may or may not be presented next based on rules and preferences. For example, if your second highest priority queue has an "A" importance task, this may appear before your "B" priority items from the "A" list. This is how the task list is generated.

Tasks could then be stripped from the list and automatically scheduled into indicated "task time" blocks in your schedule. Each task, when entered, is provided with an estimated contiguous time required to completion value which can be used in conjunction with a bin packing algorithm to fill your schedule.

There are a few ways in which this system would be helpful.
  1. tasks would not as easily fall through the cracks for lower priority projects
  2. time would not be wasted on low priority projects if there are pressing issues with higher priority projects
  3. you gain a dashboard on your potential productivity, and can appropriately shift the priorities of your tasks to optimize timing based on external requirements. You know how many of your tasks from each of your projects you will likely complete in a given time period, and which ones you will complete.
  4. reduced workload from an additional queue helps tasks which would normally starve reach the top of the queue and get completed during somewhat unexpected or unpredictable lulls in timing
  5. automatic task priority escalation based on a fixed elapsed time period helps keep long run low priority objectives on track when they might otherwise be lost
This could be built as a web app, and tied into software on mobile devices such as blackberries or iPhones, as well as cross connected to web based calendar services. If you want a profit motive, I think people would pay an access fee for something that would allow them to be more productive, particularly in a down economy. There could be some interesting group management implications for this system as well.

Estimated Project Parameters for Initial Prototype

Design Complexity: 10h for partial prototype specification
Code Complexity: 8h for exploratory prototype implementation
Team Requirement: 2-3 integrated designer/developer(s)
Competing Products: Many in the space of task management, but none quite like this one
Potential Benefit: Participant Dev. Exp., Participant Design Exp., Useful Tool Produced, Potential Marginal Commercial Benefit, Potential Incidental Tech. Dev.
Potential Risk: May be Worthless, May not Work as Intended
Status: Committed, Team Recruited, First Sprint Scheduled, First Prototype Live

No comments:

Post a Comment