SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This is the first in-depth software measurement guide focused entirely on the #1 technique for evaluating software productivity and quality: function point analysis. Written for both seasoned practitioners and newcomers, it reflects the latest standards defined by the International Function Point User Group (IFPUG), and presents realistic techniques for analyzing any type of software -- including graphical, object-oriented, Web and client/server applications. It also offers comprehensive preparation for the IFPUG CFPS certification exam. Coverage includes: all rules and guidelines prescribed by IFPUG's Counting Practices Manual 4.1; practical guidance on baselining and estimating; advanced counting techniques for contemporary distributed development environments; and using function point data to manage software development more effectively. The book presents extensive examples, case studies, and scenarios, and reviews repository and estimating tools that can streamline function point analysis. For every IT manager, project manager, software developer and engineer, and for any professional concerned with the measurement of software quality and productivity.
Estimating Software Earlier and More Accurately
Function Points: Their Use in Software Development and Maintenance
Measuring with Function Points
Foreword.
Preface.
Introduction.
Basic Counting Rules.
Advanced Counting.
Preparing for Certification.
What's Different?
Software Measurement.
Function Points and the Executive.
Function Point Utilization.
Automation.
Industry Benchmarking Data.
The International Function Point Users Group.
Introduction.
The Need for Software Measurement.
Basic Software Measurement Elements.
Software Measurement Model: Quantitative and Qualitative Elements.
World-Class Measurement Program.
Entry Level.
Basic Level.
Industry Leader Level.
World-Class Level.
Establishing a World-Class Measurement Program.
Discovery Phase.
Gap Analysis Phase.
Summary.
Introduction.
Historical Perspective.
Balanced Scorecard.
Return on Investment.
Unit of Work.
Function Points.
Defining Value.
Time to Market.
Accountability.
Summary.
Introduction.
Function Points in the Lifecycle.
Function Point Measures.
Productivity.
Quality.
Financial.
Maintenance.
Using Function Point Measurement Data Effectively.
Developing a Measurement Profile.
Available Industry Comparisons.
Summary.
Introduction.
Project Manager Level: Estimating Software Projects.
Using Function Points.
IT Management Level: Establishing Performance Benchmarks.
Industry Best Practices.
Organization Level: Establishing Service-Level Measures.
Project and Application Outsourcing.
Maintenance Outsourcing.
AD/M Outsourcing.
Summary.
Introduction.
How IT Is Using Industry Data.
Benchmarking. Concerns with Industry Data.
Representativeness.
Consistency.
Standard Definitions.
What Role Do Function Points Play?
Sources of Industry Data.
The Gartner Group.
META Group.
Rubin Systems, Inc.
Software Productivity Research.
ISBSG.
Compass America.
The David Consulting Group.
The Benchmarking Exchange.
Hackett Benchmarking & Research.
Hope for the Future.
Summary.
Introduction.
The Function Point Counting Process.
The Process Used to Size Function Points.
Types of Counts.
Identifying the Counting Scope and the Application Boundary.
Summary.
Introduction.
Data Functions.
Internal Logical Files.
External Interface Files.
Complexity and Contribution: ILFs and EIFs.
An Example of Counting ILFs and EIFs.
Summary.
Introduction.
Transactional Functions.
External Inputs.
Complexity and Contribution: EIs.
An Example of Counting EIs.
External Outputs.
Complexity and Contribution: EOs.
An Example of Counting EOs.
External Inquiries.
Complexity and Contribution: EQs.
An Example of Counting EQs.
Summary.
Introduction.
The Process.
General System Characteristics.
1. Data Communications.
2. Distributed Data Processing.
3. Performance.
4. Heavily Used Configuration.
5. Transaction Rate.
6. Online Data Entry.
7. End User Efficiency.
8. Online Update.
9. Complex Processing.
10. Reusability.
11. Installation Ease.
12. Operational Ease.
13. Multiple Sites.
14. Facilitate Change.
Value Adjustment Factor.
Summary.
Introduction.
Final Adjusted Function Point Count.
Counting a Catalog Business: An Example.
Function Point Calculations and Formulas.
Development Project Function Point Count.
Enhancement Project Function Point Count.
Application Function Point Count.
Summary.
Introduction.
Three Case Studies.
Problem A.
Problem B.
Problem C.
Answers to the Three Case Studies.
A Short Case Study in Project Management.
The Problem.
Answers.
A Function Point Counting Exercise in Early Definition.
The Problem.
Answers.
Introduction.
Object-Oriented Analysis.
Client-Server Applications.
Application Boundary.
Data Functions.
Technical Features.
Transactional Functions.
Web-Based Applications.
Application Boundary.
Functionality of Web-Based Applications.
Data Warehouse Applications.
Functionality of Data Warehouse Applications.
Concerns about Productivity Rates for Data Warehouse Applications.
Query/Report Generators.
Data Functionality.
Transactional Functionality.
Summary.
Introduction.
Counting GUI Functionality.
GUI Counting Guidelines.
Exercise in Counting a GUI System.
1. Determine the Type of Function Point Count.
2. Identify the Counting Scope and the Application Boundary.
3 and 4. Identify All Data and Transactional Functions and Their Complexity.
5. Determine the Unadjusted Function Point Count.
6. Determine the Value Adjustment Factor.
7. Calculate the Final Adjusted Function Point Count.
Introduction.
Functional Description of Personnel Query Service.
Starting Personnel Query Service.
Query.
Update.
Create.
Delete.
Add and Delete Title, Location, and Organization Records.
Add and Delete an Employee's Picture.
Exit.
Object Model for Personnel Query Service.
System Diagram for Personnel Query Service.
Function Point Analysis for Personnel Query Service.
Introduction.
Basic Tool Selection Criteria.
Selecting a Function Point Repository Tool.
Selecting a Project-Estimating Tool.
Conducting a Proof of Concept.
1. Identification of the Current Estimating Problem.
2. Definition of the Deliverable.
3. Process and Tool Selection.
4. Project Selection.
5. Review of the Estimating Process with the Project Managers.
6. Sizing and Complexity Analysis.
7. Identification of Project Variables.
8. Analysis of the Data.
9. Review of the Estimate.
10. Assessment of the Process.
Summary.
Practice Certified Function Point Specialist Exam.
Part I.
Part II.
Part III.
Answer Sheets.
Answer Sheet: Part I.
Answer Sheet: Part II.
Answer Sheet: Part III.
Writing this book has been a process, a journey, and a wonderful learning experience.
We have been immersed in the world of function points and software metrics for more than ten years. We both are proud of our accomplishments and contributions to the advancement and utilization of the function point methodology. We recognize a responsibility, as experts in this field, to communicate our experiences and to express our opinions in such a way that others can gain from what we have observed, learned, and practiced. You could say that we believe and that we are extending the wisdom of the message. We have also found our writings to be an opportunity for continued learning. While writing this book, we had the good fortune to receive comments and constructive criticisms from a significant number of book reviewers and industry experts. Their thoughtful comments and contributions have given us greater insight into the software community views of software measurement and management and, in particular, function points. We thank all of you who participated in the review process.
Our second book was in many ways easier, but in some ways more challenging, than the first. We endeavored to write a book that was significantly better than the first. We achieved success with our first book, but we knew that there was so much more to share. The process of writing becomes easier once you understand that it is a process similar to developing software. Our challenge was to identify the content that would serve a diverse audience while not losing sight of the most important audience, the practitioner. After all, it is the practice, not the theory, of function points that will sustain this valuable software management methodology.