34
1) Cam Moore Collaborative Software Development Laboratory Communication & Information Sciences University of Hawaii, Manoa [email protected] http://csdl.ics.hawaii.edu/Research/LEAP/LEAP.html Investigating Individual Software Development: An Evaluation of the Leap Toolkit

Investigating Individual Software Development: An Evaluation of the Leap Toolkit

Embed Size (px)

DESCRIPTION

Investigating Individual Software Development: An Evaluation of the Leap Toolkit. Cam Moore Collaborative Software Development Laboratory Communication & Information Sciences University of Hawaii, Manoa [email protected] http://csdl.ics.hawaii.edu/Research/LEAP/LEAP.html. Outline. - PowerPoint PPT Presentation

Citation preview

Page 1: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(1)

Cam Moore

Collaborative Software Development Laboratory

Communication & Information Sciences

University of Hawaii, Manoa

[email protected]

http://csdl.ics.hawaii.edu/Research/LEAP/LEAP.html

Investigating Individual Software Development: An

Evaluation of the Leap Toolkit

Page 2: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(2)

Outline

Why Is Quality Software Development Important?

Solutions

Thesis

Evaluation

Contributions & Future Directions

Page 3: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(3)

Problem Every Software developer wishes they got home earlier and spent less of their weekend at work.

Software is often:•Late

-Windows 2000•Over budget

-DIA baggage control•Full of defects

-Therac-25

Problem

Solutions

Leap

Evaluation

Contributions

Page 4: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(4)

Solutions

Hope Based (Try Harder)1960s

Product Based (Testing, Review)1970s

Organization Based (CMM, ISO 9000)1980s

Developer Based (PSP, Leap)1990s

Problem

Solutions

Leap

Evaluation

Contributions

Page 5: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(5)

Problems with traditional solutions

Many software process improvement initiatives suffer from one or more of the following problems:

•Heavy weight development constraints

•Organization-level analysis and improvement

•Measurement Dysfunction

•Manual Data Collection

Problem

Solutions

Leap

Evaluation

Contributions

Page 6: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(6)

Supporting Software Developer Improvement

with LEAP LEAP is our design philosophy. All LEAP tools must satisfy four major criteria:

•Light weight

•Empirical

•Anti-Measurement dysfunctional and

•Portable

The Leap toolkit is a reference implementation

Problem

Solutions

Leap

Evaluation

Contributions

Page 7: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(7)

Leap Toolkit Started August 1997 Over 25 public releases

As of 17 Apr. 2000, the size of the Leap Toolkit is:•44KLOC of Java, •2156 Methods, •311 Classes and, •14 Packages

It is available for download from http://csdl.ics.hawaii.edu/Tools/LEAP/LEAP.html

Problem

Solutions

Leap

Evaluation

Contributions

Page 8: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(8)

Leap Toolkit

Page 9: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(9)

General Thesis

LEAP provides a more accurate and effective way for developers to collect and analyze their software engineering data than methods designed for manual enactment.

Problem

Solutions

Leap

Evaluation

Contributions

Page 10: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(10)

Evaluation To evaluate this thesis I broke it into 3 claims:

I. Leap is able to prevent important classes of data error as identified in Disney98.

II. Leap reduces the level of collection stage errors by reducing the overhead of data collection.

III. Leap implements data collection and analyses that enable sophisticated analysis not available in manual methods such as PSP.

Problem

Solutions

Leap

Evaluation

Contributions

Page 11: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(11)

I: Preventing data error I. Leap is able to prevent important classes of data error as identified in Disney98.

Disney’s research discovered the following problems with manual PSP data:

• Students had a 5% error rate in their data

• These errors were significant-Time estimation-Incorrect Yield

Even 95% accuracy is not good enough

Problem

Solutions

Leap

Evaluation

Contributions

Page 12: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(12)

I: Preventing data error The design and implementation of the Leap toolkit address the data error categories:Error Category Leap solution

Calculation error(46%)

Automatedcalculations

Transfer error(20%)

MVCarchitecture

Blank fields(18%)

Default values<Undefined>

Problem

Solutions

Leap

Evaluation

Contributions

Page 13: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(13)

I: Preventing data error Data error categories (cont):

Error Category Leap solution

Entry error (9%) Default valuesPopup menus

Impossible values(6%)

Error checking

Sequence error(1%)

Not an errorProblem

Solutions

Leap

Evaluation

Contributions

Page 14: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(14)

II: Reducing collection error

II. Leap reduces the level of collection stage errors by reducing the overhead of data collection.

Case Study:•16 Students used Leap while developing 8 Java programs in ICS 613

