Practical Software Estimation Function Point Methods for Insourced and Outsourced Projects

  • ISBN13:


  • ISBN10:


  • Edition: 1st
  • Format: Paperback
  • Copyright: 2007-02-26
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $49.99 Save up to $2.00
  • eBook
    Add to Cart


Supplemental Materials

What is included with this book?

  • The eBook copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


"A clearly written book that is a useful primer for a very complicated set of topics." --Capers Jones, Chief Scientist Emeritus, Software Productivity Research LLC Practical Software Estimationbrings together today's most valuable tips, techniques, and best practices for accurately estimating software project efforts, costs, and schedules. Written by a leading expert in the field, it addresses the full spectrum of real-world challenges faced by those who must develop reliable estimates. M. A. Parthasarathy draws on the immense experience of Infosys, one of the world's largest and most respected providers of IT-enabled business solutions, to bring you the only book with detailed guidance on estimating insourced and outsourced software projects, as well as projects that blend both approaches. He demonstrates how to successfully utilize Function Point (FP) methods, the industry's leading estimation model. Then, using real case studies, he systematically identifies pitfalls that can lead to inaccurate estimates--and offers proven solutions. Coverage includes How to estimate all types of software projects, including "fresh" development, reengineering, and maintenance How to incorporate the impact of core project elements on estimates: scope, environment, experience, and tools FP analysis from start to finish: data and transaction functions, general system characteristics, and more FP methods for any platform or business function Innovative re-estimation methods to track progress How to quote RFPs and prepare contracts: fixed price, time/material, and project execution lifecycle models Alternatives to FP: Delphi, COCOMO II, and COSMIC-FFP How to choose the right estimation tools Practical Software Estimationis the definitive reference for anyone who must estimate software projects accurately: project and IT managers, individual developers, system designers, architects, executives, consultants, and outsourcers alike. List of Figures List of Tables Foreword Preface Acknowledgments Chapter 1: Introduction Chapter 2: Role of Estimation in Software Projects Chapter 3: A Study of Function Point Analysis Chapter 4: Data Functions Chapter 5: Transactional Functions Chapter 6: General System Characteristics Chapter 7: Size, Effort, and Scheduling of Projects Chapter 8: Estimation Flavors Chapter 9: A Sense of Where You Are Chapter 10: Tips, Tricks, and Traps Chapter 11: Insourcing versus Outsourcing Chapter 12: Key Factors in Software Contracts Chapter 13: Project Estimation and Costing Chapter 14: Other Estimation Methods Chapter 15: Estimation Tools Chapter 16: Estimation Case Study Appendix A: Reference Tables: Transaction Function Counts Appendix B: Reference Tables: Data Function Points Bibliography Index

Author Biography

M. A. Parthasarathy, Associate Vice President at Infosys Technologies Ltd., has been actively involved in software development and delivery for more than twenty years. Parthasarathy heads the Outsourcing Academy under the Strategic Global Sourcing unit, and plays an active role in setting Infosys estimation strategies, supporting their deployment, and conducting estimation-related training. A Certified Quality Analyst (QAI), he has twice been honored with the prestigious Infosys Excellence Award.

Table of Contents

