Cargando…

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...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Jones, Capers
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.