Results from the 2003 Classroom Evaluation of Hackystat-UH

Philip Johnson
Collaborative Software Development Laboratory
Department of Information and Computer Sciences
University of Hawaii
johnson@hawaii.edu

CSDL-03-13

http://csdl.ics.hawaii.edu/techreports/03-13/03-13.html

Last update: 12/21/2006 02:55:56 PM  

1.0 Abstract

This report presents the results from a classroom evaluation of Hackystat by ICS 413 and ICS 613 students at the end of Fall, 2003.  The students had used Hackystat-UH for approximately six weeks at the time of the evaluation.  The survey requests their feedback regarding the installation, configuration, overhead of use, usability, utility, and future use of the Hackystat-UH configuration. Results provide evidence that: (1) Significant problems occur during installation and configuration of the system;  (2) the Hackystat-UH configuration incurs very low overhead after completing installation and configuration; (3) Analyses were generally found to be somewhat useful and usable; and (4) feasibility in a professional development context requires addressing privacy and platform issues.

2.0 Methodology

At the end of the Fall 2003 semester, the students in ICS 413 and ICS 613 were contacted by email and asked to respond to the following questionnaire soliciting their opinions regarding the Hackystat-UH configuration.  Response was optional, but the students were offered extra credit points for providing their opinions.  The students were asked to reply within five days.  Out of 27 students contacted, 24 responded with answers to the questionnaire.

The complete questionnaire follows:

In order to better understand the strengths and weaknesses of the current
version of Hackystat, and to help guide future improvements, please take a
few minutes to answer the following questions.  Your identity will be removed
before performing any analysis on this data.  There are no right or wrong
answers: we want to know what your personal experience was. 

Most questions ask you to respond with a number from 1 to 5, where 1
indicates the "best" and 5 indicates the "worst".  The last question of
each section requests your comments as the response. 

I. INSTALLATION/CONFIGURATION

Please provide us with your opinions regarding the installation of
Hackystat sensors and configuration of the Hackystat server.  

1. Installing the Eclipse IDE sensor was:
   (Very Easy)  1  2  3  4  5  (Very Difficult)

2. Installing the Ant sensors (JUnit, JBlanket, BCML) were:
   (Very Easy)  1  2  3  4  5  (Very Difficult)

3. Configuring Hackystat to track our team's work on SiteWatch
   (i.e. defining the project, and configuring the workspace roots) was:
   (Very Easy)  1  2  3  4  5  (Very Difficult)

4. Please provide any feedback you can on the problems you experienced
   during sensor installation and server configuration, as well as any
   suggestions you have to make this easier in future.

II. OVERHEAD OF USE

In this section, we are interested in learning about the "overhead" you
experienced with Hackystat--in other words, how much work was required
after installation and configuration to gather data and perform analyses:

5. The amount of overhead required to collect Hackystat data was:
   (Very Low)  1  2  3  4  5  (Very High)

6. The amount of overhead required to run Hackystat analyses was:
   (Very Low)  1  2  3  4  5  (Very High)

7. Please provide any feedback you can on Hackystat overhead after
   installation and configuration, as well as any suggestions you have to
   reduce the overhead more in future.

III. USABILITY and UTILITY

This section asks for your opinion on the usability and utility of the
three primary analyses used by Hackystat. We define "usability" to mean the
ease of invoking an analysis and understanding what the results mean.  We
define "utility" to mean the usefulness of the analysis; does the analysis
provide information that is actually helpful to you.

8. The Project Member Effort analysis (showing the cumulative time spent by
   each project member) was:
   (Highly Usable)  1  2  3  4  5  (Not Usable At All)
   (Highly Useful)  1  2  3  4  5  (Not Useful At All)

9. The Project Member File analysis (showing the files worked on by each
   project member) was:
   (Highly Usable)  1  2  3  4  5  (Not Usable At All)
   (Highly Useful)  1  2  3  4  5  (Not Useful At All)

10. The Course Project Analysis (showing a comparison of project data
   between all of the SiteWatch projects) was:
   (Highly Usable)  1  2  3  4  5  (Not Usable At All)
   (Highly Useful)  1  2  3  4  5  (Not Useful At All)

