SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Obstacle Driven Development
ODD Extending Agile
Obstacle Driven Development
28/06/2016 ©odd.enterprises 2
Testing First?
28/06/2016 ©odd.enterprises 3
Answering a
question before
its asked is like
creating a
solution before
a test.
Background
Ideas of Obstacle Driven Development (ODD) are based on
numerous development processes including:
• ISO V-model
• Test Driven Development
• ISO specifications
• Requirements analysis spiral
• Agile principles
28/06/2016 ©odd.enterprises 4
Agile Development
Agile is a development
method which is
efficient and adaptable.
• 12 principles guide
developers to
implement Agile
• Methods include
SCRUM and Feature
Driven Development
28/06/2016 ©odd.enterprises 5
Extending Agile
ODD is different to Agile in a
number of ways.
• Full specification stage
implemented
• Tests created first
• Suitable for hardware, software
and embedded
28/06/2016 ©odd.enterprises 6
Agile Manifesto
Agile manifesto describes what is
important for an Agile project.
• Invented by Kent Beck, James
Grenning et al.
• While both are important Agile
values the left over the right
• Individuals and interactions over
processes and tools
• Working software over
comprehensive documentation
• Customer collaboration over
contract negotiation
• Responding to change over
following a plan
© Kent Beck, James Grenning et al.
28/06/2016 ©odd.enterprises 7
ODD Principles
Principles are a reworking of the
Agile manifesto.
• Over substituted to illustrate how
both can support development
• Stages are adapted and models
created to facilitate aims
• Focus on linking obstacles and
tests to solutions and elements
• Processes and tools which
encourage individuals and
interactions
• Working software through
comprehensive documentation
• Contract negotiation through
customer collaboration
• Following a plan which responds
to change
28/06/2016 ©odd.enterprises 8
Principle 1
Processes and tools which
encourage individuals and
interactions.
• Identifying and solving problems
is encouraged
• Individuals empowered to use
full ability of process and tools
• Interactions are simplified with
tests helping communication
28/06/2016 ©odd.enterprises 9
Principle 2
Working software through
comprehensive documentation.
• Describing products and systems
helps create tests and solutions
• Working software designed
according to tests
• Comprehensive documentation
prevents basic errors
28/06/2016 ©odd.enterprises 10
Principle 3
Contract negotiation through
customer collaboration.
• Specification helps meet
customer requirements
• Behaviours easy to describe and
understand
• Creating a specification is cheap,
testable and adaptable
28/06/2016 ©odd.enterprises 11
Principle 4
Following a plan which responds to
change.
• Stages and elements are subject
to change as required
• No stages are frozen and
adaptable to requirements
• Failing tests can result in
modifying previous stages
28/06/2016 ©odd.enterprises 12
Obstacle Driven Development 1
Tests to verify and validate code
adapted to create a new
development model.
• Applications to hardware,
software and embedded
• Links stages with tests for
verification and validation
28/06/2016 ©odd.enterprises 13
Obstacle Driven Development 2
Obstacle Driven Development finds
solutions to obstacles through four
stages of development.
• Analysis
• Specification
• Solution
• Production
28/06/2016 ©odd.enterprises 14
Specification
Solution
Production
Analysis
Obstacle Driven Development 3
Obstacles and solutions linked
through creating and solving tests.
• Obstacles help create tests to link
the next stage
• Elements are the solutions to
tests for a stage
• Elements become obstacles to
link next stage of development
28/06/2016 ©odd.enterprises 15
Obstacle Driven Development 4
Verification and validation links
stages with feedback and
feedforward methods.
• Verification is ensuring a product
is “built in the right way”
• Validation is ensuring a product is
“built right”
• Creating and solving tests give
verification and validation
28/06/2016 ©odd.enterprises 16
Obstacle Driven Development 5
Testing links adjacent stages
through creating and solving tests.
• Analysis
– Utilisation and elicitation
• Specification
– Verification and validation
• Solution
– Testing and design
• Production
– Quality assurance and control
28/06/2016 ©odd.enterprises 17
Verification and Validation
Tests link stages of
development and
verify and validate.
• Stages given
appropriate
verification and
validation
• Obstacles become
tests to verify and
direct solutions
28/06/2016 ©odd.enterprises 18
Success from Failure
Obstacle Driven Development is an
attempt to:
Achieve success by identifying,
correcting and preventing failures
as early, effectively and efficiently
as possible.
28/06/2016 ©odd.enterprises 19
Fail Early, Fail Often
Achieve success through
identifying, correcting and
preventing failure.
• Undiscovered errors cost 10x
more to fix by next stage
• Errors become expensive to solve
• 2 stages missed ≈ 100x
• 3 stages missed ≈ 1000x
28/06/2016 ©odd.enterprises 20
ODD Specification Importance
Specification help improve
development of a product.
• Product cost reduced with
specification process
• Detailed specification prevents
errors from propagating
• Creating and editing a
specification is low cost
28/06/2016 ©odd.enterprises 21
SCRUM 1
SCRUM is a developmental method
for Agile developments.
First defined in 1986 as:
• a flexible, holistic product
development strategy where a
development team works as a
unit to reach a common goal
• Teams organised to achieve
required result
28/06/2016 ©odd.enterprises 22
SCRUM 2
SCRUM helps plan and manage
sprints which facilitate
development.
• Sprints can be between a week
and a month (30 days shown)
• Meetings to demonstrate
progress and discuss problems
• Sprints allow consistent and
sustained progress
28/06/2016 ©odd.enterprises 23
SCRUM Master
Scrum Master responsible for
ensuring a team works to values
and practices of Scrum.
• Process owner for team
• Ensures Scrum is understood and
followed
• Removes impediments to
progress
28/06/2016 ©odd.enterprises 24
Burndown Chart 1
Burndown charts help
plan development
through tasks completed
and remaining.
• Green line is expected
schedule
• Effort is measured
using time
• When remaining tasks
are above ideal
development is
behind schedule
28/06/2016 ©odd.enterprises 25
Burndown Chart 2
Simple burndown chart
where a blue line is an
expected burndown.
• Easy to see if a
project is expected
to overrun
• If actual tasks line is
above ideal tasks
then a project is
behind schedule
28/06/2016 ©odd.enterprises 26
Sprints
Sprints ensure a smooth
flow of work for duration
of development.
• Development work
divided into smaller
sprints
• Sprint has analysis,
planning, development
and testing stages
• Sprints required to be
integrated into projects
28/06/2016 ©odd.enterprises 27
Tests as Sprints
Creating and solving tests measure
progress and ensure obstacles are
solved.
• Creating a test ensures an
obstacle becomes an objective
• Passing a test ensures an
obstacle is solved
• Measurable progress achieved
without unnecessary debugging
28/06/2016 ©odd.enterprises 28
ODD Sprints
ODD Sprints select an obstacle to
create a test and solution.
• Measurable and testable
progress in a sprint
• Tests completed and remaining
give estimate of progress
• Tests completed are accurate
measure of progress
28/06/2016 ©odd.enterprises 29
ODD Burndown Chart
ODD burndown replaces
tasks to be completed
with tests to be solved.
• Tests to solve is
estimate for time
remaining
• Difficulty of passing
tests helps estimate
time required
• Untested tasks may
result in errors
leading to overrun
28/06/2016 ©odd.enterprises 30
ODD Flow Chart
Flow chart demonstrates generic
testing process for each stage.
• Flow chart adapted to give
testing required
• Select Obstacle refers to element
from previous stage
• Create Test and Create Solution
are adapted as necessary
28/06/2016 ©odd.enterprises 31
Creating Tests 1
We create solutions similar to
Behaviour Driven Development.
• Tests created by rewriting a
behaviour and creating test
• Designing solutions according to
tests reduces debugging
• Testing and design continue until
behaviours are enabled
28/06/2016 ©odd.enterprises 32
Creating Tests 2
Test suites created through
behaviours contained in a
specification.
• Creating tests first ensures an
objective is understood
• Design according to passing tests
reduces ambiguity
• Passing a test ensures behaviour
is enabled
28/06/2016 ©odd.enterprises 33
ODD Organisation
Four or more stages structure a
developments organisation.
• Overview of stages and testing
• Stages observed and managed
• Colleague partnerships managed
and maintained
• Stages added as necessary e.g.
for hardware/embedded
28/06/2016 ©odd.enterprises 34
Further Information and Questions
Website
Presentations
Facebook
Twitter
Email
28/06/2016 ©odd.enterprises 35
Legal Stuff
References
Test Driven Development for Embedded C
James Grenning, 2011
Digging into “Fail fast, fail often.”
http://agile.dzone.com/articles/digging-fail-fast-fail-often
Agile vs. Waterfall: How to Approach your Web Development Project
http://www.commonplaces.com/blog/agile-vs-waterfall-how-approach-
your-web-development-project
The Scrum Master Performance Review
http://illustratedagile.com/2011/12/13/the-scrum-master-
performance-review-preparation/
ScrumMaster
http://www.mountaingoatsoftware.com/agile/scrum/scrummaster
Disclaimer
The ODD M-model and associated processes are provided by odd.enterprises and may be
used for any purpose whatsoever.
The names odd.enterprises and associated logos should not be used in any representation,
advertising, publicity or other manner whatsoever to endorse or promote any entity that
adopts or uses the model and/or associated processes.
odd.enterprises does not guarantee to provide support, consulting, training or assistance of
any kind with regards to the use of the model and/or processes including any updates.
You agree to indemnify odd.enterprises and its affiliates, officers, agents and employees
against any claim or demand including reasonable solicitors fees, related to your use,
reliance or adoption of the model and/or processes for any purpose whatsoever.
The model is provided by odd.enterprises “as is” and any express or implied warranties,
included but not limited to the implied warranties of merchantability and fitness for a
particular purpose are expressly disclaimed.
In no event shall odd.enterprises be liable for any damages whatsoever, including but not
limited to claims associated with the loss of data or profits, which may result from any
action in contract, negligence or other tortious claim that arises out of or in connection with
the use or performance of the model.
28/06/2016 ©odd.enterprises 36

