Requirements and estimating

Preview:

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: peter@pbell.com• 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

Recommended