11. Please provide any other feedback you can on the usability and utility
    of Hackystat analyses, as well as any suggestions you have on how we
    can improve usability and utility in future.

IV. FUTURE USE

In this section, we are interested in learning whether you would consider
Hackystat to be feasible (i.e. appropriate, useful, beneficial) for use in a
professional software development context.

12. If I was a professional software developer, using Hackystat at my job
    would be:
    (Very Feasible)  1  2  3  4  5  (Not Feasible at All)

13. Please provide any other feedback you can on the feasibility of
    Hackystat in a professional setting, as well as any suggestions you
    have on how we could improve its feasibility in future. 

3.0 Results

This section presents the responses from the respondents to each of the questions. For the "short answer" questions, I corrected misspellings and minor grammatical errors to improve readability.

3.1 Installation/Configuration

Please provide us with your opinions regarding the installation of Hackystat sensors and configuration of the Hackystat server. 

Question Response
1. Installing the Eclipse IDE sensor was:
   (Very Easy)  1  2  3  4  5  (Very Difficult)
2. Installing the Ant sensors (JUnit, JBlanket, BCML) were:
   (Very Easy)  1  2  3  4  5  (Very Difficult)
3. Configuring Hackystat to track our team's work on SiteWatch (i.e. defining the project, and configuring the workspace roots) was:
   (Very Easy)  1  2  3  4  5  (Very Difficult)

4. Please provide any feedback you can on the problems you experienced during sensor installation and server configuration, as well as any suggestions you have to make this easier in future.

  1. Our group had some problems installing the bcml sensor. It would be helpful if the bcml sensor installation page mentioned the ClassNotFoundException error so users would know that that error is not because they installed the sensor incorrectly.
  2. Yeah a nice installation "wizard" with installation options and such would be kool.
  3. An up-to-date document would be very helpful to let users know what has been implemented completely and what is still under implementation, so as to make users' lives much easier.
  4. There is no introduction about what kind of folder can be set to workspace root
  5. Hopefully, the sensor installation should be packaged. I mean it should be some kind of batch or executable file. It was really ugly to do all the copying/pasting and editing.
  6. It's better to provide instruction for different platforms (OS). One simple but compatible xml file would be more helpful. Please make sure there is no error in the instruction.
  7. 1) Maybe it's my fault, but I didn't find it's necessary to set ENABLE_BCML_SENSOR=true in the property file, and I had trouble when I installed the bcml sensor. 2) When the computer is offline, it seems that the Ant sensors will not send out the data.
  8. I made a mistake when setting up the team project on Hackystat. I think it was because I didn't thoroughly understand the two different concepts of workspaces that were on the configuration page. I can't recall what they are called now. Anyway, after someone clued me in it made a lot more sense but for some reason I didn't see it at first.
  9. Those who are not familiar with ant/build file will more likely run into some installation trouble. Provide an automated installation to take much of the burden out of the user.
  10. I put "HACKYSTAT_HOST=http://hackystat.ics.hawaii.edu/hackystat/" instead of "http://hackystat.ics.hawaii.edu" in sensor.properties which caused all the data to be stored offline.
  11. At least for our project, using Jblanket, the only way to get full coverage reported through Tomcat was to define CATALINA_OPTS=-Djblanket.dir= (as per the server-client documentation), this must either be defined system wide, if you want Tomcat to be run as a different user; or you must run tomcat yourself and define it before starting Tomcat. This doesn't seem very practical under most situations, i.e. if you have several applications you are working on and testing, or if you have other applications running on your Tomcat server. Obviously, there are work arounds that the developer can use, but they do make extra work. Unfortunately, I don't have a fix, but it is something you may want to look into further.
  12. Firewall blocked transmitting sensors, perhaps email might be a better way to transfer data.
  13. BCML did not work initially. I was a bozo and didn't use the correct workspace roots after joining a project.
  14. It would be nice if the sensor has a switch option to turn it on/off from IDE GUI instead of modifying the property file. (Maybe asking too much? ^^).
  15. The setting root path and delete unwanted path are confusing. The instruction is located in slides, but not located in help. Generally, help for usage is not handy at all.
  16. The biggest problem in installing the eclipse sensor was getting a period to appear in first position of a directory name in windows.
  17. I had a weird NullPointerException error when trying to update my eclipse sensor that was really frustrating. I don't know if we actually figured out the exact cause of the exception.
  18. The fact that JBlanket didn't work when we specified the JBlanket directory was a little frustrating.
  19. Setting up the project wasn't that hard. The user interface for configuring the workspace root took a little care, because I have so many different workspaces. It is hard to ensure that I got them all.
  20. The current version of JBlanket doesn't work correctly. If you run the jblanket twice you get bogus coverage. I have heard of some unhappiness in the Mac and Linux users.
  21. After downloading the sensor.properties file, it always automatically saved as .txt file. It took a long time to find this problem.
  22. I think the Hackystat sensor installation is easy, the server also can be configured easily, but I don't know if it is because I have some experience already. Anyway, when I took ICS691 in year 2002, I have hard time to configure it. I think if the Hackystat can offer use a installation window process which list all of the stuff need to be installed, such as different IDE sensors, and Ant sensors, then the user just select the one which they need, and click the "next" button then everything will be done. Just like the other software installation process, that will be great.
  23. As for the JUnit, it's OK. As for the JBlanket, it didn't work for the local dir output setting. As for the BCML, it's OK for me.
  24. Would it be better to have a wizard page to let students guide to set the setting automatically if they follows the instruction.
  25. Provide more detailed installation instruction will be helpful.
  26. I think installation could be easier if you could provide installer.
  27. Your projects do not work well with a multi-user OS. They lack installation methods which are *nix style modular. No /etc configuration files. Also, most network daemons run as an alternative user that does not have a home directory. Install scripts would have been nice. Often times directories where created in the root under windows and directories in *nix home directories like: "/home/user/C:\jakarta-jblanket." Having the C:\ in my home directory did not make me feel that the application was very professional. Sorry to be critical, I'm just trying to help :-).
  28. It would be nice if the Hackystat/sensor installation could be packaged into a single executable (e.g. under installshield) where the user is prompted to enter the Hackystat host and key. The executable could then determine the user's home directory and put the .hackystat files there. Also, a checkbox listing the sensors available could be displayed and any checked by the user would be automatically installed.

