3 Day(s)
🎯 LEARNING OBJECTIVES
Master Agile estimation techniques like Story Points and relative sizing.
Facilitate team estimation sessions using collaborative methods like Planning Poker.
Differentiate between measuring effort/uncertainty versus absolute time.
Utilize velocity and historical data to accurately plan sprint capacity.
🧠 PREREQUISITES
Basic understanding of Agile principles and Scrum.
Familiarity with SDLC and software development activities.
Basic knowledge of user stories, requirements, and product backlogs.
Understanding of project management, effort estimation, and team collaboration.
Basic awareness of software architecture and UML is beneficial
Estimation Approaches
There were different sizing models, to estimate the size, and the effort accordingly:
FPA (Function point analysis): Build estimation around required functionality, before object oriented analysis phase
UCP (Use case point): Build estimation around resulted use cases
COCOMO & COCOMO II: Cocomo (Constructive Cost Model) is a regression model based on LOC
Delphi: Consensus model
You can use the previously mentioned models, but Agile has moved for a new sizing approach called the Poker technique, taken from the Poker cards, which can be described as follows:
Consensus model, as all team members discuss the estimation and approve the approach
Around the reference point: Definition for sizing reference point will be taken to decrease the sizing variance across team members, for example, agreement on the size of login screen, or feedback screen.
Using the Fibonacci series
a series of numbers
Each number ( Fibonacci number ) is the sum of the two preceding numbers. The simplest is the series 1, 1, 2, 3, 5, 8, etc.
Why use this approach?
enable the slicing of the stories
Select a Baseline Story: Choose a user story everyone understands well., Example: “Login page with username/password validation” = 3 points.
Document Why It’s the Baseline: Note effort, complexity, and risk, and best approach is to use MDA approach for modeling:
Use cases for the functionality
Sequence diagram that will mention objects and expected operations.
Periodically Recalibrate: If team velocity or size changes, revisit the reference.
All the team should share the estimation process
Reference Point for sizing take place
Poker Estimation Technique
Poker Card numbers
Zero
Unknown
Setting limits
Discussion mechanism
PO clarify the user story
Discussion takes place between the Upper estimation and the lower estimation
Map Points detailed estimation: For example, 1 point = 2 Days
Download scrum poker application
Use Fibonacci model
Each member pick the estimation according to the reference point, hiding the selected number
The anomalies (Upper and lower estimations) should have a public discussion in order to brainstorm the variance
Re-Estimate again, till having consensus between the team
Combine techniques depending on project stage:
Early Phase → T-shirt sizing, affinity
Refinement → Story points, poker
Release Planning → Velocity-based forecasting
Agile = flexible, not one-size-fits-all.
As most of enterprises suffer from the sizing process, in this section we are going to govern the estimation process as following:
Feature-based vs Story-based
Feature-based scope defines what business capability will be delivered, while story-based scope focuses on how it is incrementally implemented. Best practice is to estimate at feature level for predictability, then refine using stories for sprint execution.
Scope Governance – 4C
Scope governance ensures estimates are credible and controlled by validating scope against four quality dimensions before sizing.
Completeness
All required functional and non-functional elements are identified. Missing scope is the primary root cause of under-estimation.
Consistency
Scope is aligned across business, architecture, and delivery teams. Inconsistencies create rework and invalidate estimates.
Correctness
Scope accurately reflects business intent and constraints. Incorrect scope leads to false confidence in delivery dates.
Clarity
Scope is unambiguous and measurable. Clear scope reduces interpretation risk and estimation variance.
Design-based Sizing
Sizing is anchored to solution design, architecture complexity, and integration points rather than vague requirements. This aligns effort with real technical work.
Reuse Engineering Consideration
Ready components reduce effort only when integration, customization, testing, and ownership are explicitly sized. Reuse ≠ zero effort.
Non-Functional Consideration
Performance, security, availability, compliance, and scalability must be sized explicitly, as NFRs often consume 30–50% of total effort.
Big Sizing Unit (Sprint-Based)
Estimating only in sprints hides true scope size and creates false predictability. Sprint counts are execution metrics, not estimation units.
Absence of Dependencies
Ignoring technical, vendor, or organizational dependencies results in optimistic timelines and unmanaged delivery risk.
Absence of Assumptions
Unstated assumptions invalidate estimates. Every estimate must have explicit assumptions documented and approved.
Ignoring Team Quality
Velocity varies by team capability, stability, and experience. Assuming all teams perform equally leads to systemic estimation errors.
Lack of Ownership
Estimates without a clear accountable owner degrade quickly. Ownership ensures estimates are defended, updated, and governed.
Eliminate Over-Engineering
Over-design inflates effort without proportional business value. Estimation must reflect fit-for-purpose, not theoretical perfection.
Reference Point Sizing
Using historical, proven reference solutions creates calibration and reduces subjectivity across teams and initiatives.
Yearly Estimation Defense (Management)
Annual reviews validate strategic assumptions, capacity models, and investment realism at portfolio level.
Quarterly Estimation Defense (Management)
Quarterly checkpoints reassess scope changes, risk exposure, and forecast accuracy to prevent drift.
Sprint-Based Estimation Defense (Team)
Sprint-level defense validates execution realism, surfaces blockers early, and continuously improves estimation accuracy.
One of the core values for using the MDA, is the accuracy of estimations, as you will have the visibility for the following:
All objects
Missing Objects
Missing operations
Required/Missing integrations
Effort per each layer to achieve the business scenario over technical tasks
Detect expected response
Detect missed operations
SRP according to the communication
Integration layers
Reusable components
Composite structure
The execution time to do the sequence i. Rectangle, which indicate severity and application of defensive programming and logging
Expected Activities for Assessing the effort from architecture perspective
1. New micro-services
2. New classes
3. New APIs
4. New schemas
5. New tables
6. New database objects
7. New integration
8. POC
9. New MDA models
10. Code quality activities
11. FE page
Estimation Defense Sessions are structured meetings to validate, challenge, and approve estimates at different levels (Team, Quarter, Year) to ensure transparency, accuracy, and alignment with business priorities.
Agenda-Driven: Define scope, assumptions, dependencies, and sizing upfront.
Role-Based Participation: Product Owner / Business, Technical Lead / Architect, QA, and Delivery Manager.
Reference-Based: Use historical data, complexity points, and previous velocity as objective benchmarks.
Time-Boxed & Facilitated: Keep sessions focused; a neutral facilitator enforces process and fairness.
Facts, not opinions: Always anchor discussions to data and reference points, and be specific to:
Design-based estimation
Assumption-based estimation
Document Assumptions: Every estimate must have clearly stated assumptions to prevent “he said / she said” arguments.
Decision Rights Clear: The session facilitator or assigned owner has the final call if consensus fails.
Use Structured Scoring: For large features, consider weighted complexity scoring to remove subjective debate.
Escalation Path: Open disagreements that cannot be resolved at session level are escalated to Management or Portfolio governance.
A defended, transparent, and approved estimate with documented rationale, reducing rework, disputes, and scope creep
Compare planned vs. actual effort: Compare the effort estimated at sprint planning with the actual effort required to complete the work.
Monitor progress during the sprint: Compare the percentage of completed work with the percentage of sprint time elapsed. Significant gaps should trigger investigation.
Compare with historical velocity: Compare the current commitment with the team's average velocity over the previous 3–5 sprints.
Calculate estimate accuracy:
Estimate Accuracy = Actual Effort ÷ Estimated Effort
A ratio consistently below 1.0 may indicate over-estimation.
Analyze remaining work: If a large amount of work remains late in the sprint while significant capacity has already been consumed, review whether the original estimates were excessive or whether other factors affected delivery.
Check completed stories: Identify stories that were consistently estimated at high points but completed with significantly less effort than expected.
Look for recurring patterns: One inaccurate estimate is normal. Repeated over-estimation across several sprints indicates a potential estimation problem.
Separate estimation from delivery problems: Low delivery does not automatically mean over-estimation. Check for dependencies, production support, defects, scope changes, technical debt, interruptions, and excessive WIP.
Use tolerance thresholds:
🟢 ≤10% variance — Healthy
🟡 10–20% variance — Investigate
🔴 >20% consistently — Potential estimation/capacity issue
Validate Scope: Confirm requirements, deliverables, assumptions and acceptance criteria.
Decompose Activities: Break features into manageable tasks (WBS).
Validate Effort Estimates: Include development, testing, integration, deployment and documentation.
Identify Dependencies: Define task sequences and predecessor/successor relationships.
Calculate Resource Capacity: Consider actual availability, meetings, leave and operational commitments.
Determine Task Duration: Convert estimated effort into realistic calendar time.
Identify Critical Path: Prioritize activities that directly affect the final delivery date.
Optimize Parallelism: Execute independent activities simultaneously where feasible.
Balance Workload: Allocate tasks according to skills, capacity and resource availability.
Include Quality Activities: Schedule code reviews, QA, security testing, UAT and defect resolution.
Optimize Resources: Avoid bottlenecks, unnecessary resource overlap and overstaffing.
Automate Processes: Leverage CI/CD, automated testing and deployment to reduce effort and cost.
Prioritize Scope: Deliver high-value features first and defer nonessential requirements.
Include Contingency: Reserve risk-based buffers for uncertainties and external dependencies.
Establish Milestones: Define measurable delivery checkpoints and approval gates.
Baseline the Schedule: Obtain agreement on scope, timeline, resources, budget and quality.
Monitor Performance: Track actual versus planned progress, effort, cost and defects.
Reforecast Continuously: Update the schedule based on actual performance and emerging risks.
Dr. Ghoniem Lawaty
Tech Evangelist