A Survey on Software Cost Estimation in Chinese Software Industry

advertisement

A Survey on Software Cost

Estimation in Chinese

Software Industry

Da Yang, Qing Wang, Mingshu Li, Ye Yang, Kai Ye, and Jing Du

Institute of Software, Chinese Academy of Sciences (ISCAS)

COCOMO Forum’08

October 28, 2008

4/14/2020

Outline

• Background and Research Questions

• Research Methods

• Survey Results and Discussions

• Threat to Validity

• Future Works

2

Background

• What to improve and how?

– Important to know the current situation of software cost estimation in the industry

• Performance, methods used, causes for the low use of cost estimation models, etc.

• Factors motivated this survey research

– Still no survey on software cost estimation in the Chinese software industry

– Most of the previous surveys were conducted in the 1980s or early 1990s.

• Business environment, development technology, and process are changing

– Lacked research on the factors which influence the adoptions of software cost estimation methods and the factors lead to the low use of model-based software cost estimation

4/14/2020 3

Research Questions

• Current Performance

– RQ#1: What is the accuracy of effort and schedule estimation?

– RQ#2: Does project size affect effort and schedule estimation accuracy?

• Current Practice

– RQ#3: To what extent are different estimation methods used in the industry?

– RQ#4: For what purposes are cost estimations used?

– RQ#7: When do organizations usually make cost estimations?

• Current stakeholders

– RQ#5: How important do people think estimation is, in comparison with other aspects of development?

– RQ#6: How satisfied are people with the current software cost estimation?

• Factors for current situation

– RQ#8: What are the causes of inaccurate estimations?

– RQ#9: What are the barriers and difficulties in the application of software cost estimation models?

4/14/2020 4

Research Methods

• Investigate performance of estimation

– Needs large amount of detailed project data

• The CSBSG data set

– Collected by the Chinese Software Benchmarking

Standards Group to reflect the status and best practices of the Chinese software industry.

– 112 projects have recorded complete information of planned and actual values of project development effort and schedule.

4/14/2020 5

• Project distribution across business areas

Summary of the 112 projects

Size (SLOC)

Mean Median Min Max

123788.1

Effort (Man-Hours) 7883.6

Schedule (Days )

4/14/2020

175.1

46116.5

4102

150

1480

160

10

2339728

115816

851

6

Research Methods

• Conducting questionnaire survey

– Followed SEI Guideline of Survey Design

• 1) Identify the research objectives

• 2) Identify and characterize the target audience

• 3) Design the sampling plan

– "2007 Chinese Systems and Software Process Improvement Conference“

• 4) Design and prepare the questionnaire

• 5) Pilot test the questionnaire

– Reduce ambiguities, remove difficult questions

• 6) Distribute the questionnaire

– 400 questionnaires. Got 171 respondents from 116 organizations.

• 7) Analyze the results

4/14/2020 7

• Size of the 116 respondent organizations

Organization size (Persons)

< 51

51-100

101-200

201-500

501-1000

> 1000

# of organizations

9

11

26

32

19

19

Information about software process improvement

Software Process Improvement Standards

CMM

CMMI

ISO-9000

CMM&CMMI

CMM&ISO-9000

CMMI&ISO-9000

CMM, CMMI, ISO-9000

No SPI assessment

# of organizations

5

43

15

1

8

25

4

15

116 8

4/14/2020

Outline

• Background and Research Questions

• Research Methods

• Survey Results and Discussions

• Threat to Validity

• Future Works

9

Survey Results and Discussions

• To present the survey results, we needs to

– Organize our various observations

• estimation performance, technology usage, barriers of technology transfer, potential improvement, etc.

– Provide a holistic view of the current situation of software cost estimation

– The UTAUT (Unified Theory of Acceptance and Use of Technology) model is used

4/14/2020

RQ#1: What is the accuracy of effort and schedule estimation?

RQ#2: Does project size affect effort and schedule estimation accuracy?

RQ#8: What are the causes of inaccurate estimations?

10

Comparison of the estimation accuracy

Sources

Year

[6]

1984

Cost overrun 34% median

61%

[7] [8] [9] [10]

1988 1989 1991 1992

33% mean

[11]

2003

33% mean 18% mean

70% 63% 59%

[3]

2004

21% median

41% mean

76% Effort

Act. > Est.

Effort

Act. < Est.

Schedule overrun

Schedule

Act. > Est.

Schedule

Act. < Est.

4/14/2020

10%

22% mean

65%

4%

80%

14% 15%

23% mean

35%

3%

19%

9% median

25% mean

62%

7% median

17% mean

63%

2%

New

2007

5% median

12% mean

68%

29%

21%

11

30%

Distribution of the cost estimation REE

50%

40%

20%

22% projects

Overrun > 20% 30%

29% projects

Overrun > 20%

20%

10%

10%

0%

0.00

0.50

1.00

REE of Effort Estimation

0.00

1.00

2.00

REE of Duration Estimation

• Observations on research question #1:

– More than half of the software projects suffered from effort or cost overruns.

– 22% projects overran effort greater than 20%,

– 29% projects overran schedule greater than 20%.

12

REE of

Estimation

Groups Mean Median

Std.

Dev.

Levene's Test for

Equality of t-test for

Equality of

Variances (p) Means (p)

Effort

Schedule

SMALL 0.07

0.04

0.20

LARGE 0.16

0.08

0.33

SMALL 0.06

0.00

0.27

LARGE 0.28

0.15

0.49

0.004

( ** p < 0.01)

0.033

( * p < 0.05)

