This tool is actually made of three parts:
Server side it's just a matter of dropping the tool in the tools folder and defining a few things, nothing exciting.
The Manager Tool
Once installed the tool, the manager creates a new team, choosing on which server the team will be based.
After creating the team, the teams window will update showing the list of teams:
In this screen shots you can see how I'm managing two teams: myTeam and anotherTeam.
Double clicking on the team icon, a new window will pop-up, with the list of people subscribed to it, in this case it's myTeam with the list of my coworkers:
Of course, the manager is always automatically added to the team ;-)
To create a task I just click the "add..." button, and the browser displays this page:
I can choose from a pop-up menu a client name and a currently open job, or I can create new clients and new jobs. The list of all clients and all jobs is stored on the server, meaning that all managers of the same team can access the same lists.
Once the entered all the information for the new task, a the task is displayed in my team window:
Remember that this is a Radio outliner, meaning that I can add as many subheads to the task as I like, and they will remain attached to the task. Once added all necessary comments, all I have to do to assign a task is moving it to a client.
In the meanwhile, client's side...
After a few seconds the new task will appear in the outline:
At this point the user will be able to change information about the single tasks such as the estimate of the time it will take to complete the task, and how much time he has worked on all tasks clicking on the edit tasks button:
All changes will be instantly reflected back to the manager, the icon of the task will change color according to the status of the task (yellow: waiting, green: in progress, red: on hold).
All these activities are logged on the server, which can produce reports both writing Excel tables and saving in a sql database.
The system is pretty open and flexible, a team can have several manager, clients can subscribe to several teams, there can be several servers logging progresses and there are various way to assign and close tasks.
How does this work?
At the beginning everything was based on uploading files on the server and polling for changes in order to be able to propagate information between non full peers. Now we are working an a Jabber based version that makes everything faster and smoother, and we removed the polling process.
It's still totally at "internal use only" level, but it really looks promising.
Part of the reporting system is inspired by Joel Spolsky's article Painless Software Schedules, the final report created by the server looks pretty much like the one in his examples.
Thoughts? |