3.2 Overhead of Use

In this section, we are interested in learning about the "overhead" you experienced with Hackystat--in other words, how much work was required after installation and configuration to gather data and perform analyses:

Question Response
5. The amount of overhead required to collect Hackystat data was:
   (Very Low)  1  2  3  4  5  (Very High)
6. The amount of overhead required to run Hackystat analyses was:
   (Very Low)  1  2  3  4  5  (Very High)

7. Please provide any feedback you can on Hackystat overhead after installation and configuration, as well as any suggestions you have to reduce the overhead more in future.

  1. After installation and configuration, there was virtually no overhead in using hackystat.
  2. are you kidding, I did absolutely nothing, and hackystat did everything, including sending me email. That's the way software should be.. now if you could just "fully" automate the installation so that a complete moron can install hackystat and all the sensors... not necessarily fully automate, but make an "installation" wizard thingy.
  3. It's simple to use, not much to worry about.
  4. I don't like it sending email to me every day, default setting should be no email sending.
  5. There is not much documentation on running different analysis. Sometimes I feel a little confused about which one I should "touch". It would be nicer if there is a table explaining all different analysis sections.
  6. almost no need to configure anymore once you have setup the workspaces.
  7. for this question, I think hackystat is very good.
  8. Very low effort, probably a few seconds of time on each build is all. The main problem was configuration problems with Linux.
  9. The amount of time required to send bcml, junit and jblanket everytime an ant task is invoked is significant to slow down productivity. Maybe it would be better to send data only after a work session is done.
  10. Very good.
  11. None.
  12. My machine locked a couple of times, may not have been due to hackystat but it didn't lock before I installed it.
  13. I liked the daily emails that included a link that led straight to my Hackystat account, not to a login page.
  14. It is very smooth after installation to check the analysis and activities. Email option was very good and convenient to visit the analysis page. All the graphics provided were helpful to understand what's going on.
  15. The password is hard to remember, and is not expected to remember. suggest an ability for user to choose their own password after first login.
  16. Nothing really
  17. No good suggestion
  18. I guess the daily email report contributes a lot for this overhead. However, as you told us, I prefer the Total time or time unit should be "hours" instead of "minutes". This definitely helps developer who usually work more than 60 minutes.
  19. I think the overhead is not very heavy.
  20. There is not much confusion in using Hackystat.
  21. The only overhead was from having to visit the website and that was not bad.
  22. Once installation is completed successfully, overhead is minimal, if not zero.

