Aaron and I were discussing a new possible metric that would capture the total time that a person spends interacting with an IDE.
I've said it before, and I'll say it again: I have no problem with dreaming up alternative proxies for effort. However, when we discuss the design of a new proxy, we need to keep in mind the following:
(a) One of the key foundations of hackystat analyses is that data can be attached to a Project. For data to be attached to a Project, the data (normally) has to be associated with a File. Data that is not associated with a File, or is not associated with a File associated with a Project but which should nonetheless be counted as 'time spent on that Project' will require some other kind of mechanism to make the association. That processing should be reliable, in the sense that you don't inadvertantly over-estimate or mis-represent the time spent on that Project. If a new proxy introduces large errors and variances due to "heuristic" attachment of time to Projects, that's not much of a win.
(b) Although Eclipse is the Java IDE du jour, many developers use other IDEs. CSDL built a very large collaborative environment called Egret (~100 KLOC) in the early 1990's using the state of the art editor at that time (Emacs). It was very cool, and very powerful, and what killed that project, as much as anything else, was its reliance of the facilities available only in a single IDE. I don't want to repeat that mistake again by evolving everything toward Eclipse-specific features such that our answer to everyone who wants to use Hackystat is, "OK, fine, just switch to Eclipse first and look at all the neat things you can do".
(c) Even if we could accurately measure every single second spent in the IDE, we would still not be close to measuring overall "effort" on a Project. I spend a _lot_ of my day in conversations with you all, in meetings, reading papers, in teleconferences, and so forth related to Hackystat and Hackystat-related projects. None of that time is being captured, and wouldn't be with an alternative proxy.
(d) How will we use this alternative proxy, and what will it provide analytically that Active Time doesn't? I'm not saying that no alternative effort proxy can provide anything in addition to Active Time. What I'm saying is that if you start with the goal and how it will be different from the way we currently use Active Time, then it makes the discussion of the measure more fruitful. Currently, we use Active Time principally to measure regularity and consistency and to obtain baselines. Whether the baseline number is 12 or 37 is not that meaningful to us. If we substitute a new measure, and find that the baseline number is now 15 or 62, but are still measuring only regularity and consistency, have we actually gained anything?
Cheers, Philip
