sizing your development effort using function point analysis mike pasley logic central
TRANSCRIPT
![Page 1: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/1.jpg)
Sizing Your Development Sizing Your Development Effort Using Function Point Effort Using Function Point
AnalysisAnalysis
Mike PasleyMike Pasley
Logic CentralLogic Central
http://www.logicentral.comhttp://www.logicentral.com
![Page 2: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/2.jpg)
Function Point AnalysisFunction Point Analysis
C/S Order Entry System
• Proposal: planned budget-$100k, schedule-18 Mos
• Common scenario: $150k, 24Mos– Pre-release bug fixes: $50k– Post-release bug fixes: $25k
• Unhappy Customers, sales personnel
• Going to competition
• Lost Business: another $200k
![Page 3: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/3.jpg)
Function Point AnalysisFunction Point Analysis
C/S Order Entry System
• Does Not Have To Be That Way!!• Other companies, same application
– $75k or less, 16 Mos– All Defect Removal: $15k
• What are they doing differently?– 5 Steps to Software Quality Control
• (Applied Software Measurements - Capers Jones)
![Page 4: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/4.jpg)
Function Point AnalysisFunction Point Analysis
5 Steps
• Establish Software Quality Metrics Program
• Establish Tangible Performance Goals
• Establish Meaningful Software QA
• Develop Leading Edge Corporate Culture
• Determine SW Strengths & Weaknesses
Where to begin?
![Page 5: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/5.jpg)
Function Point AnalysisFunction Point AnalysisHow would you build a house?
![Page 6: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/6.jpg)
Function Point AnalysisFunction Point Analysis
What Is Function Point Analysis?
• Synthetic metrics derived from enumerating and weighing five external attributes of software applications:– Inputs
– Outputs
– Inquiries
– Internal Logical Files
– External Interface Files
Plus Factor: index of system's overall complexity
![Page 7: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/7.jpg)
Function Point AnalysisFunction Point Analysis
What Is Function Point Analysis?
• Function points are indicators of size based on the 'logical' view of a piece of software.
• Make it possible to measure the size of information systems according to what the user sees and interacts with– Quantify functionality delivered to user based
primarily on logical design
![Page 8: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/8.jpg)
Function Point AnalysisFunction Point Analysis
Summary of Benefits
• Scheduling, effort, cost estimates– Easier– Greater Accuracy
• Improves communications, sharpens management judgement, improves development process
• GUI, Algorithms, Objects
![Page 9: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/9.jpg)
Function Point AnalysisFunction Point Analysis
Who Needs Function Points
• Anyone who has responsibility for estimating and sizing software or measuring productivity
• Anyone who is responsible for setting and meeting customer expectations for software projects
![Page 10: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/10.jpg)
Function Point AnalysisFunction Point Analysis
FPA fits Engineering Method
• Use of heuristics (a decision-making aid) to cause the best change in a poorly understood system given available resources
![Page 11: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/11.jpg)
Function Point AnalysisFunction Point Analysis
Engineering Method Steps
• Identify Problem• Gather Information• Search for Creative
Solutions• Do Preliminary
Design
• Select Preferred Solution
• Prepare plans, specifications, reports
• Implement
![Page 12: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/12.jpg)
Function Point AnalysisFunction Point Analysis
Agenda
• Fundamentals Involved: 20 Minutes
• Simple Example: 10 Minutes
• Using Results: 10 Minutes
• Current Issues: 5 Minutes
• Reference Materials: 5 Minutes
• Questions & Answers: 10 Minutes
![Page 13: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/13.jpg)
Function Point AnalysisFunction Point Analysis
Development Goals
• Software should be completed
• Software should work
![Page 14: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/14.jpg)
Function Point AnalysisFunction Point Analysis
Relationship Goals
• Clients should be satisfied
• Developers should be satisfied
• Clients/Developer relationship should be trusting, respectful
![Page 15: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/15.jpg)
Function Point AnalysisFunction Point Analysis
Connections • If everyone understands size of project , all
parties will work better together• Three blind men/elephant effect:
– One near the tail described it as a snake
– One near the leg described it as a tree trunk
– One near the side described it as a wall
– Each description gives an accurate picture of some aspects of the elephant, but a false picture of the elephant as a whole.
![Page 16: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/16.jpg)
Function Point AnalysisFunction Point Analysis
User Viewpoint• Productivity: “Goods or services produced per
unit of labor or expense”
• Customers do not buy lines of code• Customers care about functionality• Focus: “What” is being delivered without
clouding the issue with “how” it is being done.– User business function and exists for business reasons
not just for technical or design reasons
![Page 17: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/17.jpg)
Function Point AnalysisFunction Point Analysis
Terminology
• Application Boundary
• Inputs
• Outputs
• Inquiries
• Internal Logical Files
• External Interface Files
![Page 18: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/18.jpg)
Function Point AnalysisFunction Point Analysis
Application Boundary
• Drawn around entire application
External Interface Files
Internal Logical Files
Inquiries
Input Output
Boundary
![Page 19: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/19.jpg)
Function Point AnalysisFunction Point Analysis
External Inputs (EI)
• An elementary process in which data crosses the boundary from outside to inside.– Data input screen
– Electronically
– Another application
– Business data: does update internal logical file
– Control data: does not update internal logical file
![Page 20: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/20.jpg)
Function Point AnalysisFunction Point Analysis
External Outputs (EO)
• An elementary process in which derived data passes across the boundary from inside to outside.– Creates reports– Creates output files sent to other applications– Created from internal logical files/external
interface file
![Page 21: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/21.jpg)
Function Point AnalysisFunction Point Analysis
External Inquiries (EQ)
• An elementary process with both input and output components that result in data retrieval from one or more internal logical files and external interface files
• Sent outside the application boundary– Input process does not update ILF– Output side does not contain derived data
![Page 22: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/22.jpg)
Function Point AnalysisFunction Point Analysis
Internal Logical Files
• A User identifiable group of logically related data that entirely within the applications boundary and is maintained through External Inputs
![Page 23: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/23.jpg)
Function Point AnalysisFunction Point Analysis
External Interface Files (EIF)
• A User identifiable group of logically related data that is used for reference purposes only.– Resides entirely outside application– Maintained by another application– It is an ILF for another application
![Page 24: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/24.jpg)
Function Point AnalysisFunction Point Analysis
Application Boundary
• Drawn around entire application
External Interface Files
Internal Logical Files
Inquiries
Input Output
Boundary
![Page 25: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/25.jpg)
Function Point AnalysisFunction Point Analysis
General System Characteristics
• Data communications
• Distributed functions
• Perfomance objectives
• Heavily used configuration
• Transaction rate
• On-line data entry
• End-user efficiency
• On-line update
• Complex processing
• Reusability
• Installation ease
• Operational ease
• Multiple sites
• Facilitate change
![Page 26: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/26.jpg)
Function Point AnalysisFunction Point Analysis
Complexity of Files
• Data Element Type (DET)• A unique user recognizable field from a business
perspective which participates in a transaction or is stored on a logical data file.
– Includes radio buttons, check boxes, command buttons, static images, and sound bytes
• Record Element Type (RET)– A user recognizable subgroup of data elements within
an ILF or EIF. (orders types)
![Page 27: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/27.jpg)
Function Point AnalysisFunction Point Analysis
Determining File Complexity
RET DET 1 -19 DET 20 -50 DET 51+1 LOW LOW LOW2 -5 LOW AVG HIGH6+ AVG HIGH HIGH
![Page 28: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/28.jpg)
Function Point AnalysisFunction Point Analysis
Complexity of Transactions
• The complexity of an transaction is determined by counting the number of logical File Types Referenced (FTRs) and the number of Data Element Types.
![Page 29: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/29.jpg)
Function Point AnalysisFunction Point Analysis
Complexity of Outputs
FTR DET 1-4 DET 6-19 DET 20+
0 -1 LOW LOW AVG
2 -3 LOW AVG HIGH
4+ AVG HIGH HIGH
![Page 30: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/30.jpg)
Function Point AnalysisFunction Point Analysis
Complexity of Inputs
FTR DET 1-4 DET 5-15 DET 16+
0 -1 LOW LOW AVG
2 LOW AVG HIGH
3+ AVG HIGH HIGH
![Page 31: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/31.jpg)
Function Point AnalysisFunction Point Analysis
Complexity of Inquiries• Determined by using the more complex of
its input and output components (usually this is the output component).
![Page 32: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/32.jpg)
Function Point AnalysisFunction Point Analysis
The total function points for the system are then determined by counting the number of elements with each type and complexity and applying a weighting factor according to the following table:
Element Low Average High
EI __ X 3 __ X 4 __ X 6
EO __ X 4 __ X 5 __ X 7
EQ __ X 3 __ X 4 __ X 6
ILF __ X 7 __ X 10 __ X 15
EIF __ X 5 __ X 7 __ X 10
![Page 33: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/33.jpg)
Function Point AnalysisFunction Point Analysis
![Page 34: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/34.jpg)
Function Point AnalysisFunction Point Analysis
File ComplexityFILE NAME FILE TYPE RET DET COMPLEXITY
Order File ILF 1 70 Average
Agent File EIF 1 5 Low
![Page 35: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/35.jpg)
Function Point AnalysisFunction Point Analysis
Transaction ComplexityTRANSACTION TYPE FTR DET COMPLEXITY
Screen Display EQ 2 73 High
Edit EI 1 68 Average
Error Messages EO 1 3 Low
![Page 36: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/36.jpg)
Function Point AnalysisFunction Point Analysis
The total function points for the system are then determined by counting the number of elements with each type and complexity and applying a weighting factor according to the following table:
Element Low Average High
EI 0 X 3 1 X 4 0 X 6
EO 1 X 4 0 X 5 0 X 7
EQ 0 X 3 0 X 4 1 X 6
ILF 0 X 7 1 X 10 0 X 15
EIF 1 X 5 0 X 7 0 X 10
![Page 37: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/37.jpg)
Function Point AnalysisFunction Point Analysis
Results• Unadjusted total: 29 function points
• Total then adjusted by a ranking of 0 to 5 to each of the 14 general system characteristics
• Maximum possible score of 70 for the general system characteristics (5 x 14).
• Formula: [.65 + (.01 x GCS score)] * Unadjusted Total
• Count can vary a maximum of 35% above or below the unadjusted count
![Page 38: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/38.jpg)
Function Point AnalysisFunction Point Analysis
Results
• Do The Sanity Check!!!– Validate Results
• Team Review
• All Components Included?
• User Viewpoint Only
![Page 39: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/39.jpg)
Function Point AnalysisFunction Point Analysis
Summary
• User Viewpoint
• Application Boundary– Transactions
• Inputs
• Outputs
• Inquiries
– Files
• Internal
• External
![Page 40: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/40.jpg)
Function Point AnalysisFunction Point Analysis
User Viewpoint• Productivity: “Goods or services produced per
unit of labor or expense”
• Customers do not buy lines of code• Customers care about functionality• Focus: “What” is being delivered without
clouding the issue with “how” it is being done.– User business function and exists for business reasons
not just for technical or design reasons
![Page 41: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/41.jpg)
Function Point AnalysisFunction Point Analysis
Application Boundary
• Drawn around entire application
External Interface Files
Internal Logical Files
Inquiries
Input Output
Boundary
![Page 42: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/42.jpg)
Function Point AnalysisFunction Point Analysis
Benefits of Function Points
• Scheduling, effort, cost estimates
• Effects on communications, sharpens management judgement, improves development process
• GUI, Algorithms, Objects
![Page 43: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/43.jpg)
Function Point AnalysisFunction Point Analysis
Gather Documentation• Users’ perceived objectives, problems and needs.
• Documentation regarding the current system,
• Refined objectives and constraints for the proposed system.
• Requirements documentation
• All Window and Report Layouts
• Interfaces with other systems
• Logical and/or preliminary physical data models
![Page 44: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/44.jpg)
Function Point AnalysisFunction Point Analysis
Economic Applications• Production
– FP per person-month
– Work/hrs per FP
– $Dev per FP
– $Maint per FP
• Consumption– FP owned by
enterprise
– FP needed by end users
– Build, lease, or purchase
– Contract vs In-House
– Value Analysis
Quality• Test cases per
FP
• Defects discovered per FP
• Defect Potential per FP
• Defect Removal per FP
![Page 45: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/45.jpg)
Function Point AnalysisFunction Point Analysis
Issues• Too prone to human misinterpretation
– the use of certification programs and exams has narrowed the range of counting variance to within about 10 percent.
• Too labor-intensive
– automated counting tools • Not adequate for non- business information systems
– consumer devices , real -time, embedded– Continually revised, adapted (feature points, Engrg , object, etc)
• Standardization
– 20 variations , IFPUG dominant– International Standards Organization
![Page 46: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/46.jpg)
Function Point AnalysisFunction Point AnalysisWhere to get more information and
presentation references• Int’l Function Point User Group (www.ifpug.org)• Software Productivity Research (www.spr.com)• Longstreet Consulting (www.ifpug.com)• Geneer (www.geneer.com)• Capers Jones Books on Software Quality
– Software Quality, Analysis & Guidelines– Applied Software Measurement
![Page 47: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/47.jpg)
Function Point AnalysisFunction Point Analysis
Questions ????
![Page 48: Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central](https://reader033.vdocument.in/reader033/viewer/2022051820/56649eb45503460f94bbc22d/html5/thumbnails/48.jpg)
Function Point AnalysisFunction Point Analysis
Contact Information
Mike PasleyEmail Address: [email protected] Central Web Page: http://www.logicentral.com