3.3. Usability and Utility

This section asks for your opinion on the usability and utility of the three primary analyses used by Hackystat. We define "usability" to mean the ease of invoking an analysis and understanding what the results mean.  We define "utility" to mean the usefulness of the analysis; does the analysis provide information that is actually helpful to you.

Question Response
8. The Project Member Effort analysis (showing the cumulative time spent by each project member) was:
   (Highly Usable)  1  2  3  4  5  (Not Usable At All)
   (Highly Useful)  1  2  3  4  5  (Not Useful At All)

9. The Project Member File analysis (showing the files worked on by each project member) was:
   (Highly Usable)  1  2  3  4  5  (Not Usable At All)
   (Highly Useful)  1  2  3  4  5  (Not Useful At All)

10. The Course Project Analysis (showing a comparison of project data between all of the SiteWatch projects) was:
   (Highly Usable)  1  2  3  4  5  (Not Usable At All)
   (Highly Useful)  1  2  3  4  5  (Not Useful At All)

11. Please provide any other feedback you can on the usability and utility of Hackystat analyses, as well as any suggestions you have on how we can improve usability and utility in future.

  1. All of the above analyses were easy to use and understand. The Course Project Analysis was interesting to run to see how your group compared to the others, but I wasn't sure exactly how that information could be used to improve your project.
  2. This analysis (Project Member Effort) can "motivate" group members to work harder because they'll think "hey look at my other group members working hard, i should work harder and help them..." not to mention it stimulates friendly competition. and the book "how to win friends and influence people" stresses the need of healthy competition in a successful business. So i guess it has good implications on the larger "capitalistic/business" scale and helps increase production. now if a programmer sees that his/her group members are working hard, and he/she does not care and does not increase performance--- FIRE THEM!!! no just kidding-- but it does have big brother implications. but i know your goal is not to play big brother, but rather to help programmers manage their time, and understand what is working, what is not working... this intern enables a programmer to "work smarter". bravo, it does a brilliant job of accomplishing this-- hackystat can truly inform the development team: "hey things are not working in these areas, you programmers need to work more consistently and develop more test cases with better coverage, the project is behind schedule, the over model seems hard to work with" -- these are the kinds of conclusions i can see one drawing from hackystat analysis. More importantly hackystat allows developers to synthesize development information "early" before its too late, so that they can change their ways and get the project "back on track".
  3. This analysis (Project Member File) has highly useful implications with reference to design... for example: the names of the files should be descriptive and so just by looking at what's been created or worked on in a chronological manner can show you the progress of the project. Also if a set of files are taking up to much group members' time and the project is at a standstill, then perhaps the design of those files needs to be re-worked-out.
  4. The Course Project Analysis is still very useful, but I'd give it a 2 for both cause you cant read too much into it. every project is different, every team is different... there is intangible data that is not represented, like the "capability" and the "scope" and the "design layout; is it easy to add to it?" are not taken into consideration-- i think to compare projects one needs to use formal technical review.
  5. I used that a lot for keeping track of the time my group members contribute and compare with other groups. It's good to motivate oneself to work more.. It's pretty easy to use and provides various methods so that you can get the information in a way you want.
  6. Statistic of junit test is useful, time analysis of total work time a day is not so useful.
  7. I like (more...) tab(?). Maybe the configuration of each section is not very intuitive. There were too long horizontal tables which make it hard to view. However, overall it is easy enough to use.
  8. First time will feel more comfortable if more terminology are explained. (LOC/Active time/Coverage etc)
  9. I think hackystat is good enough for this point.
  10. This stuff was great. It gives you a rough idea of where you stand. One problem that I see is that some of the numbers relate to raw work time but not productivity. I heard some people complain that they had work members that hadn't really done anything meaningful with the code but they still racked up minutes. The numbers can be misleading.
  11. It was useful in the sense that it evaluates and measure your productivity rating. It could also be useful if you are a project leader and needs to track down member's contribution and productivity on the projects. Personally, I was a little scared to use it knowing that somebody or anybody can actually monitor what I'm doing.
  12. Interface more clear and easy to understand, it's better if I can understand how to use it in 5 minutes. and figure out how to use each page by just looking at it.
  13. None
  14. At least in our case, the information wasn't "useful" and actually misleading. Note that personal active time doesn't translate directly to project time which is inconsistent with how you'd expect the system to work if you were only working on one project.
  15. It was all useful to see how the projects are going. But when people spend a lot of time refactoring the program, in Hackystat, this will just increase the total project time. In fact, the quality of the program may be better after refactoring.
  16. Since we did more than two weeks pair programming on one member's machine and another member doesn't have any progress reflected in Hackystat. Suggest a pair programming choice to add both student's time .
  17. the project member analysis is useful when all members have the sensors correctly setup. The file analysis was useful in checking what files your partners were working on so you didn't overwrite something they did. the course project analysis is nice, but it can be intimidating, comparing your group to others, when everyone doesn't takes a different amount of time to do the something.
  18. This analysis (Project Member Effort) was great for project management. It allowed me to see what each developer was working on. Kind of big brotherish but I would claim that in the project setting this is exactly what you would want.
  19. This analysis (Project Member File) was also great for project management. One very good indication that it provided was that developers were reading code that they weren't currently developing on, ie I knew they weren't coding on specific files but, they had active time associated with that file. This indicated that they were reading the code.
  20. Because, we considered our team process to be good for our team, we rarely looked at this analysis. I guess this analysis However, if we were on the other side, had a "bad" process, then I think we would want to use this analysis.
  21. The project level analyses are great.. However, the course level analyses didn't provide much useful information. I would claim that project and course level analyses were part of [our] dream use of Hackystat [in a prior class]. The departure from "individual analyses" was exactly what we were aiming for. I think that [we] still would want larger scale analyses than course level. For example, finding out what programmatic differences are there between different demographics. But, that kind of analysis does sound hard.
  22. I think the Hackystat analyses will be very useful for the employer to see how much time the employee spend on his work, and how efficient the employee's work. Beside the graph, if the Hackystat can offer some comment and suggestion to the use base on the data, that will be great.
  23. In terms of how much individually was spent for our project, it is very useful. However, I am worried about the "Big Brother" problem. As I was asked from the other students, labeling all the members name would be too much information in some case. I guess, instead of labeling all of the members, Only the person concerned is labeled, the other members are not labeled. so that the person feel less being watched by other members or manager. This still help to motivate the person who are less working than other members to know his/her current position.
  24. The interface is good. It would be better to make it less confusing.
  25. I would appreciate if Hackystat can give me a weekly report on email. It is going to be very useful if I could set some default values for each analysis. I do not want to select date every time.
  26. Maybe browse work by packages instead of just files.
  27. These features are a particular strong suit of Hackystat. Other than concurrency issues, I believe these features are fully functional.

