UCP Calculation for Planned Work
Calculate Use Case Points for software development projects using Onshore's v4.0 complete work coverage methodology.
Quick Start
Minimal invocation:
"Calculate UCP for the Agent Studio Pro project. Input: git repository. Output: comprehensive UCP report."
With Azure DevOps:
"Calculate UCP from Azure DevOps User Stories for the Lighthouse project. Use references/azure-devops-hierarchy.md for work item guidance."
Using scripts:
python scripts/count_transactions.py "1. User enters credentials 2. System validates 3. System generates JWT 4. System returns token" # Output: 3.6 transactions � Simple � 5 UUCW python scripts/calculate_ucp.py --uaw 24 --uucw 562.4 --tcf 1.40 --ecf 0.86 --verbose # Output: Realistic UCP: 494.22
Core Workflow
Step 1: Determine Input Source
Option A: Azure DevOps Work Items
- •Check work item types available (Epic/Feature/User Story/Task)
- •Prefer User Stories (95-98% accuracy)
- •If only Features: apply 1.8x calibration factor
- •Read
references/azure-devops-hierarchy.mdfor guidance
Option B: Git Repository
- •Analyze codebase structure
- •Identify use cases from code (API endpoints, services, features)
- •Count transactions per use case
- •Read
references/git-repository-analysis.mdfor methodology
Step 2: Identify Actors
Count external entities that interact with the system:
- •Simple (Weight 1): API/SDK (standard protocols)
- •Average (Weight 2): Interactive UI, automated systems
- •Complex (Weight 3): Custom protocols, admin dashboards
Calculate UAW (Unadjusted Actor Weight):
UAW = (Simple � 1) + (Average � 2) + (Complex � 3)
Step 3: Count and Classify Use Cases
v4.0 Complete Coverage - Count ALL work across 4 categories:
Category 1: New Functionality (1.0x multiplier)
- •User stories, features delivering new capabilities
- •Count transactions from acceptance criteria
- •Use
scripts/count_transactions.pyfor automation
Category 2: Enhancements (0.6x multiplier)
- •Tasks, refactoring, technical improvements
- •Implementation without full scope
Category 3: Maintenance (0.4x multiplier)
- •Bugs, defects, corrections
- •Apply urgency multipliers: Normal 1.0x, High 1.2x, Critical 1.5x
Category 4: Quality Assurance (0.3x multiplier)
- •Test cases, test suites, QA work
Transaction Counting Rules:
- •Framework/SDK operations: 0.5 weight (FastAPI routes, ORM queries, API calls)
- •Custom business logic: 1.0 weight (workflows, algorithms, state management)
Classification:
- •Simple: d3 transactions � 5 UUCW
- •Average: 4-7 transactions � 10 UUCW
- •Complex: >7 transactions � 15 UUCW
Calculate UUCW per category:
Final UUCW = Base UUCW � Category Multiplier � (0.7 + 0.3 � SAF)
SAF (Specificity Adjustment Factor): Assess work item quality (0-1 scale)
- •Read
references/saf-methodology.mdfor detailed rubric - •5 dimensions: Clarity, Acceptance Criteria, Technical Detail, Scope, Dependencies
Step 4: Calculate UUCP
UUCP = UAW + Total UUCW (sum of all 4 categories)
Step 5: Assess Technical Complexity (TCF)
Evaluate 13-20 technical factors (ratings 0-5):
- •Standard factors (T1-T13): Distributed system, performance, security, etc.
- •AI/ML factors (T14-T20): Model complexity, data volume, explainability, etc.
Read references/tcf-factors.md for complete factor definitions and rating criteria.
TFactor = �(Rating � Weight) TCF = 0.6 + (0.01 � TFactor) TCF (capped) = min(TCF, 1.4)
Use scripts/calculate_ucp.py to automate:
python scripts/calculate_ucp.py --uaw 24 --uucw 562.4 --tcf 1.40 --ecf 0.86
Step 6: Assess Environmental Complexity (ECF)
Evaluate 8 environmental factors (ratings 0-5):
- •E1-E6: Favorable when HIGH (experience, motivation, stable requirements)
- •E7-E8: Unfavorable when HIGH (part-time staff, difficult language)
EFactor = �(Rating � Weight) ECF = 1.4 + (-0.03 � EFactor)
Step 7: Calculate Final UCP
Adjusted UCP = UUCP � TCF � ECF Realistic UCP = Adjusted UCP � Framework Leverage Factor (Framework Leverage: 0.6-1.0, typically 0.7 for framework-heavy projects)
Step 8: Generate Report
Use assets/templates/ucp-report-template.md as structure.
Include:
- •Executive Summary (all metrics)
- •Actor Summary Table
- •Work Item Analysis (all 4 categories)
- •SAF Distribution
- •UUCP Calculation
- •TCF Assessment (with TFactor breakdown)
- •ECF Assessment (with EFactor breakdown)
- •UCP Calculation
- •Effort Estimation (productivity factor: 18-22 hours/UCP typical)
Key Concepts
v4.0 Complete Work Coverage: Unlike traditional UCP (50-60% coverage), v4.0 captures ALL development work across 4 categories with differentiated multipliers.
Specificity Adjustment Factor (SAF): Rewards high-quality specifications, reduces credit for vague requirements. Ranges 0.70x (no spec) to 1.00x (excellent spec).
Framework Leverage: Accounts for framework-provided functionality (FastAPI routing, SQLAlchemy ORM, etc.). Typically 0.7 for modern frameworks.
Azure DevOps Hierarchy:
- •Epic (Strategic) � Feature (Functional) � User Story (Use Case ) � Task (Implementation)
- •Count User Stories for UCP, not Epics or Tasks
- •If only Features available: apply 1.8x calibration
Transaction Weighting:
- •0.5 for framework operations (HTTP routing, ORM queries, SDK calls)
- •1.0 for custom logic (business rules, workflows, algorithms)
Available Resources
Scripts
- •
scripts/count_transactions.py Parse acceptance criteria, count weighted transactions, classify complexity
bashpython scripts/count_transactions.py --file user_story.txt --verbose
- •
scripts/calculate_ucp.py Calculate UCP from UAW, UUCW, TCF, ECF
bashpython scripts/calculate_ucp.py --uaw 24 --uucw 562.4 --tcf 1.40 --ecf 0.86 --framework-leverage 0.70
References
- •references/tcf-factors.md Complete TCF factor definitions (T1-T20), rating criteria, examples
- •references/saf-methodology.md SAF 5-dimension rubric, impact calculations, quality assessment
- •references/azure-devops-hierarchy.md Work item hierarchy, calibration factors, decision matrix
- •references/git-repository-analysis.md Code-based UCP analysis methodology
Assets
- •assets/templates/ucp-report-template.md Complete report structure for filling in calculated values
Output Format
Generate comprehensive UCP Analysis Report with:
Section 1: Executive Summary (key metrics table) Section 2: Actor Summary (classification table, UAW calculation) Section 3: Work Item Analysis (4 categories, transaction counts, SAF scores, UUCW calculations) Section 4: SAF Distribution (quality assessment) Section 5: UUCP Calculation (UAW + UUCW) Section 6: TCF Assessment (factor ratings, TFactor, TCF formula) Section 7: ECF Assessment (factor ratings, EFactor, ECF formula) Section 8: UCP Calculation (Adjusted UCP, Framework Leverage, Realistic UCP) Section 9: Effort Estimation (productivity factor, estimated hours)
Include interpretations: What TCF/ECF values mean, accuracy notes, comparison to traditional UCP (v3.0 vs v4.0).
Decision Matrix for Input Sources
| Input Source | Accuracy | Speed | Use When |
|---|---|---|---|
| User Stories (Azure DevOps) | 95-98% | Fast | Work items available with acceptance criteria |
| Features (Azure DevOps) | 80-90% | Fast | No User Stories, apply 1.8x calibration |
| Git Repository | 95-98% | Slow | Retrospective analysis, 100% coverage needed |
| Mixed Sources | 85-95% | Medium | Some User Stories, some Features |
Common Patterns
Pattern 1: Azure DevOps with User Stories
- •Export User Stories with acceptance criteria
- •Count transactions per story using
scripts/count_transactions.py - •Calculate SAF for each story (typically 0.65-0.85)
- •Calculate UUCW per category
- •Assess actors, TCF, ECF
- •Generate final UCP report
Pattern 2: Azure DevOps with Features Only
- •Read
references/azure-devops-hierarchy.md - •Extract Key Deliverables from Features
- •Estimate transactions per deliverable
- •Apply 1.8x calibration factor
- •Add 25-30% for untracked infrastructure
- •Note �20% margin of error in report
Pattern 3: Git Repository Analysis
- •Read
references/git-repository-analysis.md - •Analyze codebase structure (API routes, services, components)
- •Identify use cases from code organization
- •Count transactions (framework 0.5x, custom 1.0x)
- •Calculate UUCW with 100% coverage
- •Most accurate result (�5-10%)
Important Reminders
- •Always use User Stories over Features 95% accuracy vs 80% accuracy
- •v4.0 counts ALL work Stories, Tasks, Bugs, Tests (not just stories)
- •SAF rewards quality Well-specified work gets full credit (1.0x), vague work gets reduced credit (0.7x minimum)
- •Check for missing categories Infrastructure, monitoring, logging, deployment often untracked
- •Framework leverage is real Modern frameworks provide 60-80% of functionality, account for it
- •TCF typically 0.95-1.15 Values >1.30 indicate exceptional complexity
- •ECF typically 0.70-0.90 Favorable teams ~0.85, challenging environments ~0.70
- •Productivity factor 18-22 hrs/UCP For moderate challenges, adjust based on ECF
Token Efficiency Notes
- •Scripts handle deterministic calculations (transaction counting, UCP math)
- •References contain detailed rubrics (TCF 20 factors, SAF 5 dimensions)
- •Template provides report structure (fill-in-the-blanks)
- •SKILL.md focuses on workflow and decision-making (when to use what)
This progressive disclosure keeps core instructions concise while making detailed reference material available when needed.