Contenu connexe

Tendances

Contracting for Agile Software Development
Contracting for Agile Software DevelopmentContracting for Agile Software Development
Contracting for Agile Software Developmentcspag67
 
Agile Testing Days -the Challenges Ahead
Agile Testing Days -the Challenges AheadAgile Testing Days -the Challenges Ahead
Agile Testing Days -the Challenges AheadDerk-Jan de Grood
 
Customer Collaboration & Product Innovation Using Social Networks
Customer Collaboration & Product Innovation Using Social NetworksCustomer Collaboration & Product Innovation Using Social Networks
Customer Collaboration & Product Innovation Using Social NetworksJohn Carter
 
Six sigma, spc , lean
Six sigma, spc , leanSix sigma, spc , lean
Six sigma, spc , leanAliRaza1767
 
Challenges with measuring quality for agile distributed research type project
Challenges with measuring quality for agile distributed research type projectChallenges with measuring quality for agile distributed research type project
Challenges with measuring quality for agile distributed research type projectChandan Patary
 
Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XPSemen Arslan
 
Ipc2008 Slide Qa In Depth Best Practises
Ipc2008 Slide Qa In Depth Best PractisesIpc2008 Slide Qa In Depth Best Practises
Ipc2008 Slide Qa In Depth Best PractisesAhmed Samir
 
