USE CASE BASED ESTIMATION
Example - Coffee Shop Mobile App
Project Name: BrewGo Coffee
App Description: Mobile application for customers to browse drinks, customize orders,
make payments, and track order status.
STEP 1: IDENTIFY ACTORS
Actor = Anyone or anything that interacts with the system
List of Actors:
1. Customer - Person using the mobile app to order coffee
2. Manager - Staff member who views sales reports
3. Payment Gateway - External system (e.g., Stripe) that processes payments
4. Inventory System - External system that tracks coffee bean stock
Total Actors Identified: 4
STEP 2: CLASSIFY ACTORS
Classification Criteria:
Simple (Weight = 1): External system with clean API
Average (Weight = 2): System using HTTP/FTP protocols
Complex (Weight = 3): Human user with graphical interface (GUI)
Actor Classification Table:
Actor Type Reason Weight
Customer Complex Human using mobile app (GUI) 3
Manager Complex Human using admin screen (GUI) 3
Payment
Gateway Simple External system with API 1
Inventory
System Simple External system with API 1
Calculation:
Unadjusted Actor Weight (UAW) = 3 + 3 + 1 + 1 = 8
Result: UAW = 8
STEP 3: IDENTIFY USE CASES
Use Case = A specific goal that an actor wants to achieve with the system
List of Use Cases:
UC1:
Browse Menu Actor: Customer
Goal: View available drinks with photos and prices
UC2:
Customize Order Actor: Customer
Goal: Select size, milk type, sugar level, and extras
UC3:
Make Payment Actor: Customer, Payment Gateway
Goal: Securely pay for the order using credit card
UC4:
Track Order Actor: Customer
Goal: Monitor order status from preparation to ready
UC5:
Save Favorites Actor: Customer
Goal: Save preferred drinks for quick reordering
UC6:
View Sales Report Actor: Manager
Goal: Analyze daily and weekly sales data
UC7:
Update Inventory Actor: Inventory System
Goal: Automatically reduce stock after order completion
Total Use Cases Identified: 7
STEP 4: CLASSIFY USE CASES BY TRANSACTIONS
Classification Criteria:
Simple (Weight = 5): 1-3 transactions/steps
Average (Weight = 10): 4-7 transactions/steps
Complex (Weight = 15): 8 or more transactions/steps
Use Case Classification Table:
Use Case Transactions Count Complexity Weight
UC1: Browse Menu 3 Simple 5
UC2: Customize Order 6 Average 10
UC3: Make Payment 5 Average 10
UC4: Track Order 4 Average 10
UC5: Save Favorites 2 Simple 5
UC6: View Sales Rpt 8 Complex 15
UC7: Update Inventory 2 Simple 5
Calculation:
Unadjusted Use Case Weight (UUCW) = 5 + 10 + 10 + 10 + 5 + 15 + 5 = 60
Result: UUCW = 60
STEP 5: CALCULATE UUCP (UNADJUSTED USE CASE POINTS)
Formula:
UUCP = UAW + UUCW
Where:
UAW = Unadjusted Actor Weight = 8
UUCW = Unadjusted Use Case Weight = 60
Calculation: UUCP = 8 + 60 = 68
Result: UUCP = 68
Note: This represents the raw, unadjusted size of the project.
STEP 6: APPLY TCF AND EF (ADJUSTMENT FACTORS)
6A: TECHNICAL COMPLEXITY FACTOR (TCF)
Technical factors that affect project complexity (Rate 0-5, where 0 = Not relevant, 5 =
Essential):
Technical Factor Rating Explanation
Distributed System 4 App + backend + payment API
Performance Requirements 5 Fast checkout is critical
End-User Efficiency 5 Customers expect smooth UX
Security 5 Handling sensitive payment data
Mobile Platform Support 4 iOS and Android compatibility
Sum of Ratings = 4 + 5 + 5 + 5 + 4 = 23
TCF Calculation:
TCF = 0.6 + (Sum of Ratings / 100)
TCF = 0.6 + (23 / 100)
TCF = 0.6 + 0.23
TCF = 1.23
Result: TCF = 1.23
6B: ENVIRONMENTAL FACTOR (EF)
Environmental factors related to team and project conditions
(Rate 0-5, where 0 = Poor, 5 = Excellent):
Environmental Factor Rating Explanation
Team Mobile Development Exp. 3 Medium experience level
Requirements Stability 2 Some changes expected
Team Motivation 4 High energy and commitment
Part-time Staff 0 All team members full-time
Development Process Clarity 3 Using basic Agile methodology
Sum of Ratings = 3 + 2 + 4 + 0 + 3 = 12
EF Calculation:
EF = 1.4 + (-0.03 x Sum of Ratings)
EF = 1.4 + (-0.03 x 12)
EF = 1.4 - 0.36
EF = 1.04
Result: EF = 1.04
6C: CALCULATE FINAL USE CASE POINTS (UCP)
Formula:
UCP = UUCP x TCF x EF
Calculation:
UCP = 68 x 1.23 x 1.04
UCP = 68 x 1.2792
UCP = 87 (rounded)
Result: Final UCP = 87 points
STEP 7: ESTIMATE EFFORT (TIME AND COST)
7A: DETERMINE TEAM PRODUCTIVITY RATE
Based on historical data from similar projects:
Industry Standard: 15-30 hours per UCP
Our Team Rate: 20 hours per UCP (based on past mobile app projects)
7B: CALCULATE TOTAL EFFORT IN HOURS
Formula: Total Hours = UCP x Hours per UCP
Calculation: Total Hours = 87 x 20 Total Hours = 1,740 hours
Result:
Total Effort = 1,740 hours
7C: CALCULATE PROJECT TIMELINE
Team Composition:
Number of Developers: 3
Working Hours per Day: 8 hours
Working Days per Week: 5 days
Calculations:
Daily Team Capacity: = 3 developers’ x 8 hours/day = 24 hours/day
Total Working Days Required: = 1,740 hours / 24 hours per day = 72.5 days = 73 days
(rounded up)
Total Weeks Required: = 73 days / 5 days per week = 14.6 weeks = 15 weeks (rounded up,
approximately 3.5 months)
Result: Timeline = 15 weeks (~3.5 months)
7D: CALCULATE PROJECT COST
Cost Assumptions:
Fully-loaded hourly rate per developer: $50/hour (Includes salary, benefits, overhead,
tools, and infrastructure)
Calculation: Total Cost = Total Hours x Hourly Rate Total Cost = 1,740 hours x $50/hour
Total Cost = $87,000
Result: Budget = $87,000