Upload
peter-bell
View
1.230
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Estimating and requirements gathering are an important part of all our jobs. Your boss or your client doesn't care about FW/1, CF-ORM or Code Generation, but improving your requirements gathering and estimating skills can make a big difference in how they value your skills.Learn best practices for more accurately specifying and estimating projects using a range of proven patterns developed from specifying and estimating over 400 web applications over more than ten years.
Citation preview
Requirements& Estimating
Scotch on the RocksEdinburgh, March 3-4 2011
Peter BellRailo
Agenda• Requirements
• Intent Driven Design
• User stories 201
• Estimation
• How much?
• Estimating scope
• Estimating duration
• Managing risk
• Four types of features
• Dealing with dark matter
• Managing commitments
• Fixed duration
• Fixed price
• Breaking the iron triangle
Division of Labor
• My Job:
• Present ideas
• Your Job:
• Discriminate, select, adapt, experiment
About you
• Consultant/in-house/product development?
• Team size?
• Number of projects/year?
• Agile?
• User stories?
• Estimates required?
• Fixed bid required?
Requirements
Before user stories . . .
What should we build?
Intent Driven Design• Business intent
• Audiences
• Objectives
• User stories (tasks)
User stories (1)• INVEST
• Independent
• Negotiable
• Valuable
• Estimable
• Small
• Testable
User stories (2)• Tracer bullets, not tasks
• Splitting stories by ...
• Data
• Validation
• Paths
• Edge cases
• Isolate cross cutting concerns
• Make it work, then pretty/fast
Estimation
Why estimate?
Why estimate?• Good reasons to estimate:
• Go/no go based on cost
• Market window
• ROI comparison
Why estimate?• Good reasons to estimate:
• Go/no go based on cost
• Market window
• ROI comparison
• Bad reasons to estimate
• Because . . .
Why estimate?• Good reasons to estimate:
• Go/no go based on cost
• Market window
• ROI comparison
• Bad reasons to estimate
• Because . . .
• Ask whether:
• Time, price or both?
• Will estimate matter?
• Accuracy required?
Estimating scope• Ideal days (load factor)
• Story points
• 1,2,3,5,8
• 0?
• 10,20,30,51?
• T-shirt sizes
• Story count
Estimating scope• Planning poker
• Keys:
• Delphi technique
• Independent estimates
• 1-3 hours, 1-3 sessions
• 2-6 people
Estimating scope
• Magic/Affinity Estimating
• Large number of stories
• Experienced team
Estimating time• Estimating velocity
• Historic rate
• Run iterations
• Make forecasts
• Burn down charts
Managing risk
Four types of feature• Rocket science
• Lab experiment
• New to you
• with a twist
Dealing with dark matter• What you don’t know does hurt you ...
• But obviously . . .
• The dreaded API and technical risk
• Well, that’s almost right . . .
• Now that I see it . . .
• Mitigate:
• Set expectations
• Technical spikes
• Track and refine
Making commitments
Fixed duration• Optional features
• Team size
• Real options
• Schedule buffer
Fixed price• Optional features
• Price buffer
• Scheduling flexibility?
Breaking the iron triangle
Breaking the iron triangle
Requirements are never fixed!
Q&ATwitter: peterbellEmail: [email protected]• Requirements
• Intent Driven Design
• User stories 201
• Estimation
• How much?
• Estimating scope
• Estimating duration
• Managing risk
• Four types of features
• Dealing with dark matter
• Managing commitments
• Fixed duration
• Fixed price
• Breaking the iron triangle