Responding to change over following a plan
Idealistic:
Really hard:
Customer collaboration over contract negotiation
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Hard:
Important:
Responding to change over following a plan
Idealistic:
Really hard:
Customer collaboration over contract negotiation
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Hard:
Important:
"Estimation is neither good or bad. If you can work
effectively without estimation, then go ahead and
do without it.
If you think you need some estimates, then make sure you understand their role in decision making. If they are going to affect significant decisions then go ahead and make the best estimates you can.
Above all be wary of anyone who tells you they are always needed, or never needed. Any arguments about use of estimation always defer to the agile principle that
you should decide what are the right techniques for
your particular context."
- Martin Fowler, How do you estimate on an Agile project?
Estimation is valuable when it helps you make a significant decision."
What's actually being destroyed here? Information
Generally speaking, less destructive estimates also handle the inclusion of new information better as well.
Totally avoiding all planning is pretty destructive
Our theory:
This is one of the motivations behind #NoEstimates.
Hopefully you have some software that can help!
There is no "best method", so stay agile in your approach!
All estimation methods can feel like "a lot for a little" or "a little for a lot", depending on whether the information provided addresses current problems.
Don't try to produce estimates if there are no clear decisions to be made.
Use the technique that provides the right information for the current decision with the least overhead.
Destructive
Non-destructive
One single number
Magic documentation of every possible permutation and every possible risk
Story points
Statistical analysis
Risk registries
Gantt charts
T-shirt sizes
Big/Uncertain/Small
Roadmaps
Results from a spike
Trend data
More consequences
Fewer consequences
3-point estimates
A single "padded" number
No context
Implied context
Qualitative risk
Quantitative risk
Somewhat destructive - relies heavily on context and precedents to interpret values
Do we need to do a research spike?
Is this enough work for the team for a period of time?
Do we need more resources?
How might we approach this work?
Distilled version of shared team knowledge
The estimation process itself gets people thinking about how to do tasks, even if the numbers are rubbish
Large and uncertain tasks can be flagged early for spikes/triage
Each task is relatively quick to estimate, so the team can produce a lot of information in bulk
Units of measurement and other explicit context that stakeholders outside of the Agile team understand
Assessment of risks outside of tasks
Dates
When communicating with stakeholders outside of the Agile team (because of tacit context)
Deciding fixed dollar-value costs for a project
Setting deadlines for delivery
Quantitative analysis of risk
Non-destructive - statistical forecasting (Monte Carlo, etc.) based on all available real data.
#NoEstimates for individual stories.
(No longer dealing with individual tasks)
What resources do we need?
How can we co-ordinate our agile teams?
How can we make high-level improvements?
How can we plan time-boxed activities?
Automated charts if you are using tools that support it
Long term trends that are as accurate as story points anyway
Presented as data that can be subjected to quantitative analysis (maybe via an API)
Charts and predictions that people outside the team can understand
All information about individual tasks
Triage or research opportunities
How might we approach the work?
If there's a lot of uncertainty in upcoming work or variability in the data
When you don't have much data yet
Identifying individual tasks that might need triage
If team members are changing, not as portable between teams
If the team relies on having an estimation process to break down and think through tasks before they start
Waterfall projects or tenders
Semi destructive, because we only see one possible sequence/timeline when in reality there are many
How can we co-ordinate non-agile teams, potentially across multiple departments?
Can we make high-fidelity resourcing decisions?
How can we hit a specific deadline?
What do we need to do to meet dependencies between tasks?
Key dates
Concurrent vs. serial tasks
Highlights dependencies between tasks
Can incorporate resource management
Very visual, based on calendars
Addresses a broad range of common external stakeholder questions
Priorities
Impact of uncertainty in tasks
Team velocity data
Other possible timelines
When there is a lot of uncertainty in tasks, making many alternate timelines likely
Very time consuming to constantly re-do
Not that helpful in correlating blow-out of individual tasks to overall project dates
Overkill for simple projects
Very non-destructive but suffering from information overload
All decisions
What gender your child will be
What animal you will be reincarnated as
Estimation is valuable when it helps you make a significant decision."