Estimating software costs : bringing realism to estimating /
"Deliver software projects on time and within budget. This fully updated and expanded volume provides cost-estimating methods for projects using modern technologies including Java, object-oriented methods, and reusable components. Written by a pioneer and leading authority in the field of softw...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
New York :
McGraw-Hill Companies,
©2007.
|
Edición: | 2nd ed. |
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- How Software Cost-Estimating Tools Work 4
- Cautions About Accidental Omissions from Estimates 15
- Software Cost Estimating and Other Development Activities 17
- Chapter 2 The Origins of Software Cost Estimation 23
- The Early History of Software Cost Estimation 24
- The Expansion and Use of Functional Metrics for Software Cost Estimating 28
- Chapter 3 Six Forms of Software Cost Estimation 33
- Overview of Manual Software-Estimating Methods 34
- Overview of Automated Software-Estimating Methods 36
- Comparison of Manual and Automated Estimates for Large Software Projects 48
- Chapter 4 Software Cost-Estimating Tools and Project Success and Failure Rates 53
- Probabilities of Software Project Success or Failure 55
- Chapter 5 Sources of Error in Software Cost Estimation 61
- Judging the Accuracy of Software Cost Estimates 65
- Classes of Software Estimation Errors 68
- Section 2 Preliminary Estimation Methods
- Chapter 6 Manual Software-Estimating Methods 91
- Rules of Thumb Based on Lines-of-Code Metrics 92
- Rules of Thumb Based on Ratios and Percentages 95
- Rules of Thumb Based on Function Point Metrics 99
- Function Point Sizing Rules of Thumb 102
- Rules of Thumb for Schedules, Resources, and Costs 117
- Rules of Thumb Using Activity-Based Cost Analysis 121
- Chapter 7 Manual Estimating Methods Derived from Agile Projects and New Environments 131
- Metrics Used for Rules of Thumb 135
- Rules of Thumb for Manual Software Cost Estimates 140
- Component-Based Development 143
- Dynamic System Development Method (DSDM) 146
- Enterprise Resource Planning (ERP) Deployment 148
- Extreme Programming (XP) 152
- International Outsourcing 155
- Object-Oriented (OO) Development 159
- Capability Maturity Model (CMM) 162
- Software Methods with Only Partial Rules of Thumb 167
- Cleanroom Development 167
- Crystal Development Approach 168
- Feature-Driven Development (FDD) 168
- ISO 9000-9004 Quality Standards 169
- Iterative or Incremental Development 169
- Pattern-Based Software Development 171
- Quality Function Deployment (QFD) 174
- Rapid Application Development (RAD) 175
- Scrum 176
- Six-sigma for Software 177
- Spiral Software Development 179
- Unified Modeling Language (UML) 180
- Use Cases for Software Requirements 181
- Web-Based Applications 183
- Chapter 8 Automated Estimates from Minimal Data 189
- Stage 1 Recording Administrative and Project Information 190
- Stage 2 Preliminary Sizing of Key Deliverables 203
- Stage 3 Producing a Preliminary Cost Estimate 219
- Section 3 Sizing Software Deliverables
- Chapter 9 Sizing Software Deliverables 229
- General Sizing Logic for Key Deliverables 229
- Sizing Methods Circa 2007 230
- Pattern Matching from Historical Data 232
- Using Historical Data to Predict Growth in Requirements 233
- Mathematical or Statistical Attempts to Extrapolate Size from Partial Requirements 234
- Arbitrary Rules of Thumb for Adding Contingency Factors 235
- Freezing Requirements at Fixed Points in Time 236
- Producing Formal Cost Estimates Only for Subsets of the Total Application 237
- Volume of Function Point Data Available 245
- Software Complexity Analysis 247
- Software Sizing with Reusable Components 258
- Overview of the Basic Forms of Software Sizing Metrics 260
- Source Code Sizing 269
- Sizing Object-Oriented Software Projects 275
- Sizing Text-Based Paper Documents 277
- Sizing Graphics and Illustrations 283
- Sizing Bugs or Defects 286
- Sizing Test Cases 293
- The Event Horizon for Sizing Software Artifacts 295
- What Is Known as a Result of Sizing Software Projects 297
- Strengths and Weaknesses of Software Size Metrics 299
- Section 4 Cost-Estimating Adjustment Factors
- Chapter 10 Compensation and Work-Pattern Adjustments 307
- Manual and Automated Methods of Adjustment 308
- Exclusions from Normal Software Cost Estimates 310
- Setting Up the Initial Conditions for a Cost Estimate 313
- Variations in Burden Rates or Overhead Costs 316
- Variations in Work Habits and Unpaid Overtime 318
- Chapter 11 Activity Pattern Adjustment Factors 325
- Twenty Five Common Activities for Software Projects 326
- Chapter 12 Software Technology Adjustment Factors 335
- Adjustment Factors and Macro-Estimation Tools 336
- Factors That Influence Software Development Productivity 340
- Factors That Influence Software Maintenance Productivity 343
- Patterns of Positive and Negative Factors 345
- Adjustment Factors and Micro-Estimating Tools 347
- Section 5 Activity-Based Software Cost Estimating
- Chapter 13 Estimating Software Requirements 367
- Function Points and Software Requirements 374
- Primary Topics for Software Requirements 381
- Secondary Topics for Software Requirements 382
- Positive and Negative Requirements Adjustment Factors 383
- Requirements and End-User Software 386
- Requirements and Agile Applications 386
- Requirements and Management Information Systems (MIS) Projects 386
- Requirements and Outsourced Projects 387
- Requirements and Systems Software 387
- Requirements and Commercial Software 388
- Requirements and Military Software Projects 389
- Requirements and Web-Based Applications 390
- Evaluating Combinations of Requirements Factors 390
- Chapter 14 Estimating Software Prototypes 395
- Disposable Prototypes 398
- Time box Prototypes 398
- Evolutionary Prototypes 400
- Default Values for Estimating Disposable Prototypes 402
- Positive and Negative Factors That Influence Software Prototypes 404
- Chapter 15 Estimating Software Specifications and Design 409
- Positive Design Adjustment Factors 414
- Negative Design Adjustment Factors 415
- Chapter 16 Estimating Design Inspections 421
- Inspection Literature 421
- Inspection Process 423
- Value of Inspections 426
- Chapter 17 Estimating Programming or Coding 435
- The Impact of Reusability on Programming 442
- The Impact of Experience on Programming 444
- The Impact of Bugs or Errors on Programming 444
- The Impact of Unpaid Overtime on Programming 446
- The Impact of Creeping Requirements on Programming 448
- The Impact of Code Structure and Complexity on Programming 449
- The Impact of Unplanned Interruptions on Programming 450
- The Impact of Application Size on Programming 451
- The Impact of Office Space and Ergonomics on Programming 452
- The Impact of Tools on Programming 454
- The Impact of Programming Languages on Programming 455
- The Impact of Schedule Pressure on Programming 459
- Chapter 18 Estimating Code Inspections 461
- Code Inspection Literature 461
- Effectiveness of Code Inspections 462
- Considerations for Estimating Code Inspections 466
- Chapter 19 Estimating Software Configuration Control and Change Management 471
- The Literature on Change Management 473
- Measuring Software Change 475
- Changes in User Requirements 479
- Changes in Specifications and Design 480
- Changes Due to Bugs or Defect Reports 481
- Chapter 20 Estimating Software Testing 485
- General Forms of Software Testing 491
- Specialized Forms of Software Testing 495
- Forms of Testing Involving Users or Clients 498
- Number of Testing Stages 499
- Testing Pattern Variations by Industry and Type of Software 501
- Testing Pattern Variations by Size of Application 503
- Testing Stages Noted in Lawsuits Alleging Poor Quality 504
- Using Function Points to Estimate Test-Case Volumes 505
- Using Function Points to Estimate the Numbers of Test Personnel 507
- Testing and Defect-Removal Efficiency Levels 508
- Using Function Points to Estimate Testing Effort and Costs 510
- Testing by Developers or by Professional Test Personnel 512
- Test Case Coverage 514
- The Factors That Affect Testing Performance 514
- Chapter 21 Estimating User and Project Documentation 519
- Estimating Tools and Software Documentation 521
- Quantifying the Number and Sizes of Software Document Types 523
- Software Documentation Tools on Lagging and Leading Projects 527
- Chapter 22 Estimating Software Project Management 531
- The Roles of Software Project Management 535
- Project
- Managers Who Are Also Technical Contributors 537
- Project Management for Hybrid Projects Involving Hardware and Software 538
- Project Management and External Schedule Pressures 538
- Project Management Tools 539
- Project Management on Large Systems with Many Managers 542
- Time-Splitting, or Managing Several Projects Simultaneously 544
- The Span of Control, or Number of Staff Members per Manager 545
- Managing Multiple Occupation Groups 546
- The Presence or Absence of Project Offices for Large Systems 548
- Experience Levels of Software Project Managers 549
- Quality-Control Methods Selected by Project Managers 550
- Project Managers and Metrics 551
- Summary of Project Management Findings 551
- Section 6 Maintenance and Enhancement Cost Estimating
- Chapter 23 Maintenance and Enhancement Estimating 557
- Nominal Default Values for Maintenance and Enhancement Activities 562
- Metrics and Measurement Problems with Small Maintenance Projects 566
- Best and Worst Practices in Software Maintenance 567
- Software Entropy and Total Cost of Ownership 570
- Installing New Releases and Patches from Software Vendors 572
- Major Enhancements 573
- Minor Enhancements 574
- Maintenance (Defect Repairs) 576
- Warranty Repairs 581
- Customer Support 581
- Economics of Error-Prone Modules 582
- Mandatory Changes 584
- Complexity Analysis 585
- Code Restructuring and Refactoring 586.