Mục tiêu: Giúp estimate trở nên có cơ sở, minh bạch, dễ review, và đủ tin cậy để planning.
Estimation không phải là “đoán thời gian”.
Estimate chuẩn là:
A forecast of engineering effort based on scope, capacity, and risk.
Dự báo effort dựa trên scope, năng lực team, và rủi ro.
| Term (EN) | Vietnamese Meaning | Explanation |
|---|---|---|
| Estimate | Ước lượng | Dự báo effort/time để hoàn thành work |
| Effort | Công sức kỹ thuật | Tổng lượng work cần bỏ ra |
| Man-day (MD) | Ngày công | 1 người làm việc 1 ngày |
| Base Effort | Effort thuần | Nếu dev chỉ tập trung code 100% |
| Focus Factor | Hệ số năng suất thực tế | Vì dev không có 100% thời gian cho feature |
| Risk Multiplier | Hệ số rủi ro | Cộng thêm do uncertainty |
| Contingency Buffer | Buffer dự phòng | Dự phòng scope creep, QA delay, deploy risk |
| Confidence Level | Độ tự tin estimate | % certainty của forecast |
| Scope Creep | Scope phình ra | Requirement tăng dần sau khi bắt đầu |
Final Estimate (MD) =( Base Effort ÷ Focus Factor ) × Risk Multiplier + Contingency BufferBase Effort = effort kỹ thuật thuần nếu dev chỉ làm task này 100%.
Bao gồm:
- Backend implementation
- Frontend implementation
- Database changes
- Unit/feature tests (basic)
Base Effort = 10 MD
Dev không bao giờ có 100% capacity cho feature work vì còn:
- Meetings
- Code review
- Production support
- Context switching
- Mentoring
| Team Context | Focus Factor |
|---|---|
| Startup / High speed | 0.6 |
| Normal product team | 0.7 |
| Enterprise / Heavy meetings | 0.5 |
Adjusted Effort = Base Effort ÷ Focus Factor
Adjusted Effort = 10 ÷ 0.7 = 14.3 MD
Meaning:
10 MD raw effort sẽ thành ~14 MD khi tính đúng capacity thực tế.
Risk = phần uncertainty trong technical hoặc product.
Examples:
- New technology
- Performance unknown
- Integration dependency
- Unclear requirement
| Risk Level | Multiplier |
|---|---|
| Low risk | × 1.1 |
| Medium risk | × 1.25 |
| High risk | × 1.5 |
Risk Adjusted Effort = Adjusted Effort × Risk Multiplier
14.3 × 1.25 = 17.9 MD
Buffer dành cho delivery uncertainties:
- Scope creep
- Late bug discovery
- QA delays
- Deployment surprises
| Project Type | Buffer |
|---|---|
| Internal tools | +10% |
| Customer-facing feature | +20% |
| Critical / Payment system | +30% |
Final Estimate = Risk Adjusted Effort × (1 + Buffer%)
Final Estimate = 17.9 × 1.20 ≈ 21.5 MD
Một estimate chuẩn bắt buộc phải tính cả phần quality overhead, vì coding chỉ là ~60–70% effort thực tế.
Quality overhead bao gồm:
- Testing Effort (Unit test, Feature test, Regression test)
- Code Review Time (Peer review, TL review)
- Rework / Fix After Review (Refactor, bug fixes sau review)
- QA Validation (Manual QA, UAT)
Rule of thumb trong engineering:
| Activity | Typical % of Base Effort |
|---|---|
| Implementation (coding) | 60–70% |
| Testing | 15–25% |
| Review + Fix after review | 10–20% |
| Release validation | 5–10% |
=> Vì vậy Base Effort không chỉ là “code time”.
Nếu team muốn explicit breakdown:
Base Effort
= Coding
+ Testing
+ Review & Rework
Ví dụ:
- Coding: 6 MD
- Testing: 2 MD
- Review + Fix: 2 MD
Base Effort = 6 + 2 + 2 = 10 MD
Không bao giờ estimate feature mà bỏ qua testing/review.
Review fix là effort thật, không phải “free”.
Final Estimate (MD)
=
( (Coding + Testing + ReviewFix) ÷ Focus Factor )
× Risk Multiplier
× (1 + Buffer%)
Assume:
- Coding = 6 MD
- Testing = 2 MD
- ReviewFix = 2 MD
Step 1:
Base Effort = 10 MD
Step 2 (capacity adjustment):
10 ÷ 0.7 = 14.3 MD
Step 3 (risk medium):
14.3 × 1.25 = 17.9 MD
Step 4 (buffer +20%):
17.9 × 1.20 ≈ 21.5 MD
=> Estimate này đã bao gồm full cycle delivery.
Assumptions:
- Base Effort = 10 MD
- Focus Factor = 0.7
- Medium Risk = ×1.25
- Buffer = +20%
10 ÷ 0.7 = 14.3 MD
14.3 × 1.25 = 17.9 MD
17.9 × 1.20 ≈ 21.5 MD
Final Estimate: ~22 MD (~4 weeks)
Confidence Level: ~75%
Khi báo estimate trong planning, luôn dùng format:
Base Effort: X MD
Focus Factor: 0.X
Risk Level: Low/Medium/High (+%)
Buffer: +%
Final Estimate: Y MD
Confidence: ~Z%
Assumptions: ...
Task > 2 days phải breakdown thành subtasks.
Estimate là forecast, không phải commitment tuyệt đối.
Không estimate chỉ riêng coding.
Estimate chỉ valid khi assumptions giữ nguyên.
| Stage | Confidence |
|---|---|
| Early discovery | 50–60% |
| After design | 70–80% |
| Ready to implement | 85–90% |
Final MD
= (Raw MD ÷ 0.7)
× (1.1–1.5)
× (1.10–1.30)
Where:
- ÷0.7 = reality capacity adjustment
- ×(1.1–1.5) = risk multiplier
- ×(1.10–1.30) = contingency buffer
Estimation chuẩn giúp team:
- Predictable delivery
- Better sprint planning
- Transparent communication
- Controlled risk
This document is the single source of truth for man-day estimation across the team.