Pmp capm exam preparation
Pmp capm exam preparationPmp capm exam preparation
Pmp capm exam preparationFreedom Monk
 
Implementing a Test Dashboard to Boost Quality
Implementing a Test Dashboard to Boost QualityImplementing a Test Dashboard to Boost Quality
Implementing a Test Dashboard to Boost QualityTechWell
 
Acknowledging The Common Good of Agile
Acknowledging The Common Good of AgileAcknowledging The Common Good of Agile
Acknowledging The Common Good of AgileLogapps LLC
 
Getting a grip on your test maturity using the ambition chart
Getting a grip on your test maturity using the ambition chartGetting a grip on your test maturity using the ambition chart
Getting a grip on your test maturity using the ambition chartDerk-Jan de Grood
 
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...Derk-Jan de Grood
 
Agile testing
Agile testingAgile testing
Agile testingJoe Phan
 
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...John Carter
 
Agile Testing Days -Trends and future in testing 2017
Agile Testing Days -Trends and future in testing 2017Agile Testing Days -Trends and future in testing 2017
Agile Testing Days -Trends and future in testing 2017Derk-Jan de Grood
 
I am a agile tester, because...(masterclass at the Barcelona Test Academy)
I am a agile tester, because...(masterclass at the Barcelona Test Academy)I am a agile tester, because...(masterclass at the Barcelona Test Academy)
I am a agile tester, because...(masterclass at the Barcelona Test Academy)Derk-Jan de Grood
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management iACT Global
 