•Data collection:-4 surveys conducted (# responses)-Interviews (11 conducted)-Students’ Leap data (16 data sets)

Problem

Solutions

Leap

Evaluation

Contributions

Page 15: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(15)

II: Reducing collection error

The students were asked to collect three types of data:

•Defects-Students used many different collection methods

•Size-LOCC used for collecting size data

•Time-Two different time collection tools

Problem

Solutions

Leap

Evaluation

Contributions

Page 16: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(16)

II: Reducing collection error

First method of time collection in LeapNaia

Defined Values Default Values Current Time Automatic

Duration

Problem

Solutions

Leap

Evaluation

Contributions

Page 17: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(17)

II: Reducing collection error

Second method of time collection in Leap

Io

Defined Values Current Time One click

operation

AutomaticDuration

Problem

Solutions

Leap

Evaluation

Contributions

Page 18: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(18)

II: Reducing collection error

Using Naia for data entry makes data entry harder

•Students using Naia said data collection was neutral to hard

•Students using Io said data collection was easy to neutral

Problem

Solutions

Leap

Evaluation

Contributions

Page 19: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(19)

II: Reducing collection error

Types of time collection errors•Missing time•Added time•Rounding

Reported use of Naia has high correlation to rounded timesPercentage of times that were a multiple of 5

minutes

0.00%

10.00%

20.00%

30.00%

40.00%

50.00%

60.00%

16 14 7 3 8 1 4 15 2 13 11 10 6 9 12 5

Student

Percentage of times that were a multiple of an hour

0.00%

5.00%

10.00%

15.00%

20.00%

25.00%

15 7 14 3 6 8 12 4 13 11 10 1 5 16 2 9

Student

Page 20: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(20)

III: Empirical Investigation III. Leap implements data collection and analyses that enable sophisticated analysis not available in manual methods such as PSP.

Leap allowed me to evaluate 14 different quantitative time estimation techniques.

A

BCActual Size

Planned Size

Avera

ge

Lin

ear

Exp

on

en

tial LOC

Methods

PSP (A, B, or C)

Problem

Solutions

Leap

Evaluation

ContributionsStudent’s

Page 21: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(21)

III: Empirical Investigation I used Leap to calculate the prediction error for each estimation method.•Prediction Error = | estimate - actual |

•Compared methods for each student

•Compared methods for the whole class

Problem

Solutions

Leap

Evaluation

Contributions

actual

Page 22: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(22)

III: Empirical Investigation Individual Students’ Results:

3 of the 16 students had significantly better estimation methods•2 students, their own estimation methods were best (F = 3.93, p < 0.001), (F = 2.25, p = 0.019)

•1 student, exponential regression using actual LOC was best (F = 2.34, p = 0.014)

•5 students, own estimates best

Problem

Solutions

Leap

Evaluation

Contributions

Page 23: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(23)

III: Empirical Investigation Class’ Results:

The students’ own estimates were the most accurate (F = 3.75, p <0.001)

Ignoring the students’ estimates, the Exponential Regression using actual methods was the best (F = 2.40, p = 0.005)

The PSP’s time estimation method was 6th

Problem

Solutions

Leap

Evaluation

Contributions

Page 24: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(24)

Contributions The Leap toolkit•An effective tool for software developer improvement-Reduces overhead-Flexible-Portable

•A novel software engineering tool for:-Education-Research

Problem

Solutions

Leap

Evaluation

Contributions

Page 25: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(25)

Contributions The results of the estimation experiment•Insight into better software estimation techniques

Experience may lead to over-confidenceEstimation Accuracy

-40.00%

-30.00%

-20.00%

-10.00%

0.00%

10.00%

1 2 3 4 5 6

Project

Err

or

% Less Exp

More ExpProblem

Solutions

Leap

Evaluation

Contributions

Page 26: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(26)

Future Directions Replicated studies with more subjects including industrial software developers

Industry adoption of Leap Toolkit

More support for data analysis in Leap Toolkit

Further study into effort estimation

Personal Agents that “observe” the developer

Problem

Solutions

Leap

Evaluation

Contributions

Page 27: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(27)

Page 28: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(28)

Results: Case Study Estimation accuracy unaffected by rounding error•No significant difference between the estimation accuracies of the class (F = 1.71, p = 0.07)

•No significant difference between Naia and Io users (F = 2.70, p = 0.10)

Estimation accuracy

-30.00%

-25.00%

-20.00%

-15.00%

-10.00%

-5.00%

0.00%

5.00%

1 2 3 4 5 6

Project

Err

or

% Naia ave

Io ave

Page 29: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(29)

Results: Case Study There was very little evidence of measurement dysfunction

•Grades not based upon estimation accuracy

•Students did not compare their Leap data

•Most students felt little pressure to make their data look “good”-Most said they felt less pressure-Two with increasing remained very low

Page 30: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(30)

Results: Case Study Students showed traditional software developer improvements

•Increased Productivity

•Improved size estimation skills

•Improved time estimation skills

Page 31: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(31)

Increased Productivity

LOC•EqualSlight improvement

Methods•Equal

Productivity LOC/hr.

0

20

40

60

80

100

120

0 2 4 6 8 10

Project

LO

C/h

r.

Productivity Methods/hr

0.00

2.00

4.00

6.00

8.00

10.00

12.00

0 2 4 6 8 10

Project

Met

ho

ds/

hr

Page 32: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(32)

Productivity Size of methods increased•Projects changed from Command line to GUI

•Last few project were more complicated

Problem

Solutions

Leap

Evaluation

Contributions

LOC/Method

0.00

10.00

20.00

30.00

40.00

50.00

0 2 4 6 8 10

Project

LO

C

Page 33: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(33)

Improved Size Estimation

LOC•Steady Underestimation

Methods•Improvement•BetterDesigns?

Size Estimation Accuracy (LOC)

-100.00%

-50.00%

0.00%

50.00%

100.00%

Project

Est

imat

ion

Err

or

Size Estimation Accuracy (Methods)

-100.00%

-50.00%

0.00%

50.00%

100.00%

150.00%

Project

Est

imat

ion

Err

or

Page 34: Investigating Individual Software Development: An Evaluation of the Leap Toolkit

(34)

Improved Time Estimation Class’ time estimation accuracy•Under estimated•Range consistent

Time Estimation Accuracy

-80.00%

-60.00%

-40.00%

-20.00%

0.00%

20.00%

40.00%

60.00%

80.00%

Project

Est

imat

ion

Err

or