3.4 Future Use

In this section, we are interested in learning whether you would consider Hackystat to be feasible (i.e. appropriate, useful, beneficial) for use in a professional software development context.

Question Response
12. If I was a professional software developer, using Hackystat at my job would be:
    (Very Feasible)  1  2  3  4  5  (Not Feasible at All)

13. Please provide any other feedback you can on the feasibility of  Hackystat in a professional setting, as well as any suggestions you have on how we could improve its feasibility in future.

  1. I think Hackystat is very feasible in a professional setting. The only problem i can think of is that some people may not want to be monitored.
  2. Number (1) as long as management didn't use the software in an uneducated malicious manner... like big-brother-style-- that goes against the vision i think.
  3. It has some problems dealing with different platforms like Linux. Considering many programming professional "hackers" are Linux fans, hackystat should be improved to run smoothly on Linux.
  4. Make installation easier, add more statistic data about the project, such as total number of classes, total work time on one class, total methods in one class, change times and who make what kind of change
  5. I think it's very Feasible(1) for the manager, not the programmer
  6. Cool tool. Seems to have a couple of problems with the Unix environment. It drops c:\ directories down in various places, bcml needed little tweaks to work correctly, and jblanket gave different coverage numbers on windows and Linux.
  7. It would probably useful to have hackystat sensor installed on workplace computers but not your personal computer even if you're doing project related work.
  8. Interface needs to be improved, sensor installation needs to be simplified for the users.
  9. I would say it is feasible on an individual basis, but on an organizational level much more difficult; however, assuming you could get everyone in your organization to cooperate, and almost always use IDE's with sensors, it could be very useful. Not to be too critical, but more testing on unix based systems would be helpful (especially with the OS X becoming popular with developers).
  10. I would be interested in bringing hackystat to my workplace. From a professional standpoint, the individual statistics are useful for determining coding time. Not sure if the group statistics are as useful but maybe if they follow the same rules as the personal statistics
  11. I'm sure that I'll find the data provided by Hackystat more useful as I gain more experience developing more intermediate to large systems.
  12. If Hackystat has some convenient features such as "sensor preferences" from IDE, this will be a good tool to adopt to have a nice analysis of project.
  13. As mentioned on class in top 10, quality is more important than quantity. Somebody likes to write a small experimental program in other place to test out some code before inserting experimental code into big project to save time of build and install. So the statistics in Hackystat can not fully reflect the efforts and the code quality. It is meaningful only considering other factors like design, code quality, extensibility and usability.
  14. Two words that hinders professional settings, "Big Brother".
  15. If I was a boss who hired some software developer, Hackystat will be feasible at my job
  16. Well, this is a hard question, though. For the active trend in group, it would be useful for a manager especially. If it is used for the "Big Brother" software, I as the developer would not recommend my boss to use this :) However, I really feel positive to use the active time to check how much I sent for programming, and test is invoked, coverage is invoked at a day or a week.
  17. It seems some people would not like it because of privacy.
  18. I will use for myself, but I does not want my Boss to know about Hackystat. After becoming a mangement position, I will use this for my project.
  19. Please make a Hackystat sensor for Macromedia Dreamweaver, I do some web page scripting on this application.
  20. The installation needs to be more professional and it has privacy issues that bother me. I have to use it more before I made a decision about it. If I did more java programming I would.
  21. The problem is many companies block outside communication over the internet. For example, when I was working at JPMorgan, their firewall would not let me send data to the hackystat server at UH. I think we should focus on automating Hackystat server installation, so that companies would feel secure sending project data, as it would be screened from outside eyes.

