This Is AuburnElectronic Theses and Dissertations

SISE: A novel approach to individual effort estimation

Date

2013-06-25

Author

Thackston, Russell

Type of Degree

dissertation

Department

Computer Science

Abstract

(Author’s note: This dissertation has been prepared following a manuscript style. Each chapter has been constructed as a stand alone manuscript, suitable for separate publication. Therefore, each chapter contains an abstract and introductory subject material, as well as some overlapping content.) The software engineering discipline is filled with many varied examples of software process methods and tools focused on the team or organization. In recent years, the agile approach to software engineering has increased the focus of software process on small teams and individuals; however, not all aspects of software process have been deeply or fully addressed. The majority of effort estimation models – traditional and agile – focus on teams or groups of software engineers. The discipline is ripe with various examples of team-based models including Wideband Delphi, Planning Poker, function point analysis, COCOMO, etc. The few examples of effort estimation models focused on the lone software engineer are limited to traditional mathematical models with (relatively) substantial complexity and required time investment; the Personal Software Process (PSP) contains one such model: PROBE. The discipline lacks a truly agile model based on a minimal combination of empirical data and expert judgment. The SISE model under development at Auburn University’s microISV Research Lab is a simple to understand, lightweight, and agile effort estimation model that specifically targets individual software engineers. SISE combines an individual’s personal, empirical data with his or her expert judgment and experiences to produce relatively accurate estimates with a minimal investment of training and time. The SISE model rests on two foundational principles. First, software engineers are capable of identifying the largest of a pair of tasks based solely on their descriptions. Second, a software engineer who is presented with a future work activity is capable of identifying two historical tasks – one larger, one smaller – which may serve as a prediction of the future activity’s size. The name “SISE” is an acronym for the model’s four basic steps: Sort, Identify, Size, and Evaluate. The first step – Sort – involves the ordering of historical data by the actual effort required to complete the activity. The second step – Identify – involves choosing two tasks from the historical data set: one confidently known to be smaller, one confidently known to be larger, and both relatively close in size to the future work. Once the practitioner has chosen a pair of tasks, the third step – Size – produces a rough prediction interval of the future activity’s size using the actual effort values for the two completed tasks. The final step – Evaluate – involves shifting or resizing the prediction interval to account for any historical bias. This last step is optional and is only applied if the estimator is dissatisfied with the precision, accuracy, or confidence level of his or her estimate. Validation of the SISE model included two major steps. First, the foundational principle that relative tasks sizing by software engineers is suitably accurate was validated. The validation occurred in the form of a survey, presented to over 100 software engineering students, which presented the respondents with a series of task pairs from which they were to identify the larger. Some of the pairs had a known, verifiable size difference based on ten years of time logs provided by students in the Software Process course, while some of the pairs did not. The results indicated that, on average, a majority of software engineers were able to identify the larger task, while not typically misidentifying the smaller. When presented with tasks demonstrating no significant difference in size, the respondents were typically swayed by the wording, format, or word count. The second phase of validation involved a series of Software Process students who were asked to identify where a future activity should be placed in the ordered list of their completed tasks. In addition, the students were asked to construct a PCSE estimate. The results indicated that SISE predictions were no more or less accurate than the PCSE model’s estimates. In addition, the students indicated that SISE, in their opinion, took less time and was based on less a complex model. In summary, SISE appears capable of producing results of equal quality, in less time, and with less training.