Burt,
I agree with this. I've prototyped in my own environment MostActiveAction leveraging the work in the hackyTDD module. The Action stream contains all activities (not just StateChange), unit test invocations, and buffer transitions. So far, I am very pleased with this notion -- I actually spend only ~60% of my time coding. I've found that I spend a lot of time looking at code samples, APIs, etc. This results in buffer transitions which isn't captured by the conventional Active time measures. Of course over time I'd like to continue extending sensors and writing new ones to capture other types of activities.
If there is interest, I'd be happy to share this class with anyone.
Todd
Burt Leung wrote:
Hello Everyone,
Aaron and I were discussing a new possible metric that would capture the total time that a person spends interacting with an IDE. The purpose of this metric would be to better indicate how long the person has been working in total and how much of that time was actually spent in software development. Aaron came up with the term "IDE interaction time" which I think is a good descriptor.
For example, it is entirely feasible that a person could spend 8 hours total interacting with the IDE but only 1 hour of that was active time. I say this is a bad thing. The reason is that, for whatever reason, the developer is immobile. It's true that he or she could be spending time designing or reviewing or debugging code. However, I think that even these activities warrants some time spent editing code. Other explanations could be that the developer is not confident or not knowledgeable about what to do next.
Aaron mentioned that the daily dairy analysis had times when there is IDE activity and no Most Active File. It would then be possible to conclude that the developer is working with eclipse but not writing code. This is because there is a difference between 3 hours of active time and 3 hours + 4 hours of IDE interaction time.
In terms of extreme development, I think one of its goals says "At the end of the day, if the program doesn't run and make money for the client, you haven't done anything" (http://c2.com/cgi/wiki? ExtremeProgramming). Therefore, while spending time in good design is definitely desirable, coding must get done. I think this is a good motivator for this metric. On the other hand, I think that it might be hard to implement since there would have to be a lot of hooks into the IDE too.
What do you guys think about this?a
Thanks, Burt