4.0 Conclusions

4.1 Experimental Limitations

Before drawing any conclusions from this data, it is important to recognize the limitations of this study. 

First, this data is drawn from a limited sample size of approximately two dozen students in software engineering classes at the University of Hawaii.  The subjects therefore have a relatively narrow and homogeneous background in software development.

Second, the context in which they used the system was a course project.  Course projects tend to be smaller, narrower in scope, and with less pressure on the developers than an industrial context.  It is one thing to get a poor grade for doing a poor job, it is another thing to lose your job for doing a poor job.  In addition, students are not working full-time on the system; the development project is just one assignment among several.  

Third, the administration of the questionnaire was performed by the designer of the system under study, who was also the instructor for the class.  In addition, responses were not provided anonymously, but rather emailed back to the instructor/designer.  This raises the question of whether the responses are biased, either consciously or unconsciously, in order to "please" the instructor/designer who would presumably be gratified by positive responses to the questionnaire. 

These are all major limitations on the external validity of the responses.  They do not make the results meaningless, but rather help provide a perspective on how to gain additional evidence in future that would confirm/disconfirm these initial findings.  For example, it would be helpful to deploy Hackystat-UH  in a classroom setting in another University, and then gather data anonymously from the participants using someone other than the instructor in order to avoid the potential for bias present in this study. Other insights into future research directions will be covered in the next section.

