What Am I Doing - For developers

This is one of those tools created because I needed it, but then refined so that it works in many situations. The core functionality supports what a developer does, and makes it easy to track time, recover billable hours and quote for work effectively.

Example pie chart of paying projects.

I work for people in a few ways

  1. I charge them for the time spent on their work - Time And Materials
  2. I give them a quote for a project, and then deliver the project for that price - Fixed Cost
  3. I support my customers above and beyond the call of duty on an ongoing basis - Stupidity!

What-am-I-Doing supports me in all three of my ways of working, and helps me to stay profitable and effective...

Time and Materials

Well, this is obvious. I set up a customer / project in WhatAmIDoing. I make sure that all the time spent on that project is allocated to it. The cunning part is the fact that, because of the way I work, most of this happens automatially. (See the bit on automatic allocation below). At the end of the month, i look at the monthly report and bill the customer. Hoorah!

Fixed Cost

Whether you've got 20 minutes experience or 20 years experience, quoting for a project is difficult and risky. The thing about my projects is that although I've got the 20 years experience, I've also got evidence of how much time all my recent projects actualy took, and as such i'm constantly refining my quote process. To be honest, I get more variation as a result of the personality of the customer than I do from the implementation of the project.

Stupidity

Perhaps a bit harsh, however until I started realy understanding where my time went, I struggled to justify the cost of this to me, and the amount of value added to the customer from this part of my service. Now, because of the fact that all of my time is logged, and most of it is automaticaly alocated, this support has a value. When that value exceeds what i'm comfortable with I have a good reason to talk to the customer about it and resolve the problem with training or a support contract or...

On of the things that often consumes a dissproportionate amount of time is email - reading and responding. With the right addin it's possible to get data about the email - from address, to address and subject - and use this in the automatica allocation ot time to customers.

Automatical Allocation

Automatic allocation uses rules. The rules are based on wildcards. As a developer, you'll have no problems with these. Here's Some tips:

Visual Studio.

Open website projects from the file system, and make sure that they have a unique name. I Use Website_CustmerName. Create a rule with this in it.
Use the cassini web server to debug them. Set the dynamic port option to false.
Create a rule that uses localhost:xxxxx where xxxxx is the port number.
Store your projects in a customer \ project haerarchy, and use the VS 2008 WAID Addin that gives you the entire path of the file being edited. (Email webmaster to get this)

Emails

Get the Outlook 2007 addin for WhatAmDoing and use it to grab the additional information available.

SQL Server

Can be limited what you get, however if you get the allocation of this corect, you can use the "Sequential" button on visualize page of the app to assume the project. Generaly it works relly well.

Eclipse

MySQL

If you use it, please feel free to send me any comments / suggestions.

If you'd like to give it a try, please go register and install it.