Timesheet assistant: mining and reporting developer effort

Timesheets are an important instrument used to track time spent by team members in a software project on the tasks assigned to them. In a typical project, developers fill timesheets manually on a periodic basis. This is often tedious, time consuming and error prone. Over or under reporting of time spent on tasks causes errors in billing development costs to customers and wrong estimation baselines for future work, which can have serious business consequences. In order to assist developers in filling their timesheets accurately, we present a tool called Timesheet Assistant (TA) that non-intrusively mines developer activities and uses statistical analysis on historical data to estimate the actual effort the developer may have spent on individual assigned tasks. TA further helps the developer or project manager by presenting the details of the activities along with effort data so that the effort may be seen in the context of the actual work performed. We report on an empirical study of TA in a software maintenance project at IBM that provides preliminary validation of its feasibility and usefulness. Some of the limitations of the TA approach and possible ways to address those are also discussed.

[1]  Audris Mockus,et al.  Inferring change effort from configuration management databases , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[2]  Doo-Hwan Bae,et al.  An empirical analysis of software effort estimation with outlier elimination , 2008, PROMISE '08.

[3]  Gerardo Canfora,et al.  Tracking Your Changes: A Language-Independent Approach , 2009, IEEE Software.

[4]  Sunita Chulani,et al.  Bayesian analysis of software cost and quality models , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[5]  Chanchal Kumar Roy,et al.  Comparison and evaluation of code clone detection techniques and tools: A qualitative approach , 2009, Sci. Comput. Program..

[6]  Jonathan I. Maletic,et al.  Towards a taxonomy of approaches for mining of source code repositories , 2005, ACM SIGSOFT Softw. Eng. Notes.

[7]  Kenji Yokoyama,et al.  Development of a hybrid cost estimation model in an iterative manner , 2006, ICSE.

[8]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[9]  Thomas Zimmermann,et al.  Fine-grained processing of CVS archives with APFEL , 2006, ETX.

[10]  Andreas Zeller,et al.  How Long Will It Take to Fix This Bug? , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[11]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

[12]  Rob Schoedel PROxy Based Estimation (PROBE) for Structured Query Language (SQL) , 2006 .

[13]  Audris Mockus,et al.  Expertise Browser: a quantitative approach to identifying expertise , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[14]  Andreas Zeller,et al.  Mining version archives for co-changed lines , 2006, MSR '06.

[15]  Thomas R. Lindlof Qualitative Communication Research Methods , 1994 .