4.2 Conclusions regarding Installation/Configuration

The numerical data indicates that the Eclipse sensor was easiest to install, followed by the server-side configuration and lastly by the Ant sensors.  Significant problems were articulated by many participants regarding the difficulties involved with installing the Ant sensors. 

Our principal conclusion is that significant work is still required on the installation of certain sensors in the system to make them more usable.  Improvements include the ease with which sensors can be downloaded and installed and the quality of documentation available. It appears that without these improvements, the system cannot yet be installed without direct help from the development team. 

4.3 Conclusions regarding overhead of use 

The data from this section is pretty unambiguous: if the user can survive the installation/configuration process, then the overhead of daily use of the system is quite low. 

Our principal conclusion is that in this respect, the current design of Hackystat is quite successful.  

4.4. Conclusions regarding usability and utility

Recall that the survey defined "usability" to mean the ease of invoking an analysis and understanding what the results mean.  The survey defined "utility" to mean the usefulness of the analysis; does the analysis provide information that is actually helpful to you.  Although the Hackystat-UH configuration actually provides 16 analyses, there were only three analyses that were actively discussed in class and which the students were expected to use.  These three analyses were the subject of the questions in this section.

All of the analyses rated well with respect to usability.  There are minor things we can improve (such as making dates persistent, making the tabular representation fit better into a page, etc.)  For the most part, however, reactions indicate that it is relatively easy to invoke the analyses and understand the results.

There was a broader diversity of opinion regarding the utility, or usefulness, of these analyses.  The first two analyses, Project Member Effort and Project Member File, are "intra-group" analyses--they reveal information to a group member about the process and products of the group itself.  Most respondents found these analyses to be of at least some use.

What was quite interesting was the response to the third analysis, which provides "inter-group" or comparative analyses between groups.  Attitudes toward the usefulness of this analysis were the most divided of the entire survey: almost equal numbers found it to be useful and useless!   Comments indicated that some students did not feel that projects were comparable, or at least that the kinds of measures of comparison (LOC, methods, classes, effort) were not useful.

What also came up in several of the comments in this section was the specter of "Big Brother" and privacy.  The Hackystat-UH configuration provides a greatly increased level of transparency into the work habits of individual developers. This was uncomfortable for some students, although several apparently thought it was OK as long as they were managers and receiving the data about their programmers. 

Our conclusion regarding this section is that the usability of Hackystat-UH is reasonable.  The usefulness of the three principal analyses is also reasonable. However, more work needs to be done on how to either (a) raise the usefulness to such a high level that the loss of privacy seems worth the benefits obtained, or (b) alter the set of analyses in such a way that more privacy is accorded developers regarding their personal work habits, while still providing information of use about the overall course of development.

4.5 Feasibility in a professional software development context

The major conclusion from this section is: "It's the privacy, stupid."   The data provides considerable evidence that many developers would be put off by the introduction of the Hackystat-UH configuration into a professional setting due to the way it reveals hitherto "private" aspects of a developer's working style.   However, the Hackystat-UH configuration, as its name suggests, is not designed for a professional setting, it is designed explicitly for a classroom setting.  (The Hackystat-JPL configuration, in contrast, which was designed for a professional setting, performs analyses that involve almost no direct developer data).

Our conclusion from this section is that some aspects of the design of Hackystat, such as the low overhead of daily data collection and analysis, seem to make it well suited to professional use. However, other aspects of the current configuration, such as the analyses revealing individual developer work habits, would raise adoption issues in a professional setting. Future research can address how to better preserve privacy while still yielding the benefits of unobtrusive data collection and analysis.

4.6 Want to participate further?

If you have any other thoughts or inspirations upon reading this technical report, please don't hesitate to send me email at johnson@hawaii.edu.