Software Project Estimation
The Fundamentals for Providing High Quality Information to Decision Makers
Häftad, Engelska, 2015
Av Alain Abran
1 339 kr
Beställningsvara. Skickas inom 7-10 vardagar
Fri frakt för medlemmar vid köp för minst 249 kr.This book introduces theoretical concepts to explain the fundamentals of the design and evaluation of software estimation models. It provides software professionals with vital information on the best software management software out there. End-of-chapter exercisesOver 100 figures illustrating the concepts presented throughout the bookExamples incorporated with industry data
Produktinformation
- Utgivningsdatum2015-04-13
- Mått155 x 236 x 15 mm
- Vikt408 g
- FormatHäftad
- SpråkEngelska
- Antal sidor288
- FörlagJohn Wiley & Sons Inc
- ISBN9781118954089
Tillhör följande kategorier
Alain Abran, PhD, is a Professor and the Director of the Software Engineering Research Laboratory at Université du Québec, Canada. He is also Co-Chair of the Common Software Measurement International Consortium. He was the international secretary for ISO/IEC JTC1 SC7. Dr. Abran has over 20 years of industry experience in information systems development and software engineering.
- Foreword xiiiOverview xviiAcknowledgments xxiiiAbout the Author xxvPart One Understanding the Estimation Process 11. The Estimation Process: Phases and Roles 31.1. Introduction 31.2. Generic Approaches in Estimation Models: Judgment or Engineering? 41.2.1. Practitioner’s Approach: Judgment and Craftsmanship 41.2.2. Engineering Approach: Modest–One Variable at a Time 51.3. Overview of Software Project Estimation and Current Practices 61.3.1. Overview of an Estimation Process 61.3.2. Poor Estimation Practices 71.3.3. Examples of Poor Estimation Practices 91.3.4. The Reality: A Tally of Failures 101.4. Levels of Uncertainty in an Estimation Process 111.4.1. The Cone of Uncertainty 111.4.2. Uncertainty in a Productivity Model 121.5. Productivity Models 141.6. The Estimation Process 161.6.1. The Context of the Estimation Process 161.6.2. The Foundation: The Productivity Model 171.6.3. The Full Estimation Process 181.7. Budgeting and Estimating: Roles and Responsibilities 231.7.1. Project Budgeting: Levels of Responsibility 231.7.2. The Estimator 251.7.3. The Manager (Decision-Taker and Overseer) 251.8. Pricing Strategies 271.8.1. Customers-Suppliers: The Risk Transfer Game in Estimation 281.9. Summary – Estimating Process, Roles, and Responsibilities 28Exercises 30Term Assignments 312. Engineering and Economics Concepts for Understanding Software Process Performance 322.1. Introduction: The Production (Development) Process 322.2. The Engineering (and Management) Perspective on a Production Process 342.3. Simple Quantitative Process Models 362.3.1. Productivity Ratio 362.3.2. Unit Effort (or Unit Cost) Ratio 382.3.3. Averages 392.3.4. Linear and Non-Linear Models 422.4. Quantitative Models and Economics Concepts 452.4.1. Fixed and Variable Costs 452.4.2. Economies and Diseconomies of Scale 482.5. Software Engineering Datasets and Their Distribution 492.5.1. Wedge-Shaped Datasets 492.5.2. Homogeneous Datasets 502.6. Productivity Models: Explicit and Implicit Variables 522.7. A Single and Universal Catch-All Multidimensional Model or Multiple Simpler Models? 542.7.1. Models Built from Available Data 552.7.2. Models Built on Opinions on Cost Drivers 552.7.3. Multiple Models with Coexisting Economies and Diseconomies of Scale 56Exercises 58Term Assignments 593. Project Scenarios, Budgeting, and Contingency Planning 603.1. Introduction 603.2. Project Scenarios for Estimation Purposes 613.3. Probability of Underestimation and Contingency Funds 653.4. A Contingency Example for a Single Project 673.5. Managing Contingency Funds at the Portfolio Level 693.6. Managerial Prerogatives: An Example in the AGILE Context 693.7. Summary 71Further Reading: A Simulation for Budgeting at the Portfolio Level 71Exercises 74Term Assignments 75Part Two Estimation Process: What Must be Verified? 774. What Must be Verified in an Estimation Process: An Overview 794.1. Introduction 794.2. Verification of the Direct Inputs to An Estimation Process 814.2.1. Identification of the Estimation Inputs 814.2.2. Documenting the Quality of These Inputs 824.3. Verification of the Productivity Model 844.3.1. In-House Productivity Models 844.3.2. Externally Provided Models 854.4. Verification of the Adjustment Phase 864.5. Verification of the Budgeting Phase 874.6. Re-Estimation and Continuous Improvement to the Full Estimation Process 88Further Reading: The Estimation Verification Report 89Exercises 92Term Assignments 935. Verification of the Dataset Used to Build the Models 945.1. Introduction 945.2. Verification of DIRECT Inputs 965.2.1. Verification of the Data Definitions and Data Quality 965.2.2. Importance of the Verification of the Measurement Scale Type 975.3. Graphical Analysis – One-Dimensional 1005.4. Analysis of the Distribution of the Input Variables 1025.4.1. Identification of a Normal (Gaussian) Distribution 1025.4.2. Identification of Outliers: One-Dimensional Representation 1035.4.3. Log Transformation 1075.5. Graphical Analysis – Two-Dimensional 1085.6. Size Inputs Derived from a Conversion Formula 1115.7. Summary 112Further Reading: Measurement and Quantification 113Exercises 116Term Assignments 117Exercises–Further Reading Section 117Term Assignments–Further Reading Section 1186. Verification of Productivity Models 1196.1. Introduction 1196.2. Criteria Describing the Relationships Across Variables 1206.2.1. Simple Criteria 1206.2.2. Practical Interpretation of Criteria Values 1226.2.3. More Advanced Criteria 1246.3. Verification of the Assumptions of the Models 1256.3.1. Three Key Conditions Often Required 1256.3.2. Sample Size 1266.4. Evaluation of Models by Their Own Builders 1276.5. Models Already Built–Should You Trust Them? 1286.5.1. Independent Evaluations: Small-Scale Replication Studies 1286.5.2. Large-Scale Replication Studies 1296.6. Lessons Learned: Distinct Models by Size Range 1336.6.1. In Practice, Which is the Better Model? 1386.7. Summary 138Exercises 139Term Assignments 1397. Verification of the Adjustment Phase 1417.1. Introduction 1417.2. Adjustment Phase in the Estimation Process 1427.2.1. Adjusting the Estimation Ranges 1427.2.2. The Adjustment Phase in the Decision-Making Process: Identifying Scenarios for Managers 1447.3. The Bundled Approach in Current Practices 1457.3.1. Overall Approach 1457.3.2. Detailed Approach for Combining the Impact of Multiple Cost Drivers in Current Models 1467.3.3. Selecting and Categorizing Each Adjustment: The Transformation of Nominal Scale Cost Drivers intoNumbers 1477.4. Cost Drivers as Estimation Submodels! 1487.4.1. Cost Drivers as Step Functions 1487.4.2. Step Function Estimation Submodels with Unknown Error Ranges 1497.5. Uncertainty and Error Propagation 1517.5.1. Error Propagation in Mathematical Formulas 1517.5.2. The Relevance of Error Propagation in Models 153Exercises 156Term Assignments 157Part Three Building Estimation Models: Data Collection and Analysis 1598. Data Collection and Industry Standards: The ISBSG Repository 1618.1. Introduction: Data Collection Requirements 1618.2. The International Software Benchmarking Standards Group 1638.2.1. The ISBSG Organization 1638.2.2. The ISBSG Repository 1648.3. ISBSG Data Collection Procedures 1658.3.1. The Data Collection Questionnaire 1658.3.2. ISBSG Data Definitions 1678.4. Completed ISBSG Individual Project Benchmarking Reports: Some Examples 1708.5. Preparing to Use the ISBSG Repository 1738.5.1. ISBSG Data Extract 1738.5.2. Data Preparation: Quality of the Data Collected 1738.5.3. Missing Data: An Example with Effort Data 175Further Reading 1: Benchmarking Types 177Further Reading 2: Detailed Structure of the ISBSG Data Extract 179Exercises 183Term Assignments 1839. Building and Evaluating Single Variable Models 1859.1. Introduction 1859.2. Modestly, One Variable at a Time 1869.2.1. The Key Independent Variable: Software Size 1869.2.2. Analysis of the Work–Effort Relationship in a Sample 1889.3. Data Preparation 1899.3.1. Descriptive Analysis 1899.3.2. Identifying Relevant Samples and Outliers 1899.4. Analysis of the Quality and Constraints of Models 1939.4.1. Small Projects 1959.4.2. Larger Projects 1959.4.3. Implication for Practitioners 1959.5. Other Models by Programming Language 1969.6. Summary 202Exercises 203Term Assignments 20310. Building Models with Categorical Variables 20510.1. Introduction 20510.2. The Available Dataset 20610.3. Initial Model with a Single Independent Variable 20810.3.1. Simple Linear Regression Model with Functional Size Only 20810.3.2. Nonlinear Regression Models with Functional Size 20810.4. Regression Models with Two Independent Variables 21010.4.1. Multiple Regression Models with Two Independent Quantitative Variables 21010.4.2. Multiple Regression Models with a Categorical Variable: Project Difficulty 21010.4.3. The Interaction of Independent Variables 215Exercises 216Term Assignments 21711. Contribution of Productivity Extremes in Estimation 21811.1. Introduction 21811.2. Identification of Productivity Extremes 21911.3. Investigation of Productivity Extremes 22011.3.1. Projects with Very Low Unit Effort 22111.3.2. Projects with Very High Unit Effort 22211.4. Lessons Learned for Estimation Purposes 224Exercises 225Term Assignments 22512. Multiple Models from a Single Dataset 22712.1. Introduction 22712.2. Low and High Sensitivity to Functional Size Increases: Multiple Models 22812.3. The Empirical Study 23012.3.1. Context 23012.3.2. Data Collection Procedures 23112.3.3. Data Quality Controls 23112.4. Descriptive Analysis 23112.4.1. Project Characteristics 23112.4.2. Documentation Quality and Its Impact on Functional Size Quality 23312.4.3. Unit Effort (in Hours) 23412.5. Productivity Analysis 23412.5.1. Single Model with the Full Dataset 23412.5.2. Model of the Least Productive Projects 23512.5.3. Model of the Most Productive Projects 23712.6. External Benchmarking with the ISBSG Repository 23812.6.1. Project Selection Criteria and Samples 23812.6.2. External Benchmarking Analysis 23912.6.3. Further Considerations 24012.7. Identification of the Adjustment Factors for Model Selection 24112.7.1. Projects with the Highest Productivity (i.e., the Lowest Unit Effort) 24112.7.2. Lessons Learned 242Exercises 243Term Assignments 24313. Re-Estimation: A Recovery Effort Model 24413.1. Introduction 24413.2. The Need for Re-Estimation and Related Issues 24513.3. The Recovery Effort Model 24613.3.1. Key Concepts 24613.3.2. Ramp-Up Process Losses 24713.4. A Recovery Model When a Re-Estimation Need is Recognized at Time T > 0 24813.4.1. Summary of Recovery Variables 24813.4.2. A Mathematical Model of a Recovery Course in Re-Estimation 24813.4.3. Probability of Underestimation −p(u) 24913.4.4. Probability of Acknowledging the Underestimation on a Given Month −p(t) 250Exercises 251Term Assignments 251References 253Index 257