Friday, October 19, 2007

Developer Activity Tracker

On my current project, we are using Subversion for source control. Recently my lead and I were discussing how we might measure how much each team member is contributing to the project. A bit big-brother-like, I know. But on a project where everyone is super busy and your resources are located on different continents, it is easy to lose track.

A bit of research into the svn command-line utility yielded the following command:

svn log -rxxx:yyy -v --xml > log.xml

where xxx and yyy represented the global revision numbers spanning a particular iteration of our product.

I then wrote a little Python script using the xml.dom.minidom parser to parse and collate the results, and came up with a simple scoring system. For each item committed into Subversion, a point is earned. If a developer commits the same file twice, he earns two points.

The script tallied up and spat out the total points for each developer. I then pasted the output of the script into an Excel spreadsheet, added a row to sum up the total points, and computed the percentage of points earned per team member.

So, one might wonder what the score represent. In my mind, it is simply some representation of activity, which roughly translates into productivity. There is some work that goes into earning each point. I can query Subversion further to find out the amount of code change made for each point earned, but that will require more wading through the repository.

However, I think a simple and useful follow-up exercise would be to plot the number of activity points earned by the entire team per unit of time (like per 24-hour period). As inspired by Steve McConnell, the result should be some sort of bell-shaped curve. As it approaches zero on the right-hand side, it can be a good predictor of when we are going to be done with an iteration. If the curve drags on and on to the right, it will mean something is wrong. This can mean we ran into trouble with implementing a particular feature, or it can be, heaven forbid, feature/requirement creep.

Furthermore, I think if we plot this for each developer, it can be used to gauge whether a team member's productivity increases over time as well as relative productivity amongst developers.

This system is by no means accurate nor cheat-proof. But I believe it is better than nothing. Also, as a team, we have to trust that its members won't sink to the depth of doing useless work in order to pad his activity score.

Monday, October 15, 2007

T4 Coming to A Theater Near You?

Just out of idle curiosity, I did a search on Google for the term terminator 4 movie, not expecting any real hits. But, I was surprised to find that T4 is really being planned, according to And if this other site's information is accurate, a possible second trilogy (starting w/ T4) is in the works.

I really enjoyed the first trilogy. Even the lackluster T3 was okay. I would love to see some new creativity fused into the franchise for the second trilogy.

Monday, October 8, 2007

The Mom Song

This is hilarious!

Give your machine an interface lift

So I was trolling the web looking for a cook desktop picture to put on my 24" iMac's gorgeous screen when I came across InterfaceLIFT.

While I am likely to not mess with themes and such, I love some of the pictures people have taken from around the world. For example, this is one of my favorites.

Check it out!

Monday, October 1, 2007

My New iMac

My 24" iMac 2.4GHz just arrived today. From unpacking to power on took about ten minutes. It took another ten minutes or so to run through the initial round of software updates. The screen is huge! :-)