Tendances (20)

Contracting for Agile Software Development
Contracting for Agile Software DevelopmentContracting for Agile Software Development
Contracting for Agile Software Development
 
Agile Testing Days -the Challenges Ahead
Agile Testing Days -the Challenges AheadAgile Testing Days -the Challenges Ahead
Agile Testing Days -the Challenges Ahead
 
Customer Collaboration & Product Innovation Using Social Networks
Customer Collaboration & Product Innovation Using Social NetworksCustomer Collaboration & Product Innovation Using Social Networks
Customer Collaboration & Product Innovation Using Social Networks
 
Six sigma, spc , lean
Six sigma, spc , leanSix sigma, spc , lean
Six sigma, spc , lean
 
Challenges with measuring quality for agile distributed research type project
Challenges with measuring quality for agile distributed research type projectChallenges with measuring quality for agile distributed research type project
Challenges with measuring quality for agile distributed research type project
 
Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XP
 
Ipc2008 Slide Qa In Depth Best Practises
Ipc2008 Slide Qa In Depth Best PractisesIpc2008 Slide Qa In Depth Best Practises
Ipc2008 Slide Qa In Depth Best Practises
 
Product Management In Agile Practice
Product Management In Agile PracticeProduct Management In Agile Practice
Product Management In Agile Practice
 
Pmp capm exam preparation
Pmp capm exam preparationPmp capm exam preparation
Pmp capm exam preparation
 
Transitioning To Agile
Transitioning To Agile Transitioning To Agile
Transitioning To Agile
 
Implementing a Test Dashboard to Boost Quality
Implementing a Test Dashboard to Boost QualityImplementing a Test Dashboard to Boost Quality
Implementing a Test Dashboard to Boost Quality
 
Acknowledging The Common Good of Agile
Acknowledging The Common Good of AgileAcknowledging The Common Good of Agile
Acknowledging The Common Good of Agile
 
Getting a grip on your test maturity using the ambition chart
Getting a grip on your test maturity using the ambition chartGetting a grip on your test maturity using the ambition chart
Getting a grip on your test maturity using the ambition chart
 
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
 
Agile Testing Days -Trends and future in testing 2017
Agile Testing Days -Trends and future in testing 2017Agile Testing Days -Trends and future in testing 2017
Agile Testing Days -Trends and future in testing 2017
 
I am a agile tester, because...(masterclass at the Barcelona Test Academy)
I am a agile tester, because...(masterclass at the Barcelona Test Academy)I am a agile tester, because...(masterclass at the Barcelona Test Academy)
I am a agile tester, because...(masterclass at the Barcelona Test Academy)
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management
 
Six sigma green belt project roadmap in 10 deliverables 2013 07
Six sigma green belt project roadmap in 10 deliverables 2013 07Six sigma green belt project roadmap in 10 deliverables 2013 07
Six sigma green belt project roadmap in 10 deliverables 2013 07
 

