SlideShare una empresa de Scribd logo
1 de 42
The Uncertainty Principle
How to manage fast-moving, projects, clients and
requirements
Hello! it’s
about
!
Developer, Problem solver, Ruby
evangelist, Agile practitioner.
You can find me at:
● FredAtBootstrap
● http://bootstrap.me.uk
Fred
Chances of failure
https://www.wrike.com/blog/complete-collection-project-management-statistics-2015/
Small Projects
(< $1,000,000)
Chances of failure
https://www.wrike.com/blog/complete-collection-project-management-statistics-2015/
Large Projects
(> $1,000,000)
1. Changing priorities within organization – 40%
2. Inaccurate requirements – 38%
3. Change in project objectives – 35%
4. Undefined risks/opportunities – 30%
5. Poor communication – 30%
6. Undefined project goals – 30%https://www.wrike.com/blog/complete-collection-project-management-statistics-2015/
Causes of failure
Heisenberg
complementary variables
The uncertainty principle (quantum mechanics)
The uncertainty principle (software mechanics)
𝚫q
𝚫t
minimise
Your Client
I have a great
new idea!!
HONESTY
Response #1
CUSHIONING
Response #2
SCRUM
SCRUM lifecycle
(2 weeks)
What’s in a Sprint?
PRAGMATISM
Response #3
Benefits of Sprint-based development
Transparency
Predictability
Reliability
Responsiveness
Risk Mitigation (for customers and self)
Difficulties of Sprint-based development
Customers must participate
Works best for small-medium organizations
Behavior-Driven
Development Common language +
Executable Specifications
Inside-Out development (traditional)
Development
Testing
Stakeholders
Bug
CodeCode
Bug
Outside-In development (BDD)
Development
Testing
Stakeholders
FeaturesExecutable specificationsCode
BDD Tools
Features
Created by: Client / Product
Owner
As an [Actor]
I want [specific System Behavior]
So that I can [have a tangible
benefit]
BDD
Scenarios
Given [a condition exists]
When [an action occurs]
Then [expected result]
Feature: User Authentication
As a registered customer
I want to log on the site
So that I can buy some cool stuff
Only custom authentication supported at this stage
If customer has bought during last month show welcome message
If customer hasn’t bought in last month or more, show offers page
Scenario: recent customer logs in
Given customer visits our login page
And customer enters correct username and password
And customer has bought something during last month
Then customer sees “Hi <name>, welcome back!” Message
Step definitions
Created by: Developers /
Testers
Feature Scenario
Given [a condition exists]
When [an action occurs]
Then [expected result]
Step Definition
[code that checks condition]
[code that implements action]
[code that tests for expected
result]
BDD
Step definitions: User Authentication
Given (/^customer visits our login page$/) do
visit(‘http://our-site.com’)
end
And (/^customer enters correct username and password$/) do
fill_in(usr_name_field, with: ‘fred@gmail.com’
fill_in(password_field, with: ‘password’
end
And (/^customer has bought something during last month$/) do
purchase = Purchases.where(purchase_contact = @user.email)
assert purchase.order_date > Time.now - 1.month
end
And (/^customer sees “Hi <name>, welcome back!” Message$/) do
assert_equal page.has_text?("1 Items found"), true
end
Implementation
Created by: Developers
def create
@pid = params[:pid]
@profile = Profile.find_or_create(@pid)
@profile.apply_permissions(current_user)
if params.has_key?(:files)
create_from_upload(params)
elsif params.has_key?(:profile)
add_metadata(params[:profile], "")
end
end
def update
@pid = params[:pid]
redirect_field = ""
if params.has_key?(:redirect_field)
redirect_field = params[:redirect_field]
end
if params.has_key?(:files)
create_from_upload(params)
elsif profile_params
add_metadata(params[:profile], redirect_field)
else
respond_to do |format|
format.html { render action: 'edit' }
format.json { render json: @profile.errors, status:
:unprocessable_entity }
end
end
end
BDD
BDD benefits
•Everyone talks the same language
•Expectations are fully understood
•Living documentation
•Measurable progress
•Considerable bug reduction
30% bugs per cycle to 2%
http://www.belatrixsf.com/index.php
/whitepapers-successful-project-
with-behavior-driven-development
BDD benefits: case studies
Zero known defects
http://www.capita-
itps.co.uk/media/127798/BDD-Case-
study-2.pdf
SCRUM lifecycle
(2 weeks)
BDD Sprint (preparation)
Product backlog
Feature
Scenarios
Knowledge
acquisition
BugsTechnical
work
BDD Sprint (2-week cycle)
Day Activity Input Output
1 Planning Product Backlog Sprint Backlog,
Sprint Goal
Client: Sets business priorities
Product Owner + Dev Team: Set technical priorities, estimate work
BDD Sprint (2-week cycle)
Day Activity Input Output
1 Planning Product Backlog Sprint Backlog,
Sprint Goal
2-3 Design &
Architecture
Sprint Backlog Step Definitions /
tests
Dev Team: Use Step Definitions to debate and influence design & architecture
BDD Sprint (2-week cycle)
Day Activity Input Output
1 Planning Product Backlog Sprint Backlog,
Sprint Goal
2-3 Design &
Architecture
Sprint Backlog Step definitions /
tests
4-9 Coding Step definitions /
tests
<Working Code>
Dev Team: Done = Cucumber green!
BDD Sprint (2-week cycle)
Day Activity Input Output
1 Planning Product Backlog Sprint Backlog,
Sprint Goal
2-3 Design &
Architecture
Sprint Backlog Step definitions /
tests
4-9 Coding Step definitions /
tests
<Working Code>
10 Show & Tell <Working Code> Customer feedback
Everyone: show what we’ve done
BDD Sprint (2-week cycle)
Day Activity Input Output
1 Planning Product Backlog Sprint Backlog,
Sprint Goal
2-3 Design &
Architecture
Sprint Backlog Step definitions /
tests
4-9 Coding Step definitions /
tests
<Working Code>
10 Show & Tell <Working Code> Customer feedback
10 Sprint Review Pos / neg feedback Improvement list
Dev Team: what we learned
1. Changing priorities within organization – 40%
2. Inaccurate requirements – 38%
3. Change in project objectives – 35%
4. Undefined risks/opportunities – 30%
5. Poor communication – 30%
6. Undefined project goals – 30%https://www.wrike.com/blog/complete-collection-project-management-statistics-2015/
Causes of failure - addressed by Sprint-based BDD
Sprints + BDD = Delivering the right software at the
right time!
Recommended reading
Any questions?
Ping me at:
FredAtBootstrap
fred@bootstrap.me.uk

Más contenido relacionado

Similar a Port80: the uncertainty principle

Integrating agile into sdlc presentation pmi v2
Integrating agile into sdlc presentation   pmi v2Integrating agile into sdlc presentation   pmi v2
Integrating agile into sdlc presentation pmi v2
pmimkecomm
 
Agile Truths and Misconceptions
Agile Truths and MisconceptionsAgile Truths and Misconceptions
Agile Truths and Misconceptions
Richard Cheng
 

Similar a Port80: the uncertainty principle (20)

Scrum introduc.ppt
Scrum introduc.pptScrum introduc.ppt
Scrum introduc.ppt
 
Project Result PowerPoint Presentation Slides
Project Result PowerPoint Presentation Slides Project Result PowerPoint Presentation Slides
Project Result PowerPoint Presentation Slides
 
Project Deliverables Powerpoint Presentation Slides
Project Deliverables Powerpoint Presentation SlidesProject Deliverables Powerpoint Presentation Slides
Project Deliverables Powerpoint Presentation Slides
 
Project Deliverables PowerPoint Presentation Slides
Project Deliverables PowerPoint Presentation SlidesProject Deliverables PowerPoint Presentation Slides
Project Deliverables PowerPoint Presentation Slides
 
Learn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream managementLearn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream management
 
Scope Management Powerpoint Presentation Slides
Scope Management Powerpoint Presentation SlidesScope Management Powerpoint Presentation Slides
Scope Management Powerpoint Presentation Slides
 
Integrating agile into sdlc presentation pmi v2
Integrating agile into sdlc presentation   pmi v2Integrating agile into sdlc presentation   pmi v2
Integrating agile into sdlc presentation pmi v2
 
Project Output PowerPoint Presentation Slides
Project Output PowerPoint Presentation Slides Project Output PowerPoint Presentation Slides
Project Output PowerPoint Presentation Slides
 
Project Output Powerpoint Presentation Slides
Project Output Powerpoint Presentation SlidesProject Output Powerpoint Presentation Slides
Project Output Powerpoint Presentation Slides
 
Andrew Lukianenko: How product thinking can change your project management mo...
Andrew Lukianenko: How product thinking can change your project management mo...Andrew Lukianenko: How product thinking can change your project management mo...
Andrew Lukianenko: How product thinking can change your project management mo...
 
Project Execution PowerPoint Presentation Slides
Project Execution PowerPoint Presentation SlidesProject Execution PowerPoint Presentation Slides
Project Execution PowerPoint Presentation Slides
 
Sample Product Management Lifecycle Presentation
Sample Product Management Lifecycle PresentationSample Product Management Lifecycle Presentation
Sample Product Management Lifecycle Presentation
 
Delivering beautiful software & web products efficiently 2022_Sep.pdf
Delivering beautiful software & web products efficiently 2022_Sep.pdfDelivering beautiful software & web products efficiently 2022_Sep.pdf
Delivering beautiful software & web products efficiently 2022_Sep.pdf
 
Project Execution Powerpoint Presentation Slides
Project Execution Powerpoint Presentation SlidesProject Execution Powerpoint Presentation Slides
Project Execution Powerpoint Presentation Slides
 
Agile Truths and Misconceptions
Agile Truths and MisconceptionsAgile Truths and Misconceptions
Agile Truths and Misconceptions
 
Project Gain PowerPoint Presentation Slides
Project Gain PowerPoint Presentation Slides Project Gain PowerPoint Presentation Slides
Project Gain PowerPoint Presentation Slides
 
software-dev-life.pptx
software-dev-life.pptxsoftware-dev-life.pptx
software-dev-life.pptx
 
Managing an Experimentation Platform by LinkedIn Product Leader
Managing an Experimentation Platform by LinkedIn Product LeaderManaging an Experimentation Platform by LinkedIn Product Leader
Managing an Experimentation Platform by LinkedIn Product Leader
 
How to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderHow to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate Founder
 
Mike Cottmeyer - How to Own a Really big complex Product
Mike Cottmeyer - How to Own a Really big complex ProductMike Cottmeyer - How to Own a Really big complex Product
Mike Cottmeyer - How to Own a Really big complex Product
 

Más de Fred Heath

Más de Fred Heath (7)

Agile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDDAgile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDD
 
Nim programming language - DevFest Berlin 2019
Nim programming language -  DevFest Berlin 2019Nim programming language -  DevFest Berlin 2019
Nim programming language - DevFest Berlin 2019
 
USP Estimation - SwanseaCon 2016
USP Estimation - SwanseaCon 2016USP Estimation - SwanseaCon 2016
USP Estimation - SwanseaCon 2016
 
Introduction to Nim
Introduction to NimIntroduction to Nim
Introduction to Nim
 
Agile diff usp
Agile diff uspAgile diff usp
Agile diff usp
 
Design Patterns the Ruby way - ConFoo 2015
Design Patterns the Ruby way - ConFoo 2015Design Patterns the Ruby way - ConFoo 2015
Design Patterns the Ruby way - ConFoo 2015
 
User Story Point estimation method at ConFoo 2015
User Story Point estimation method at ConFoo 2015User Story Point estimation method at ConFoo 2015
User Story Point estimation method at ConFoo 2015
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Port80: the uncertainty principle

  • 1. The Uncertainty Principle How to manage fast-moving, projects, clients and requirements
  • 2. Hello! it’s about ! Developer, Problem solver, Ruby evangelist, Agile practitioner. You can find me at: ● FredAtBootstrap ● http://bootstrap.me.uk Fred
  • 5. 1. Changing priorities within organization – 40% 2. Inaccurate requirements – 38% 3. Change in project objectives – 35% 4. Undefined risks/opportunities – 30% 5. Poor communication – 30% 6. Undefined project goals – 30%https://www.wrike.com/blog/complete-collection-project-management-statistics-2015/ Causes of failure
  • 7. The uncertainty principle (quantum mechanics)
  • 8. The uncertainty principle (software mechanics) 𝚫q 𝚫t minimise
  • 9. Your Client I have a great new idea!!
  • 12. SCRUM
  • 14. What’s in a Sprint?
  • 16. Benefits of Sprint-based development Transparency Predictability Reliability Responsiveness Risk Mitigation (for customers and self)
  • 17. Difficulties of Sprint-based development Customers must participate Works best for small-medium organizations
  • 18. Behavior-Driven Development Common language + Executable Specifications
  • 22. Features Created by: Client / Product Owner As an [Actor] I want [specific System Behavior] So that I can [have a tangible benefit] BDD Scenarios Given [a condition exists] When [an action occurs] Then [expected result]
  • 23. Feature: User Authentication As a registered customer I want to log on the site So that I can buy some cool stuff Only custom authentication supported at this stage If customer has bought during last month show welcome message If customer hasn’t bought in last month or more, show offers page Scenario: recent customer logs in Given customer visits our login page And customer enters correct username and password And customer has bought something during last month Then customer sees “Hi <name>, welcome back!” Message
  • 24. Step definitions Created by: Developers / Testers Feature Scenario Given [a condition exists] When [an action occurs] Then [expected result] Step Definition [code that checks condition] [code that implements action] [code that tests for expected result] BDD
  • 25. Step definitions: User Authentication Given (/^customer visits our login page$/) do visit(‘http://our-site.com’) end And (/^customer enters correct username and password$/) do fill_in(usr_name_field, with: ‘fred@gmail.com’ fill_in(password_field, with: ‘password’ end And (/^customer has bought something during last month$/) do purchase = Purchases.where(purchase_contact = @user.email) assert purchase.order_date > Time.now - 1.month end And (/^customer sees “Hi <name>, welcome back!” Message$/) do assert_equal page.has_text?("1 Items found"), true end
  • 26.
  • 27. Implementation Created by: Developers def create @pid = params[:pid] @profile = Profile.find_or_create(@pid) @profile.apply_permissions(current_user) if params.has_key?(:files) create_from_upload(params) elsif params.has_key?(:profile) add_metadata(params[:profile], "") end end def update @pid = params[:pid] redirect_field = "" if params.has_key?(:redirect_field) redirect_field = params[:redirect_field] end if params.has_key?(:files) create_from_upload(params) elsif profile_params add_metadata(params[:profile], redirect_field) else respond_to do |format| format.html { render action: 'edit' } format.json { render json: @profile.errors, status: :unprocessable_entity } end end end BDD
  • 28.
  • 29.
  • 30. BDD benefits •Everyone talks the same language •Expectations are fully understood •Living documentation •Measurable progress •Considerable bug reduction
  • 31. 30% bugs per cycle to 2% http://www.belatrixsf.com/index.php /whitepapers-successful-project- with-behavior-driven-development BDD benefits: case studies Zero known defects http://www.capita- itps.co.uk/media/127798/BDD-Case- study-2.pdf
  • 33. BDD Sprint (preparation) Product backlog Feature Scenarios Knowledge acquisition BugsTechnical work
  • 34. BDD Sprint (2-week cycle) Day Activity Input Output 1 Planning Product Backlog Sprint Backlog, Sprint Goal Client: Sets business priorities Product Owner + Dev Team: Set technical priorities, estimate work
  • 35. BDD Sprint (2-week cycle) Day Activity Input Output 1 Planning Product Backlog Sprint Backlog, Sprint Goal 2-3 Design & Architecture Sprint Backlog Step Definitions / tests Dev Team: Use Step Definitions to debate and influence design & architecture
  • 36. BDD Sprint (2-week cycle) Day Activity Input Output 1 Planning Product Backlog Sprint Backlog, Sprint Goal 2-3 Design & Architecture Sprint Backlog Step definitions / tests 4-9 Coding Step definitions / tests <Working Code> Dev Team: Done = Cucumber green!
  • 37. BDD Sprint (2-week cycle) Day Activity Input Output 1 Planning Product Backlog Sprint Backlog, Sprint Goal 2-3 Design & Architecture Sprint Backlog Step definitions / tests 4-9 Coding Step definitions / tests <Working Code> 10 Show & Tell <Working Code> Customer feedback Everyone: show what we’ve done
  • 38. BDD Sprint (2-week cycle) Day Activity Input Output 1 Planning Product Backlog Sprint Backlog, Sprint Goal 2-3 Design & Architecture Sprint Backlog Step definitions / tests 4-9 Coding Step definitions / tests <Working Code> 10 Show & Tell <Working Code> Customer feedback 10 Sprint Review Pos / neg feedback Improvement list Dev Team: what we learned
  • 39. 1. Changing priorities within organization – 40% 2. Inaccurate requirements – 38% 3. Change in project objectives – 35% 4. Undefined risks/opportunities – 30% 5. Poor communication – 30% 6. Undefined project goals – 30%https://www.wrike.com/blog/complete-collection-project-management-statistics-2015/ Causes of failure - addressed by Sprint-based BDD
  • 40. Sprints + BDD = Delivering the right software at the right time!
  • 42. Any questions? Ping me at: FredAtBootstrap fred@bootstrap.me.uk

Notas del editor

  1. Joke: Newport linguo Segue: Hands-up: How many here work in small -to medium projects (< £0.5 million) ?
  2. Challenged = missed deadline or failed to deliver full functionality Segue: Hands-up: How many here work in large projects (> £0.5 million) ?
  3. Segue: So what causes projects to fail?
  4. Not going to repeat causes but they all fall under i) mis-managing requirements, ii) poor communication If your project fails, itr won’t be because of technical issues Segue: Hands-up Who is Heisenberg? Hands-up Not the guy from Breaking Bad
  5. Asserted that certain particles have complementary properties, i.e. when one increases the other one decreases
  6. standard deviation of position x and the standard deviation of momentum p , proportionate to modified Planck constant Segue: Uncertainty principle exists in software development
  7. standard deviation of quality/functionality q and the standard deviation of time/cost t Segue: Let’s see how it affects us in development Segue: Uncertainty principle exists in
  8. Invariably leads to two questions: How much and when? Segue: We (dev team) have two choices at this point in time
  9. Segue: would like to talk about a 3rd choice, but first we have to talk about scrum
  10. Question: Who knows about Scrum without thinking of rugby?
  11. Explain Scrum. Sprint is the essence here. Seque: What’s in a sprint?
  12. Seque: Why are Sprints good?
  13. Transparency: client know what and when we’re doing Predictability: set life-cycle, everyone knows when next devlivery will be Responsiveness: short life-cycles allow for responding to change in requirements, priorities, etc. Risk mitigation: Client: can only waste a sprint’s worth of money. Development team: no chance of death-march projects.
  14. Step definitions = Executable specifications
  15. Knowledge acquisition: prototype, compare performance, etc Technical Work: e.g. “setup a MySQL database”
  16. Need to estimate scenarios. Estimation is a topic on its own, please see my SwanseaCon talk
  17. Because of short, incremental sprint cycles, change can be managed easily. Sprint has to show something at the end, so inaccurate requrements caught more often. Cliient is engaged at beginning and end of sprint, so communcation is improved.