No estimates
Capturing
Requirements
How do you capture
requirements?
Reality always wins
Requirements will
change
Cone of Uncertainty
Sizing
Requirements
How do you choose a
size?
Task Breakdown
Shirt Sizes
(XXL, XL, L, M, S, XS, etc)
Throwing dice
FDD
Frown Driven Development
Magic 8 ball
Two
Months
One
Month
User Story Points
Using Fibonacci (1, 2, 3, 5, 8, 13 …)
Planning poker
Discovering
complexity
Complexity is
relative
Tends to average
Can we avoid
estimation?
It will take what it
takes?
Use Facts
Units of work per
week
Let’s make each unit
of work…
Around the same
size
How?
Focus on…
What can we build
in xxx days
that adds value?
NO ESTIMATES!
Acceptance Criteria
When are we done?
Writing Scenarios
Input
Output
Step 1
Step 2
…
Step N
Multiple Scenarios
Gherkin DSL
Business readable DSL
Flush out requirements
Automated testing
Used by Cucumber, SpecFlow,
jBehave
Features
Feature: Listing movies

As a User

I want to list movies 

So I can see the contents of the library
Scenarios
Scenario: List all movies

Given I'm logged in 

And I have (some data loaded)

When I (do some action)

Then I (should see expected results)
Writing reviews
Scenario: Write a review for a movie
Given I'm logged in as a Critic
When I write a review for a movie
Then I should see the new review
in the reviews section
for the movie
Example II
Scenario: See most recent movies first
Given I'm logged in as a User
When I order the list by release date
Then I should see the movies with the
release date most recent first
Guidelines to
write
scenarios
??????
Scenario: Perfect world
Given the application is setup
When I want to use some projects
Then I should be able to load data
And have a great user experience
but no bugs should appear
?????
Scenario: Redirect user
Given a User "dave" with pwd "secret"
And I am not logged in
When I navigate to the home page
And I fill in "Username" with "dave"
And I fill in "Password" with "secret"
And I press “Login"
Then I am redirected to the login form
Just right
Scenario: List all projects
Given I'm logged in
And I have some projects stored
When I list the projects
Then I should see all of them
Estimating
using scenarios
New Functionality
When is the right time to write scenarios?
During Inception?
During Analysis?
During Development?
During QA?
Order Matters Not!
Can every feature be independent?
Size Matters not!
Can every feature be of the same size?
Value matters a lot!
Otherwise why are we building it?
Complexity∝ amount
How many scenarios per feature?
Complexity ∝ amount
Scenarios
0
1
2
4
5
6
7
Complexity
Simple Medium Complex WTF?
Complexity ∝ Clarity
Too many steps
Complexity∝Clarity
If scenarios are unclear
then is time to rethink the feature
Complexity ∝ Clarity
Takes more than 10 minutes to write
Complexity ∝ Clarity
You read it the next day and
have no clue what it means
Recipe
Focus on what can be built in X days
Recipe
One or two scenarios at most
Recipe
Make sure you can implement it in XX
amount of time
(1 or 2 days)
Recipe
Find the simplest scenario
that provides value
Recipe
Find the FACTS (metrics/speed)
and use it to estimate
Recipe
Improve and repeat
THANK YOU!
The Smartest tool
for agile project
management
http://smartview.io
amir@barylko.com
@abarylko
http://bit.ly/abarylkoslides
http://orthocoders.com
http://westerndevs.com

No estimates