Similaire à ODD: Extending Agile 1.3

ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3Jonathan Herring
 
Obstacle Driven Development Stages
Obstacle Driven Development StagesObstacle Driven Development Stages
Obstacle Driven Development StagesJonathan Herring
 
ODD: Extending V-model Development 1.3.5
ODD: Extending V-model Development 1.3.5ODD: Extending V-model Development 1.3.5
ODD: Extending V-model Development 1.3.5Jonathan Herring
 
ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.3ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.3Jonathan Herring
 
Obstacle Driven Development Models
Obstacle Driven Development ModelsObstacle Driven Development Models
Obstacle Driven Development ModelsJonathan Herring
 
ODD+PC: How to Get Stuff Right
ODD+PC: How to Get Stuff RightODD+PC: How to Get Stuff Right
ODD+PC: How to Get Stuff RightJonathan Herring
 
тестовые стратегии
тестовые стратегиитестовые стратегии
тестовые стратегииCOMAQA.BY
 
ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2Jonathan Herring
 
Microsoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case StudiesMicrosoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case Studiesmeritweb
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
Agile: Not Just for Sofware
Agile: Not Just for SofwareAgile: Not Just for Sofware
Agile: Not Just for SofwareJohn Carter
 
Introduction to Agile Project Management
Introduction to Agile Project ManagementIntroduction to Agile Project Management
Introduction to Agile Project ManagementSemen Arslan
 
Agile and Its Impact on Productivity
Agile and Its Impact on ProductivityAgile and Its Impact on Productivity
Agile and Its Impact on ProductivityDCG Software Value
 
ODD: Extending V-model Development 1.2
ODD: Extending V-model Development 1.2ODD: Extending V-model Development 1.2
ODD: Extending V-model Development 1.2Jonathan Herring
 
Test Planning and Test Estimation Techniques
Test Planning and Test Estimation TechniquesTest Planning and Test Estimation Techniques
Test Planning and Test Estimation TechniquesMurageppa-QA
 

Similaire à ODD: Extending Agile 1.3 (20)

ODD + Project Control 0.9
ODD + Project Control 0.9ODD + Project Control 0.9
ODD + Project Control 0.9
 
ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3
 
ODD Testing
ODD TestingODD Testing
ODD Testing
 
Obstacle Driven Development Stages
Obstacle Driven Development StagesObstacle Driven Development Stages
Obstacle Driven Development Stages
 
ODD + Project Control 1.0
ODD + Project Control 1.0ODD + Project Control 1.0
ODD + Project Control 1.0
 
ODD: Extending V-model Development 1.3.5
ODD: Extending V-model Development 1.3.5ODD: Extending V-model Development 1.3.5
ODD: Extending V-model Development 1.3.5
 
ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.3ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.3
 
Obstacle Driven Development Models
Obstacle Driven Development ModelsObstacle Driven Development Models
Obstacle Driven Development Models
 
ODD+PC: How to Get Stuff Right
ODD+PC: How to Get Stuff RightODD+PC: How to Get Stuff Right
ODD+PC: How to Get Stuff Right
 
ODD: Success and Failure
ODD: Success and FailureODD: Success and Failure
ODD: Success and Failure
 
тестовые стратегии
тестовые стратегиитестовые стратегии
тестовые стратегии
 
ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
Microsoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case StudiesMicrosoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case Studies
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Agile: Not Just for Sofware
Agile: Not Just for SofwareAgile: Not Just for Sofware
Agile: Not Just for Sofware
 
Introduction to Agile Project Management
Introduction to Agile Project ManagementIntroduction to Agile Project Management
Introduction to Agile Project Management
 
Agile and Its Impact on Productivity
Agile and Its Impact on ProductivityAgile and Its Impact on Productivity
Agile and Its Impact on Productivity
 
ODD: Extending V-model Development 1.2
ODD: Extending V-model Development 1.2ODD: Extending V-model Development 1.2
ODD: Extending V-model Development 1.2
 