0.057

( + p < 0.01)

0.003

( ** p < 0.01)

• Observations on research question # 2: Large software projects vs. small ones

– had lower effort and schedule estimation accuracy

– were more prone to effort and schedule overruns

– had higher variance of estimation accuracy

4/14/2020 13

Causes of inaccurate estimations

Rate on the extent of responsibility 1 (min) – 5 (max)

1 Requirements are volatile

2 Requirements are unclear

3

Pressure from senior manager and client to set or change the estimation results

4 Not enough resource for estimation

5 Not efficient historical projects

6

Lack of appropriate software cost estimation methods and process

7 Lack of stakeholder collaboration

8 Lack of risk assessment and management

9 Lack of cost control according to plan

10 Lack of estimation tools

11 Hard to assess the ability of developers

12 Lack of product risk assessment

13 Estimation lack involvement of developers

Other causes proposed by respondents

14) The project bidding requirements predefined the project cost

15) The survival pressure and business pattern of company

Rating

(1-5 scale)

3.82

3.70

3.22

3.17

3.13

3.10

3.07

3.06

3.01

2.97

2.90

2.87

2.72

14

4/14/2020

Survey Results and Discussions

RQ#3: To what extent are different estimation methods used in the industry?

15

Estimation methods used by organizations

Sources

Year

[14]

1987

[8]

1989

Percentage used each methods (more than one method possible)

Expert consultation 26% 86% 100% 70%

Intuition and experience 85% 62%

[4]

1995

[3]

2004

New

2007

Analogy

Software cost models

Price-to-win

13%

Capacity related

Top-down

1) existing literature suggests that the capacity-related and price-to-win

12%

61%

14%

8%

21%

9%

65%

26%

16%

11%

51%

28%

70%

15%

53% like capacity or price' is one of the top three rated causes for inaccurate cost estimations.

16

Survey Results and Discussions

4/14/2020

RQ#9: What are the barriers and difficulties in the application of software cost estimation models?

17

Barriers or difficulties of applying cost models data, configure parameters, calibrate models, etc

Persons (n)

89

%

58%

69 45% software cost estimation benefit

4) Lack corresponding tools which are easy to use

5) Haven't found appropriate software cost estimation models or tools

6) Software cost estimation models are hard to learn and use

Total

Other causes proposed by respondents

7) Client didn't require using software cost estimation models

8) Estimation models were not accurate and effective

61

56

52

34

153

40%

37%

34%

22%

100%

10) Senior managers only looked at the result and didn't care for the estimation process

11) Schedule pressure was very high, and the estimation could not help

12) Estimation models haven't well defined what kind of data need to be collected

4/14/2020 18

Survey Results and Discussions

4/14/2020

RQ#5: How important do people think estimation is, in comparison with other aspects of development?

RQ#6: How satisfied are people with the current software cost estimation?

19

The importance of software cost estimation

Importance

Most unimportant

Very unimportant

Unimportant

Neutral

Important

Very important

Most important

Total

Persons (n) Percentage

1 1%

2 1%

3

15

63

77

5

166

2%

9%

38%

46%

3%

100%

The satisfaction level of respondents

Satisfaction Level

Very unsatisfactory

Unsatisfactory

Neutral

Satisfactory

Very Satisfactory

Persons (n) Percentage

2 1%

34

100

21%

62%

26

0

162

16%

0%

100%

20

Survey Results and Discussions

• Based on the UTAUT model, the findings suggest:

– Only providing accurate cost estimation is not enough to guaranty the acceptance and usage of a cost estimation technology

– To introduce new cost estimation technology and change the current situation, we should also pay attention to the

"performance expectancy", "effort expectancy", "social influence", and "facilitating conditions“ of the technology.

4/14/2020 21

Survey Results and Discussions

4/14/2020

RQ#4: For what purposes are cost estimations used?

RQ#7: When do organizations usually make cost estimations?

22

The usage purposes of software cost estimation

Where are estimates used?

Project proposal evaluation

Contract negotiation

Making budget

Project-level planning and control, e.g. effort or schedule distribution among development phases

Short-term planning and control, e.g. weekly or monthly team work plan

Software process improvement, e.g. assess new process, improve productivity

Total

Organizations

(n)

52

53

85

97

58

43

115

4/14/2020

Percentage

45%

46%

74%

84%

50%

37%

100%

23

When cost estimations are usually made

Software Development Phases

Initial project proposal stage

Feasibility study

Requirement

Design

Implementation

Integration and testing

Transition

Total

Organizations (n) Percentage

64

76

84

41

31

20

13

113

57%

67%

74%

36%

27%

18%

12%

100%

OB8 and OB9 indicate two needs of software cost estimation

 better support of various estimation goals

4/14/2020 better support of early lifecycle cost estimation (when uncertainty is large)

24

Threat to Validity

• Projects Data

– may be recorded by organizations with higher maturity levels

• Questionnaire samples

– may be biased to organizations above average size and process maturity level of the industry

• Generalizability of the results

– Cultural issues that reduce the generalizability of the results

4/14/2020 25

Future Works

• Conduct surveys and experiments in more detail

– See the variance and changes in the performance of software cost estimations

– Identify related factors and potential improvements

• Design measures

– To evaluate cost estimation methods based on 1)performance expectancy,

2)effort expectancy, 3)social influence, and 4)facilitating conditions.

• Developing new estimation processes, methods, and tools to address those considerations

4/14/2020 26

4/14/2020

Thank You!

Contact info: ye@itechs.iscas.ac.cn

27

Download