On an average day, I have to process tasks assigned to me in multiple systems. Some typical examples are
- By phone...
- Service Management system
- Scrum Sprint Backlog
- Email followup
- PIM Tasks (i.e. Outlook)
- Collaboration Tasks (i.e. SharePoint)
- Personal tasks
A common demominator is that most of these tasks are available in some sort of structured storage. Most of these expose some sort of API to access them as well.
I really like the idea of the scrum board. It helps me focus on what I should work on as of now, what's in progress and what's completed. In addition, I need to be able to add ad-hoc tasks that arise during the day.
Based on this I decided to look into creating an application for this, both as a project to improve my knowledge as a developer, and to create a handy tool that I have so far been unable to locate. It should be able to
- Read many sources
- Write back to as many sources as possible
- Be light-weight and simple in its user interface
- Assist me in working on these tasks:
- Keep notes as I work on them
- Access any information/documentation attached to them
- Split tasks into sub-tasks when I realize that they are separate items, i.e. avoid tasks that span a single day
Some examples of how the user experience should be.
Create a new task during or after phone conversations or meetings. Tasks should be stored in a backend system, for example Outlook.
Service Management system
Tasks should appear under "In Progress" when I'm assigned cases in the Service Management system. Unassigned cases should be put in the backlog.
Indicators of number of "tasks" in the backlog would be helpful, preferrably based on their priority. Notifications should be filtered based on their priority as well, i.e. High priority cases should generate an alert, while less proiritized cases should not, or they could generate a common alert every hour or so.
Case management should be done in the service management system itself, altough access to relevant information such as title, description, etc. would be helpful.
Meetings should appear, and status should be based on the backend system. Sub-tasks should be possible to create for preparations to be made up front.
Some examples: A meeting should automatically be placed in "In Progress" when it's date is today. The meeting should be placed in "To Do" at least x days ahead, allowing preparations. Meetings that are postponed should automatically be moved to Postponed.
Scrum Sprint Backlog
Any item assigned to me should be placed in "To Do", allowing manuall moving trough the different stages. Wether the backend system should be updated automatically as a task is moved to "In Progress", "Completed", etc. should depend on settings/backend. Most teams prefer to update the status during daily scrum standups and not as tasks progress.
Create tasks in the "To Do" section based on the followup flag. Flag should be syncronized on status update in frontent system.
PIM Tasks and Collaboration Tasks
Simple syncronization of tasks/progress. Should be possible to split into sub-tasks for own planning.
Should be possible to interact with external services, such as Producteev