Test Planning and Test Estimation Techniques
Test Planning and Test Estimation TechniquesTest Planning and Test Estimation Techniques
Test Planning and Test Estimation Techniques
 

Plus de Jonathan Herring

How to Use Project Control 1.0
How to Use Project Control 1.0How to Use Project Control 1.0
How to Use Project Control 1.0Jonathan Herring
 
ODD and Project Control v0.957
ODD and Project Control v0.957ODD and Project Control v0.957
ODD and Project Control v0.957Jonathan Herring
 
Obstacle Driven Development Report v0.9
Obstacle Driven Development Report v0.9Obstacle Driven Development Report v0.9
Obstacle Driven Development Report v0.9Jonathan Herring
 
ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3Jonathan Herring
 
ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2Jonathan Herring
 
ODD: Extending Test Driven Development 1.2
ODD: Extending Test Driven Development 1.2ODD: Extending Test Driven Development 1.2
ODD: Extending Test Driven Development 1.2Jonathan Herring
 
Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development Jonathan Herring
 

Plus de Jonathan Herring (12)

ODD: OODA Evolution
ODD: OODA EvolutionODD: OODA Evolution
ODD: OODA Evolution
 
How to Use Project Control 1.0
How to Use Project Control 1.0How to Use Project Control 1.0
How to Use Project Control 1.0
 
How to be Innovative
How to be InnovativeHow to be Innovative
How to be Innovative
 
ODD and Project Control v0.957
ODD and Project Control v0.957ODD and Project Control v0.957
ODD and Project Control v0.957
 
Obstacle Driven Development Report v0.9
Obstacle Driven Development Report v0.9Obstacle Driven Development Report v0.9
Obstacle Driven Development Report v0.9
 
ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3
 
ODD Definitions
ODD DefinitionsODD Definitions
ODD Definitions
 
ODD: Evolution (short)
ODD: Evolution (short)ODD: Evolution (short)
ODD: Evolution (short)
 
ODD Comparison
ODD ComparisonODD Comparison
ODD Comparison
 
ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2
 
ODD: Extending Test Driven Development 1.2
ODD: Extending Test Driven Development 1.2ODD: Extending Test Driven Development 1.2
ODD: Extending Test Driven Development 1.2
 
Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development
 

Dernier

data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSrknatarajan
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spaintimesproduction05
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 

Dernier (20)

NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 

