Software project effort estimation assistant. Outputs three-point estimates (optimistic/most-likely/pessimistic values with confidence intervals), T-shirt sizes, or Function Point Analysis (FPA) counts. Triggered when users ask 'how long will this feature take,' need to assess project workload, perform PERT estimation, T-shirt sizing, FPA, sprint planning, or quote-based effort breakdowns.
72
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Helps teams produce scientifically grounded effort estimates for software projects, based on three major methodologies: Three-Point Estimation (PERT), T-shirt Sizing, and Function Point Analysis (FPA). Outputs optimistic, most-likely, and pessimistic values along with risk intervals.
A calculation helper is available:
python3 scripts/estimate_calculator.py --method pert --tasks '[{"name":"User Login","O":2,"M":3,"P":8}]'| Scenario | Recommended Method | Rationale |
|---|---|---|
| Early feasibility study, rough budgeting | T-shirt Sizing | Little information available; quickly align on order of magnitude |
| Sprint planning, iteration estimation | Three-Point Estimation (PERT) | Good granularity with confidence intervals |
| Contract bidding, large-project RFPs | Function Point Analysis (FPA) | Most rigorous; industry-comparable |
| Team has historical data | PERT + historical calibration | Combines empirical correction with data |
| Metric | Formula | Meaning |
|---|---|---|
| Expected Value E | (O + 4M + P) / 6 | Weighted average effort |
| Standard Deviation σ | (P − O) / 6 | Estimation uncertainty |
| Variance V | σ² | Used to aggregate across tasks |
| Project Total Expected | ΣE | Sum of individual expected values |
| Project Total Std Dev | √(ΣV) | Square root of summed variances |
Where:
| Confidence Level | Interval | Use Case |
|---|---|---|
| 68.3% | E ± 1σ | Internal rough estimates |
| 90% | E ± 1.645σ | Project planning |
| 95% | E ± 2σ | External quotes |
| 99.7% | E ± 3σ | Contractual commitments |
| Size | Typical Range (person-days) | Typical Story Points | Suitable For |
|---|---|---|---|
| XS | 0.25 – 0.5 | 1 | Config changes, copy edits, simple bug fixes |
| S | 0.5 – 2 | 2 – 3 | Single-component development, simple API, minor UI tweaks |
| M | 2 – 5 | 5 – 8 | Complete feature module, moderately complex API |
| L | 5 – 15 | 13 – 21 | Cross-module features requiring integration |
| XL | 15 – 40 | 34 – 55 | Subsystem-level development requiring architecture design |
| XXL | 40+ | 89+ | Should be split across multiple iterations; not recommended as a single estimation unit |
When more precise numbers are needed, T-shirt sizes can be converted to three-point estimates:
| Size | O (person-days) | M (person-days) | P (person-days) |
|---|---|---|---|
| XS | 0.25 | 0.5 | 1 |
| S | 0.5 | 1 | 2.5 |
| M | 2 | 3.5 | 7 |
| L | 5 | 10 | 20 |
| XL | 15 | 25 | 50 |
| XXL | 40 | 70 | 150 |
| Component Type | Abbreviation | Definition | Example |
|---|---|---|---|
| Internal Logical File | ILF | Logical data group maintained by the application | Users table, Orders table |
| External Interface File | EIF | Data group referenced but not maintained by the application | Third-party exchange rate data |
| External Input | EI | Data processing entering the system from outside | Form submission, API POST |
| External Output | EO | Data generated and sent outside the system | Report generation, exports |
| External Inquiry | EQ | Simple data retrieval + display | List queries, detail pages |
| Component Type | Low | Medium | High |
|---|---|---|---|
| ILF | 7 | 10 | 15 |
| EIF | 5 | 7 | 10 |
| EI | 3 | 4 | 6 |
| EO | 4 | 5 | 7 |
| EQ | 3 | 4 | 6 |
ILF / EIF Complexity (based on DET – Data Element Types and RET – Record Element Types):
| DET 1-19 | DET 20-50 | DET 51+ | |
|---|---|---|---|
| RET 1 | Low | Low | Medium |
| RET 2-5 | Low | Medium | High |
| RET 6+ | Medium | High | High |
EI Complexity (based on DET and FTR – File Types Referenced):
| DET 1-4 | DET 5-15 | DET 16+ | |
|---|---|---|---|
| FTR 0-1 | Low | Low | Medium |
| FTR 2 | Low | Medium | High |
| FTR 3+ | Medium | High | High |
EO / EQ Complexity (based on DET and FTR):
| DET 1-5 | DET 6-19 | DET 20+ | |
|---|---|---|---|
| FTR 0-1 | Low | Low | Medium |
| FTR 2-3 | Low | Medium | High |
| FTR 4+ | Medium | High | High |
After calculating Unadjusted Function Points (UFP):
Calculate the Value Adjustment Factor (VAF) (optional; deprecated since IFPUG 4.3+ but still used by some teams)
Function points to person-hours
| Technology Stack | Person-hours / FP | Notes |
|---|---|---|
| Low-code / Mature Frameworks | 4 – 8 | Many reusable components available |
| Python / JS / Modern Web | 8 – 12 | Mainstream development productivity |
| Java / C# Enterprise | 10 – 15 | Includes architecture and standards overhead |
| Embedded / C / C++ | 15 – 25 | High debugging and testing cost |
| Legacy System Maintenance | 20 – 30 | Comprehension and regression cost |
After completing the estimation, verify that the following factors have been accounted for:
After the Agent completes the estimation, it should produce output in the following format:
## Estimation Report: [Project / Feature Name]
### Estimation Method: [PERT / T-shirt / FPA]
### Work Package Breakdown
| # | Work Package | O (person-days) | M (person-days) | P (person-days) | E (person-days) | σ |
|---|-------------|-----------------|-----------------|-----------------|-----------------|---|
| 1 | xxx | x | x | x | x.x | x.x |
| 2 | xxx | x | x | x | x.x | x.x |
### Summary
- Total expected effort: X person-days
- Total standard deviation: X person-days
- 68% confidence interval: X – X person-days
- 90% confidence interval: X – X person-days
- 95% confidence interval: X – X person-days
### Adjustment Factors
- [Factors considered and adjustments applied]
### Final Recommendation
- For internal planning: X person-days (90% confidence)
- For external quotes: X person-days (95% confidence)
### Risk Alerts
- [Key risk items and mitigation suggestions]The scripts/estimate_calculator.py script supports numerical calculations for all three estimation methods:
# Three-Point Estimation (PERT)
python3 scripts/estimate_calculator.py --method pert \
--tasks '[{"name":"Login Module","O":2,"M":3,"P":8},{"name":"Payment Module","O":5,"M":10,"P":20}]'
# T-shirt Size Conversion
python3 scripts/estimate_calculator.py --method tshirt \
--tasks '[{"name":"Login Module","size":"M"},{"name":"Payment Module","size":"L"}]'
# Function Point Analysis
python3 scripts/estimate_calculator.py --method fpa \
--components '[{"type":"ILF","complexity":"medium","count":3},{"type":"EI","complexity":"low","count":5}]' \
--hours-per-fp 10af7d491
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.