Function Point
Description
The function point method analyzes software from the end user's perspective, classifying functionality into five types:
- External Inputs (EI): data entering the system from outside (forms, upload files...).
- External Outputs (EO): data the system sends outside (reports, messages...).
- External Inquiries (EQ): read-only input-output combinations.
- Internal Logical Files (ILF): groups of data maintained by the application.
- External Interface Files (EIF): groups of data used by the application but maintained by another application.
Each element is weighted according to its complexity (low, average, high) to produce a function point count that represents the functional size of the system.
Difference from the story point
It is important not to confuse the function point with the story point:
- The function point is a functional size metric for software: it measures how much functionality the system has. It is team-independent and reproducible across different assessors trained in the method.
- The story point is a relative unit of effort estimated by the team. It is specific to the team that uses it and is not comparable across different teams.
Current use
Function points are mainly used in predictive software engineering contexts: fixed-price development contracts based on functional size, benchmarking across projects, and effort estimation in organizations with high CMMI or ISO 15504 maturity.
In the agile world, story points have largely replaced function points for effort estimation, although function points remain useful when a team-independent measure of size is needed.
Common mistake
Using "function point" and "story point" as synonyms. They are different metrics with different purposes. The function point measures software size from an objective functional perspective; the story point measures the relative effort perceived by a specific team. Using the terms interchangeably creates confusion, especially in contexts of contractual estimation or benchmarking.
See also
Want to advance in agility? You can search for course and exam calls or go at your own pace by becoming a member of the Agile Club. This membership includes exclusive resources, e-learning classrooms, and access to Skill Arena: a space to practice and measure your agile skills at your own pace.