Book description
Deliver bug-free software projects on schedule and within budget
Get a clear, complete understanding of how to estimate software costs, schedules, and quality using the real-world information contained in this comprehensive volume. Find out how to choose the correct hardware and software tools, develop an appraisal strategy, deploy tests and prototypes, and produce accurate software cost estimates. Plus, you'll get full coverage of cutting-edge estimating approaches using Java, object-oriented methods, and reusable components.
- Plan for and execute project-, phase-, and activity-level cost estimations
- Estimate regression, component, integration, and stress tests
- Compensate for inaccuracies in data collection, calculation, and analysis
- Assess software deliverables and data complexity
- Test design principles and operational characteristics using software prototyping
- Handle configuration change, research, quality control, and documentation costs
"Capers Jones' work offers a unique contribution to the understanding of the economics of software production. It provides deep insights into why our advances in computing are not matched with corresponding improvements in the software that drives it. This book is absolutely required reading for an understanding of the limitations of our technological advances." --Paul A. Strassmann, former CIO of Xerox, the Department of Defense, and NASA
Table of contents
- Cover Page
- Estimating Software Costs
- Copyright Page
- Contents
- Foreword
- Preface
- Acknowledgments
- SECTION 1 INTRODUCTION TO SOFTWARE COST ESTIMATION
-
SECTION 2 PRELIMINARY ESTIMATION METHODS
-
Chapter 6. Manual Software-Estimating Methods
- Rules of Thumb Based on Lines-of-Code Metrics
- Rules of Thumb Based on Ratios and Percentages
- Rules of Thumb Based on Function Point Metrics
- Function Point Sizing Rules of Thumb
- Rules of Thumb for Schedules, Resources, and Costs
- Rules of Thumb Using Activity-Based Cost Analysis
- Summary and Conclusions
- References
-
Chapter 7. Manual Estimating Methods Derived from Agile Projects and New Environments
- Metrics Used for Rules of Thumb
- Rules of Thumb for Manual Software Cost Estimates
- Component-Based Development
- Dynamic System Development Method (DSDM)
- Enterprise Resource Planning (ERP) Deployment
- Extreme Programming (XP)
- International Outsourcing
- Object-Oriented (OO) Development
- Capability Maturity Model (CMM)
- Software Methods with Only Partial Rules of Thumb
- Cleanroom Development
- Crystal Development Approach
- Feature-Driven Development (FDD)
- ISO 9000-9004 Quality Standards
- Iterative or Incremental Development
- Pattern-Based Software Development
- Quality Function Deployment (QFD)
- Rapid Application Development (RAD)
- Scrum
- six-sigma for Software
- Spiral Software Development
- Unified Modeling Language (UML)
- Use Cases for Software Requirements
- Web-Based Applications
- Summary and Conclusions
- References
- Chapter 8. Automated Estimates from Minimal Data
-
Chapter 6. Manual Software-Estimating Methods
-
SECTION 3 SIZING SOFTWARE DELIVERABLES
-
Chapter 9. Sizing Software Deliverables
- General Sizing Logic for Key Deliverables
- Sizing Methods Circa 2007
- Pattern Matching from Historical Data
- Using Historical Data to Predict Growth in Requirements
- Mathematical or Statistical Attempts to Extrapolate Size from Partial Requirements
- Arbitrary Rules of Thumb for Adding Contingency Factors
- Freezing Requirements at Fixed Points in Time
- Producing Formal Cost Estimates Only for Subsets of the Total Application
- Volume of Function Point Data Available
- Software Complexity Analysis
- Software Sizing with Reusable Components
- Overview of the Basic Forms of Software Sizing Metrics
- Source Code Sizing
- Sizing Object-Oriented Software Projects
- Sizing Text-Based Paper Documents
- Sizing Graphics and Illustrations
- Sizing Bugs or Defects
- Sizing Test Cases
- The Event Horizon for Sizing Software Artifacts
- What Is Known as a Result of Sizing Software Projects
- Strengths and Weaknesses of Software Size Metrics
- Summary and Conclusions
- References
-
Chapter 9. Sizing Software Deliverables
- SECTION 4 COST-ESTIMATING ADJUSTMENT FACTORS
-
SECTION 5 ACTIVITY-BASED SOFTWARE COST ESTIMATING
-
Chapter 13. Estimating Software Requirements
- Function Points and Software Requirements
- Primary Topics for Software Requirements
- Secondary Topics for Software Requirements
- Positive and Negative Requirements Adjustment Factors
- Requirements and End-User Software
- Requirements and Agile Applications
- Requirements and Management Information Systems (MIS) Projects
- Requirements and Outsourced Projects
- Requirements and Systems Software
- Requirements and Commercial Software
- Requirements and Military Software Projects
- Requirements and Web-Based Applications
- Evaluating Combinations of Requirements Factors
- References
- Chapter 14. Estimating Software Prototypes
- Chapter 15. Estimating Software Specifications and Design
- Chapter 16. Estimating Design Inspections
-
Chapter 17. Estimating Programming or Coding
- The Impact of Reusability on Programming
- The Impact of Experience on Programming
- The Impact of Bugs or Errors on Programming
- The Impact of Unpaid Overtime on Programming
- The Impact of Creeping Requirements on Programming
- The Impact of Code Structure and Complexity on Programming
- The Impact of Unplanned Interruptions on Programming
- The Impact of Application Size on Programming
- The Impact of Office Space and Ergonomics on Programming
- The Impact of Tools on Programming
- The Impact of Programming Languages on Programming
- The Impact of Schedule Pressure on Programming
- References
- Chapter 18. Estimating Code Inspections
- Chapter 19. Estimating Software Configuration Control and Change Management
-
Chapter 20. Estimating Software Testing
- General Forms of Software Testing
- Specialized Forms of Software Testing
- Forms of Testing Involving Users or Clients
- Number of Testing Stages
- Testing Pattern Variations by Industry and Type of Software
- Testing Pattern Variations by Size of Application
- Testing Stages Noted in Lawsuits Alleging Poor Quality
- Using Function Points to Estimate Test-Case Volumes
- Using Function Points to Estimate the Numbers of Test Personnel
- Testing and Defect-Removal Efficiency Levels
- Using Function Points to Estimate Testing Effort and Costs
- Testing by Developers or by Professional Test Personnel
- Test Case Coverage
- The Factors That Affect Testing Performance
- References
- Chapter 21. Estimating User and Project Documentation
-
Chapter 22. Estimating Software Project Management
- The Roles of Software Project Management
- Project Managers Who Are Also Technical Contributors
- Project Management for Hybrid Projects Involving Hardware and Software
- Project Management and External Schedule Pressures
- Project Management Tools
- Project Management on Large Systems with Many Managers
- Time-Splitting, or Managing Several Projects Simultaneously
- The Span of Control, or Number of Staff Members per Manager
- Managing Multiple Occupation Groups
- The Presence or Absence of Project Offices for Large Systems
- Experience Levels of Software Project Managers
- Quality-Control Methods Selected by Project Managers
- Project Managers and Metrics
- Summary of Project Management Findings
- References
-
Chapter 13. Estimating Software Requirements
-
SECTION 6 MAINTENANCE AND ENHANCEMENT COST ESTIMATING
-
Chapter 23. Maintenance and Enhancement Estimating
- Nominal Default Values for Maintenance and Enhancement Activities
- Metrics and Measurement Problems with Small Maintenance Projects
- Best and Worst Practices in Software Maintenance
- Software Entropy and Total Cost of Ownership
- Installing New Releases and Patches from Software Vendors
- Major Enhancements
- Minor Enhancements
- Maintenance (Defect Repairs)
- Warranty Repairs
- Customer Support
- Economics of Error-Prone Modules
- Mandatory Changes
- Complexity Analysis
- Code Restructuring and Refactoring
- Performance Optimization
- Migration Across Platforms
- Conversion to New Architectures
- Reverse Engineering
- Re-engineering
- Dead Code Removal
- Dormant Application Removal
- Nationalization
- Mass Update Projects
- Retirement or Withdrawal of Applications
- Field Service
- Combinations and Concurrent Maintenance Operations
- References
-
Chapter 24. Software Cost-Estimating Research Issues
- Metrics Conversion
- Automatic Sizing from User Requirements
- Activity-Based Costs for Agile, Object-Oriented, and Web Projects
- Complexity Analysis of Software Applications
- Value Analysis of Software Applications
- Risk Analysis and Software Cost Estimates
- Including Specialists in Software Cost Estimates
- Reuse Analysis and Software Cost Estimates
- Process Improvement Estimation
- Methodology Analysis and Software Cost Estimating
- Summary and Conclusions About Software Cost-Estimating Research
-
Chapter 23. Maintenance and Enhancement Estimating
- Index
Product information
- Title: Estimating Software Costs, 2nd Edition
- Author(s):
- Release date: May 2007
- Publisher(s): McGraw-Hill
- ISBN: 9780071776790
You might also like
book
Estimating Software-Intensive Systems: Projects, Products, and Processes
Many software projects fail because their leaders don't know how to estimate, schedule, or measure them …
book
Practical Software Estimation: Function Point Methods for Insourced and Outsourced Projects
"A clearly written book that is a useful primer for a very complicated set of topics." …
book
Classification, Parameter Estimation and State Estimation, 2nd Edition
A practical introduction to intelligent computer vision theory, design, implementation, and technology The past decade has …
book
Applied Software Measurement, 3rd Edition
Effectively forecast, manage, and control software across the entire project lifecycle Accurately size, estimate, and administer …