List of Figuresp. xvii
List of Tablesp. xix
Forewordp. xxv
Prefacep. xxvii
Acknowledgmentsp. xxxiii
Introductionp. 1
What Is Software Estimation?p. 1
Ingredients of a Good Estimationp. 6
Software Project Estimationp. 8
Continuous Improvement Cyclep. 12
Why Software Estimation?p. 15
Estimation--Who and Howp. 19
Conclusionp. 21
Referencesp. 22
Other Interesting Reading Materialp. 23
Role of Estimation in Software Projectsp. 25
Software Projects and Estimationp. 25
Estimation and Measurementp. 31
Large Application Systemsp. 40
Conclusionp. 42
Referencesp. 43
Other Interesting Reading Materialp. 43
A Study of Function Point Analysisp. 45
Why Estimation?p. 45
Function Pointsp. 47
Function Point Analysisp. 51
Conclusionp. 70
Referencesp. 72
Data Functionsp. 73
Introductionp. 73
Definition of Filesp. 74
Data Functions Defined by IFPUGp. 75
Conclusionp. 95
Referencesp. 96
Other Interesting Reading Materialp. 96
Transactional Functionsp. 97
Introductionp. 97
Definition of Transactionsp. 98
Albrecht's Definition of Transactionsp. 100
Transactional Functions Defined by IFPUGp. 102
EI, EO, and EQp. 104
Complexity and FP Count Contributionsp. 111
Invoice System--FP Counting Processp. 116
Conclusionp. 118
Referencesp. 119
Other Interesting Reading Materialp. 119
General System Characteristicsp. 121
Introductionp. 121
Functional and Non-Functional Requirementsp. 122
Introduction to General System Characteristicsp. 123
Guidelines for General System Characteristicsp. 125
GSC and NFRp. 137
Conclusionp. 146
Referencesp. 147
Other Interesting Reading Materialp. 147
Size, Effort, and Scheduling of Projectsp. 149
Importance of Sizep. 149
Inputs to Sizingp. 155
Impact of Delivery Ratep. 159
Effort and Schedulep. 163
Conclusionp. 167
Referencesp. 168
Other Interesting Reading Materialp. 169
Estimation Flavorsp. 171
Change Foreverp. 171
Development Projectsp. 173
Reengineering Projectsp. 177
Migration Projectsp. 182
Maintenance Projectsp. 183
Conclusionp. 192
Referencesp. 192
A Sense of Where You Are 193On the Right Track, On Timep. 193
Pervasive Estimationsp. 196
Agile Software Projectsp. 199
Estimation Maturityp. 208
Conclusionp. 211
Referencesp. 212
Other Interesting Reading Materialp. 213
Tips, Tricks, and Trapsp. 215
Introductionp. 215
Tricksp. 221
Trapsp. 225
Conclusionp. 230
Referencesp. 231
Other Interesting Reading Materialp. 231
Insourcing versus Outsourcingp. 233
Introductionp. 233
Environment--The Differentiatorp. 234
Estimation Approachp. 239
Insourcing versus Outsourcing: Pros and Consp. 242
Conclusionp. 247
Referencesp. 247
Key Factors in Software Contracts 249
Introductionp. 249
Types of Contractsp. 250
Project Execution Methodsp. 257
Conclusionp. 263
Referencesp. 263
Project Estimation and Costingp. 265
Introductionp. 265
Project Lifecycle Phases and Costp. 266
Estimation and TCOp. 272
Conclusionp. 274
Other Interesting Reading Materialp. 275
Other Estimation Methodsp. 277
Introductionp. 277
Estimation Methodsp. 277
Heuristic Approachp. 279
Parametric Approachp. 285
Estimation Models Pros and Consp. 291
Conclusionp. 294
Referencesp. 294
Other Interesting Reading Materialp. 295
Estimation Toolsp. 297
Why Use Tools?p. 297
List of Toolsp. 302
Conclusionp. 305
Referencesp. 306
Other Interesting Reading Materialp. 306
Estimation Case Studyp. 307
Introductionp. 307
Case Study: 1--Invoicing Systemp. 312
Case Study 2: Enhanced Invoicing SystemCase Studyp. 350
Conclusionp. 359
Table of Contents provided by Publisher. All Rights Reserved.


I never imagined that writing a book would be such an exhausting but exciting experience. Originally I only had a mental picture of how the book would evolve, with certain key aspects of software estimation I intended to write down. But as the chapters unfolded one after another, the thoughts poured out more freely. The difficult part was organizing the thoughts into a structured way of presentation, adding tables and diagrams to enhance the enumeration, and tying up other loose ends to make the whole discussion complete in all respects (almost all). I hope I have been successful in doing this. Although I had fairly deep knowledge and experience in software estimation techniques from my early years as an IT professional, it was at Infosys that I had the extraordinary experience of doing a deep dive into a huge variety of estimation-related interactions. Having personally trained more than 500 software professionals at Infosys on Function Points and other estimations methods, the amount of knowledge I acquired during these sessions was huge. Added to this was the visibility I gained as an estimation expert, which brought another storehouse of enriched knowledge. This enrichment happened through a regular stream of queries and issues that the project managers, programmers, and architects brought to me. Analyzing and solving these issues was exciting, although challenging. But the biggest benefit was to me, that of improving my estimation skills. Every situation was unique and needed interpretation and application of a variant of standard estimation methods. IT professionals who have been working with large outsourcing organizations similar to Infosys across the globe have likely experienced a fairly wide variety of project execution situations during their service. The experience takes various forms, including project execution, technical challenges, customer interactions, testing and debugging issues, and to some extent estimation-related challenges. I have been quite fortunate to have received the maximum experience of estimation-related challenges across a wide variety of projects, either directly or through issues and challenges posed to me by project teams. It is this experience that I have hoped to put together in the form of this book and share with a global community of IT professionals. Quite frequently I have seen IT professionals in need of assistance to arrive at a good estimation figure for a complex or unique project. I have tried to provide that assistance, realistically and practically, throughout this book. I would receive the ultimate satisfaction from knowing that IT professionals have been able to resolve the majority of estimation-related issues through the examples and instruction in this book! Layout of Chapters Having been actively involved in software project management and software estimation-related activities for a long time, direct interaction with software project managers, architects, and programmers was among the many benefits I received. The layout of the chapters of this book has been designed to start with general software estimation topics, including an introduction to basic estimation concepts, followed by a discussion of the function point estimation method and, finally, in later chapters, coverage of a variety of other software project estimation needs. Chapter 1, "Introduction," has been written as an introduction to estimation concepts for project managers and programmers who have had very little exposure to estimation principles and the ingredients that constitute estimation. This chapter broadly covers basic aspects of how estimations are done in different project execution situations and how these estimates can be refined through continuous improvement cycles. Chapter 2, "Role of Estimation in Software Projects," takes you forward toward establishing a link between estimation and software project execution. The intention is to explain vari

Rewards Program

Write a Review