Size of Software, Estimation Flashcards
(12 cards)
Why we need to measure the size of the software?
Cost estimation, Resource planning, Maintainability and scalability.
Lines of code (LOC) - software measure
Measures by lines of code, easy and fast, but often inaccurate.
Algorithmic methods: Function Points (FP) - Software measurements
It measures the functionality of the software from a user perspective.
Object Points (OP) - Software measuring
Application oriented measuring technics, focuses on the UI elements and the number of objects.
Use case point (UCP) - software measuring
Evaluation of the system based on use cases, related to object oriented development.
Why we need an estimate?
Forecasting development time and costs
Appropriate allocation of resources
Risk management and project management support
Ensuring customer satisfaction with realistic deadlines
Three main estimation categories
Empirical Methods: Expert estimation, Delphi method
-Accuracy: Medium, applicable to small and medium projects.
Algorithmic methods: COCOMO, Function points, Use case points
-Accuracy: High, applicable to larger projects with historical data
Agile estimation: Planning Poker, Story points, T shirt sizing
-Accuracy: Flexible, applicable to agile development environments
Empirical Methods: Expert estimation
An estimate of the project size and time requirements from one or more experienced developers.
Empirical Method: Delphi method
Several experts provide independent estimates, then anonymously compare the results and refine the estimate by iteration.
Algorithmic methods: COCOMO
Basic equation: Effort = a× (KLOC)^b
Effort = person-month
KLOC = thousand of lines of code
a, b = calibrated constants
Agile estimation: Story Points
Development tasks are scored according to their relative size
Agile estimation: Planning Poker
Team members mark the difficulty of the task with cards.