vii TABLE OF CONTENTS CHAPTER 1 TITLE PAGE DECLARATION ii DEDICATION iii ACKNOWLEDGEMENT iv ABSTRACT v ABSTRAK vi TABLE OF CONTENTS vii LIST OF TABLES xi LIST OF FIGURES xiii LIST OF APPENDICES xv INTRODUCTION 1 1.1 Overview 1 1.2 Research Background 3 1.3 Problem Statement 5 1.3.1 Domain Problems 5 1.3.2 Technical Problems 6 1.4 Research Questions 6 1.5 Research Hypotheses 7 1.6 Research Goal 8 1.7 Research Objectives 8 1.8 Scope of Research 9 1.9 Research Justification 9 1.9.1 Importance of Software Development Effort Estimation 9 1.9.2 Localization of Estimation Process 10 viii 2 LITERATURE REVIEW 11 2.1 Introduction 11 2.2 The Role of Estimation in Project Management 12 2.3 Software Projects and Estimation Process 14 2.4 Existing Estimation Methods 16 2.4.1 Static Methods 17 2.4.1.1 Source Line of Code 18 2.4.1.2 Function Point Size Estimates 18 2.4.1.3 COCOMO 81 20 2.4.1.4 COCOMO II 24 2.4.1.5 Regression Method 25 2.4.2 Dynamic Methods 3 26 2.4.2.1 Analogy Based Estimation 26 2.4.2.2 Expert Judgment 27 2.4.2.3 Soft Computing Methods 28 2.4.3 Analytical Studies 29 2.4.4 Survey-Based Studies 30 2.4.4.1 Accuracy of Effort Estimation 30 2.4.4.2 Effort Estimation Methods 32 2.4.4.3 Obstacles and Limitations 33 2.4.4.4 Importance of Effort Estimation 33 2.4.4.5 Time of Effort Estimation 34 2.4.4.6 Goal of Effort Estimation 35 2.4.4.7 Discussion 35 RESEARCH METHODOLOGY 37 3.1 Introduction 37 3.2 Operational Framework 38 3.2.1 Phase A: Initial Planning 41 3.2.2 Phase B: Literature Review 41 3.2.3 Phase C: Research Design 42 3.2.3.1 Problem Finding 42 3.2.3.2 Determining the Scope of Survey 44 3.2.3.3 Determining the Project Attributes 46 ix 3.2.3.4 Identifying the Limitation and Obstacles 51 3.2.3.5 Determining the Management Issues 52 3.2.3.6 Design the Effort Etimation Status Form 54 3.2.3.7 Identification of Respondents 57 3.2.4 Phase D: Data Collection 3.2.4.1 Quantitative 58 3.2.4.2 Qualitative 59 3.2.5 Phase E: Analysis and Conclusion 61 3.2.5.1 SPSS Software 61 3.2.5.2 Statistical Techniques 62 3.2.6 Phase F: Report Writing 4 58 63 EXPERIMENTAL RESULTS 64 4.1 Introduction 64 4.2 Statistical Analysis of Results 64 4.2.1 Specifications of Respondents 64 4.2.2 Estimation Process 67 4.2.2.1 The Selection of Estimation Method 67 4.2.2.2 The Roles Involved in Estimation Process 67 4.2.2.3 The Goal of Effort Estimation 68 4.2.2.4 The Time of Effort Estimation 69 4.2.2.5 Importance of Effort Estimation 70 4.2.2.6 Satisfaction of Estimation Effort 70 4.2.2.7 Status of Projects Done by Teams 71 4.2.2.8 Communication with Existing Effort Estimation Methods 72 4.2.3 Management of Effort Estimation 73 4.2.4 Limitations and Obstacles 73 4.2.5 Project Attributes 76 4.2.5.1 The Effect of Organization Type on Development Effort 76 4.2.5.2 The Effect of Development Type on Development Effort 77 x 4.2.5.3 Distribution of Effort in Different Phases 78 4.2.5.4 The Effect of Development Technique on Development Effort 79 4.2.5.5 The Effect of Programming Language on Development Effort 80 4.2.5.6 The Effect of Case Tools on Development Effort 80 4.2.5.7 The Effect of Development Target on Development Effort 81 4.2.6 Investigate the Validation of Hypotheses 5 82 4.2.6.1 Investigation of Hypothesis 1 82 4.2.6.2 Investigation of Hypothesis 2 82 4.2.6.3 Investigation of Hypothesis 3 83 4.2.6.4 Investigation of Hypothesis 4 83 4.2.6.5 Investigation of Hypothesis 5 84 4.2.6.6 Investigation of Hypothesis 6 84 4.2.6.7 Investigation of Hypothesis 7 85 4.2.6.8 Investigation of Hypothesis 8 85 4.2.6.9 Investigation of Hypothesis 9 89 DISCUSSION AND CONCLUSION 92 5.1 Introduction 92 5.2 Discussion on Results 92 5.2.1 Estimation Process 93 5.2.2 Project Attributes 94 5.2.3 Management Indicators 97 5.2.4 Limiations and Obstacles 97 5.2.5 Hypothesis 98 A Comparison between Current Survey and Previous Survey 101 5.4 Thesis Contributions 102 5.5 Future Work 103 5.3 REFERENCES APPENDICES 105 113-124 xi LIST OF TABLES TABLE NO. TITLE PAGE 2.1 Estimation Process in Software Projects 15 2.2 Function Point Components 19 2.3 Comparing LOC and FP metrics 20 2.4 Basic COCOMO coefficients 21 2.5 Intermediate COCOMO effort drivers 22 2.6 Intermediate COCOMO coefficients 23 2.7 Scale factors of COCOMO II 24 2.8 COCOMO II effort drivers 25 3.1 Operational framework 39 3.2 Limitation factors against accurate estimation 51 3.3 Management issues related to estimation which must be investigated 52 3.4 Design of Hypotheses 56 4.1 Distribution of developers in sections of company 65 4.2 The team size of developers 66 4.3 Selection of effort estimation methods 67 4.4 Roles involved in estimation process 68 4.5 Developers’ goals to do effort estimation 69 4.6 Stage of effort estimation 69 4.7 Status of effort estimation 71 4.8 The effect of obstacles on accuracy of estimates 72 4.9 Management indicator for effort estimations 74 4.10 The effect of obstacles on accuracy of estimates 75 4.11 Which organization type leads to more development effort 77 xii 4.12 Which development type leads to more development effort 78 4.13 Which phase needs more effort 78 4.14 Which development technique needs more effort 79 4.15 Non-parametric correlation for Hypothesis 1 82 4.16 Non-parametric correlation for Hypothesis 2 83 4.17 Non-parametric correlation for Hypothesis 3 83 4.18 Non-parametric correlation for Hypothesis 4 84 4.19 Chi Square test for Hypothesis 5 86 4.20 Chi Square test for Hypothesis 6 87 4.21 Chi Square test for Hypothesis 7 88 4.22 Chi Square test for Hypothesis 8 90 4.23 Chi Square test for Hypothesis 9 91 xiii LIST OF FIGURES FIGURE NO. TITLE PAGE 2.1 How does estimation become accurate 16 2.2 Existing software development effort estimation methods 19 2.3 An example of using Delphi 28 2.4 Prior survey-based studies 31 2.5 Publication year of survey-based studies 35 3.1 Research Phases 38 3.2 Research Framework 43 3.3 Scope of Investigation 44 3.4 Investigation indicators 45 3.5 Effort estimation status form 55 3.6 Respondents frequency 57 4.1 Distribution of developers in sections of company 65 4.2 Frequency of respondents located in different team size 66 Importance level of effort estimation from developers’ perspective 70 Satisfaction level of effort estimation from developers’ perspective 71 The effect of organization type on development effort from developers’ perspective 76 The effect of development type on development effort 77 The effect of development technique on development effort 79 The effect of programming language on development effort 80 4.3 4.4 4.5 4.6 4.7 4.8 xiv 4.9 The effect of CASE tools on development effort 81 4.10 The effect of development target on development effort 81 EESF provided for selected Company 104 5.1 xv LIST OF APPENDICES APPENDIX TITLE PAGE A Publications 113 B Effort Estimation Status Questionnaire 114