ODD: Extending Agile 1.3

  • 3. Testing First? 28/06/2016 ©odd.enterprises 3 Answering a question before its asked is like creating a solution before a test.
  • 4. Background Ideas of Obstacle Driven Development (ODD) are based on numerous development processes including: • ISO V-model • Test Driven Development • ISO specifications • Requirements analysis spiral • Agile principles 28/06/2016 ©odd.enterprises 4
  • 5. Agile Development Agile is a development method which is efficient and adaptable. • 12 principles guide developers to implement Agile • Methods include SCRUM and Feature Driven Development 28/06/2016 ©odd.enterprises 5
  • 6. Extending Agile ODD is different to Agile in a number of ways. • Full specification stage implemented • Tests created first • Suitable for hardware, software and embedded 28/06/2016 ©odd.enterprises 6
  • 7. Agile Manifesto Agile manifesto describes what is important for an Agile project. • Invented by Kent Beck, James Grenning et al. • While both are important Agile values the left over the right • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan © Kent Beck, James Grenning et al. 28/06/2016 ©odd.enterprises 7
  • 8. ODD Principles Principles are a reworking of the Agile manifesto. • Over substituted to illustrate how both can support development • Stages are adapted and models created to facilitate aims • Focus on linking obstacles and tests to solutions and elements • Processes and tools which encourage individuals and interactions • Working software through comprehensive documentation • Contract negotiation through customer collaboration • Following a plan which responds to change 28/06/2016 ©odd.enterprises 8
  • 9. Principle 1 Processes and tools which encourage individuals and interactions. • Identifying and solving problems is encouraged • Individuals empowered to use full ability of process and tools • Interactions are simplified with tests helping communication 28/06/2016 ©odd.enterprises 9
  • 10. Principle 2 Working software through comprehensive documentation. • Describing products and systems helps create tests and solutions • Working software designed according to tests • Comprehensive documentation prevents basic errors 28/06/2016 ©odd.enterprises 10
  • 11. Principle 3 Contract negotiation through customer collaboration. • Specification helps meet customer requirements • Behaviours easy to describe and understand • Creating a specification is cheap, testable and adaptable 28/06/2016 ©odd.enterprises 11
  • 12. Principle 4 Following a plan which responds to change. • Stages and elements are subject to change as required • No stages are frozen and adaptable to requirements • Failing tests can result in modifying previous stages 28/06/2016 ©odd.enterprises 12
  • 13. Obstacle Driven Development 1 Tests to verify and validate code adapted to create a new development model. • Applications to hardware, software and embedded • Links stages with tests for verification and validation 28/06/2016 ©odd.enterprises 13
  • 14. Obstacle Driven Development 2 Obstacle Driven Development finds solutions to obstacles through four stages of development. • Analysis • Specification • Solution • Production 28/06/2016 ©odd.enterprises 14 Specification Solution Production Analysis
  • 15. Obstacle Driven Development 3 Obstacles and solutions linked through creating and solving tests. • Obstacles help create tests to link the next stage • Elements are the solutions to tests for a stage • Elements become obstacles to link next stage of development 28/06/2016 ©odd.enterprises 15
  • 16. Obstacle Driven Development 4 Verification and validation links stages with feedback and feedforward methods. • Verification is ensuring a product is “built in the right way” • Validation is ensuring a product is “built right” • Creating and solving tests give verification and validation 28/06/2016 ©odd.enterprises 16
  • 17. Obstacle Driven Development 5 Testing links adjacent stages through creating and solving tests. • Analysis – Utilisation and elicitation • Specification – Verification and validation • Solution – Testing and design • Production – Quality assurance and control 28/06/2016 ©odd.enterprises 17
  • 18. Verification and Validation Tests link stages of development and verify and validate. • Stages given appropriate verification and validation • Obstacles become tests to verify and direct solutions 28/06/2016 ©odd.enterprises 18
  • 19. Success from Failure Obstacle Driven Development is an attempt to: Achieve success by identifying, correcting and preventing failures as early, effectively and efficiently as possible. 28/06/2016 ©odd.enterprises 19
  • 20. Fail Early, Fail Often Achieve success through identifying, correcting and preventing failure. • Undiscovered errors cost 10x more to fix by next stage • Errors become expensive to solve • 2 stages missed ≈ 100x • 3 stages missed ≈ 1000x 28/06/2016 ©odd.enterprises 20
  • 21. ODD Specification Importance Specification help improve development of a product. • Product cost reduced with specification process • Detailed specification prevents errors from propagating • Creating and editing a specification is low cost 28/06/2016 ©odd.enterprises 21
  • 22. SCRUM 1 SCRUM is a developmental method for Agile developments. First defined in 1986 as: • a flexible, holistic product development strategy where a development team works as a unit to reach a common goal • Teams organised to achieve required result 28/06/2016 ©odd.enterprises 22
  • 23. SCRUM 2 SCRUM helps plan and manage sprints which facilitate development. • Sprints can be between a week and a month (30 days shown) • Meetings to demonstrate progress and discuss problems • Sprints allow consistent and sustained progress 28/06/2016 ©odd.enterprises 23
  • 24. SCRUM Master Scrum Master responsible for ensuring a team works to values and practices of Scrum. • Process owner for team • Ensures Scrum is understood and followed • Removes impediments to progress 28/06/2016 ©odd.enterprises 24
  • 25. Burndown Chart 1 Burndown charts help plan development through tasks completed and remaining. • Green line is expected schedule • Effort is measured using time • When remaining tasks are above ideal development is behind schedule 28/06/2016 ©odd.enterprises 25
  • 26. Burndown Chart 2 Simple burndown chart where a blue line is an expected burndown. • Easy to see if a project is expected to overrun • If actual tasks line is above ideal tasks then a project is behind schedule 28/06/2016 ©odd.enterprises 26
  • 27. Sprints Sprints ensure a smooth flow of work for duration of development. • Development work divided into smaller sprints • Sprint has analysis, planning, development and testing stages • Sprints required to be integrated into projects 28/06/2016 ©odd.enterprises 27
  • 28. Tests as Sprints Creating and solving tests measure progress and ensure obstacles are solved. • Creating a test ensures an obstacle becomes an objective • Passing a test ensures an obstacle is solved • Measurable progress achieved without unnecessary debugging 28/06/2016 ©odd.enterprises 28
  • 29. ODD Sprints ODD Sprints select an obstacle to create a test and solution. • Measurable and testable progress in a sprint • Tests completed and remaining give estimate of progress • Tests completed are accurate measure of progress 28/06/2016 ©odd.enterprises 29
  • 30. ODD Burndown Chart ODD burndown replaces tasks to be completed with tests to be solved. • Tests to solve is estimate for time remaining • Difficulty of passing tests helps estimate time required • Untested tasks may result in errors leading to overrun 28/06/2016 ©odd.enterprises 30
  • 31. ODD Flow Chart Flow chart demonstrates generic testing process for each stage. • Flow chart adapted to give testing required • Select Obstacle refers to element from previous stage • Create Test and Create Solution are adapted as necessary 28/06/2016 ©odd.enterprises 31
  • 32. Creating Tests 1 We create solutions similar to Behaviour Driven Development. • Tests created by rewriting a behaviour and creating test • Designing solutions according to tests reduces debugging • Testing and design continue until behaviours are enabled 28/06/2016 ©odd.enterprises 32
  • 33. Creating Tests 2 Test suites created through behaviours contained in a specification. • Creating tests first ensures an objective is understood • Design according to passing tests reduces ambiguity • Passing a test ensures behaviour is enabled 28/06/2016 ©odd.enterprises 33
  • 34. ODD Organisation Four or more stages structure a developments organisation. • Overview of stages and testing • Stages observed and managed • Colleague partnerships managed and maintained • Stages added as necessary e.g. for hardware/embedded 28/06/2016 ©odd.enterprises 34
  • 35. Further Information and Questions Website Presentations Facebook Twitter Email 28/06/2016 ©odd.enterprises 35
  • 36. Legal Stuff References Test Driven Development for Embedded C James Grenning, 2011 Digging into “Fail fast, fail often.” http://agile.dzone.com/articles/digging-fail-fast-fail-often Agile vs. Waterfall: How to Approach your Web Development Project http://www.commonplaces.com/blog/agile-vs-waterfall-how-approach- your-web-development-project The Scrum Master Performance Review http://illustratedagile.com/2011/12/13/the-scrum-master- performance-review-preparation/ ScrumMaster http://www.mountaingoatsoftware.com/agile/scrum/scrummaster Disclaimer The ODD M-model and associated processes are provided by odd.enterprises and may be used for any purpose whatsoever. The names odd.enterprises and associated logos should not be used in any representation, advertising, publicity or other manner whatsoever to endorse or promote any entity that adopts or uses the model and/or associated processes. odd.enterprises does not guarantee to provide support, consulting, training or assistance of any kind with regards to the use of the model and/or processes including any updates. You agree to indemnify odd.enterprises and its affiliates, officers, agents and employees against any claim or demand including reasonable solicitors fees, related to your use, reliance or adoption of the model and/or processes for any purpose whatsoever. The model is provided by odd.enterprises “as is” and any express or implied warranties, included but not limited to the implied warranties of merchantability and fitness for a particular purpose are expressly disclaimed. In no event shall odd.enterprises be liable for any damages whatsoever, including but not limited to claims associated with the loss of data or profits, which may result from any action in contract, negligence or other tortious claim that arises out of or in connection with the use or performance of the model. 28/06/2016 ©odd.enterprises 36