SlideShare a Scribd company logo
Obstacle Driven Development
ODD Comparison
©odd.enterprises
11/03/2015
Obstacle Driven Development
11/03/2015 ©odd.enterprises 2
ODD Circle Model
11/03/2015 ©odd.enterprises 3
ODD Process
11/03/2015 ©odd.enterprises 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
11/03/2015 ©odd.enterprises 5
What is ODD? v. What do you want ODD to be?
11/03/2015 ©odd.enterprises 6
TDD v. ODD
11/03/2015 ©odd.enterprises 7
BDD v. ODD
11/03/2015 ©odd.enterprises 8
Write
Test
Write
Code
Validate /
Refactor
Behaviour
V-model v. ODD
11/03/2015 ©odd.enterprises 9
ISO V-model v. ODD
11/03/2015 ©odd.enterprises 10
TDD V-model v. ODD
11/03/2015 ©odd.enterprises 11
Waterfall v. ODD
11/03/2015 ©odd.enterprises 12
Waterfall v. ODD (both with feedback)
11/03/2015 ©odd.enterprises 13
Requirements Spiral v. ODD Requirements
11/03/2015 ©odd.enterprises 14
Agile Framework v. ODD Framework
11/03/2015 ©odd.enterprises 15
Traditional Domains v. ODD Domains
11/03/2015 ©odd.enterprises 16
Unit Tests v. ODD Unit Tests
11/03/2015 ©odd.enterprises 17
Unit Tests v. ODD Unit Tests
11/03/2015 ©odd.enterprises 18
QASymphony v. odd.enterprises
11/03/2015 ©odd.enterprises 19
ODD Specification Importance
A specification can improve the
development process of a product.
• Product cost is reduced with an
improved specification process
• Using a full specification can
prevent errors from propagating
• Creating and editing a
specification is low cost
11/03/2015 ©odd.enterprises 20
ODD Simple
Verification and validation are
applied to link stages and provide
feedback.
• 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
11/03/2015 ©odd.enterprises 21
ODD Complex
Verification and validation are to
the left of each stage.
• Specification
– Verification and validation
• Solution
– Testing and design
• Production
– Quality assurance and control
• Analysis
– Utilisation and elicitation
11/03/2015 ©odd.enterprises 22
Testing Procedure
Unit testing is used and extended
throughout each stage for ODD
testing.
• Each stage is assigned a red light
to begin
• Amber lights are obtained when
tests are created for next stage
• Green light is for when tests are
passed and next stage linked
11/03/2015 ©odd.enterprises 23
ODD Combined
The diagram shows an ODD process
combined with an M-model and the
resulting model.
• Traffic lights between stages
indicate unit tests required
• Linking tests and elements
ensures obstacles are solved
• Each element is created through
a unit test
11/03/2015 ©odd.enterprises 24
ODD Elements
• Elements are the smallest
practical levels of a product
and are sub divided
11/03/2015 ©odd.enterprises 25
• Elements are solutions of
verification tests generated
by a previous stage
ODD Solution
Using a specification allows
creation of tests based on
described behaviours.
• Solution is used to describe
individual and integrated designs
• If a solution is designed to pass
tests then testing becomes easier
• Unit testing and test suites used
11/03/2015 ©odd.enterprises 26
Create Test
Design
Solution
Pass
Test
Behaviour
ODD Solution Flowchart
A flow chart has been designed to
explain use of an ODD Solution.
1. A behaviour is selected which
has to be covered by a solution
2. Unit test is created
3. Solution is designed
4. If fail repeat Stage 3
5. Repeat Stages 1 – 4 until all
behaviours are specified
11/03/2015 ©odd.enterprises 27
ODD Solution and Flowchart
11/03/2015 ©odd.enterprises 28
Linking Tests
Tests link behaviours with solutions
through testing and design.
• Solutions are designed to tests
created
• Each solution is a single aspect of
the product
• Unit testing is applied
• Test suite created
11/03/2015 ©odd.enterprises 29
Linking Stages, Tests and Elements
• Situation A is analysed
– Tests verify and validate Behaviour A
• Behaviour A covers Situation A
– Testing and design of Solution A
• Solution A implements Behaviour A
– Tests for quality assurance and control
of Production A
• Production A implements Solution A
– Tests for utilisation and elicitation of
product Situation A
11/03/2015 ©odd.enterprises 30
ODD Waterfall Flowchart
11/03/2015 ©odd.enterprises 31
ODD Agile Flowchart
11/03/2015 ©odd.enterprises 32
ODD Complete Flowchart
11/03/2015 ©odd.enterprises 33
ODD Timeline
• Feb 2013 – Introduced to TDD and
learned other components
• October 2013 – Invented Problem
Driven Development, ODDs initial form
• April 2014 – Revised, refined and
renamed as ODD
• August 2014 – odd.enterprises created
to build awareness for ODD
• February 2015 – Audience is created
and interested by ODD
• Ongoing – Increase interest
11/03/2015 ©odd.enterprises 34
Further Information and Questions
• Website
• Presentations
• Facebook
• Twitter
• Email
11/03/2015 ©odd.enterprises 35
Legal Stuff
References
Test Driven Development for Embedded C
James Grenning, 2011
Test Driven Development
http://en.wikipedia.org/wiki/Test-driven development
Behaviour Driven Development
http://en.wikipedia.org/wiki/Behavior-driven development
Unit Testing
http://en.wikipedia.org/wiki/Unit testing
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.
11/03/2015 ©odd.enterprises 36

More Related Content

PDF
ODD Definitions
PDF
Obstacle Driven Development Stages
PDF
ODD: Evolution (short)
PDF
ODD: Extending Test Driven Development 1.3
PDF
ODD: OODA Evolution
PDF
Obstacle Driven Development Models
PDF
ODD: Extending V-model Development 1.3
PDF
ODD: Extending V-model Development 1.2
ODD Definitions
Obstacle Driven Development Stages
ODD: Evolution (short)
ODD: Extending Test Driven Development 1.3
ODD: OODA Evolution
Obstacle Driven Development Models
ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.2

Viewers also liked (20)

PDF
ODD: Extending Test Driven Development 1.2
PDF
交流会やランチ会で良い仕事を受注する方法
PPSX
Prezentare Dark Side Booking Academy
PDF
L’Investissement Social Amérique Latine Vision du Monde_Light
PPTX
E-Learning
PDF
Obstacle Driven Development
PPTX
Presentacion power point informatica final
DOCX
SOS đột quỵ vì gốc tự do
PDF
ODD: Extending Requirements Analysis 1.2
PDF
ODD: Extending a Specification 1.2
PDF
ODD is not Agile or Waterfall
PDF
集客プロデューサーとは?
DOC
Robin Adcock Resume6
DOC
Kishore's Resume
PDF
Obstacle Driven Development
PPTX
Wor(I)d Global Network
PDF
紹介力向上コミュニティ説明会
PPTX
2014 Science Tavern_07272014
PDF
仕事を取る為の方法 ウェブ企画バージョン
PDF
Sociologie des réseaux sociaux, 5, EHESS/ENS/ENSAE
ODD: Extending Test Driven Development 1.2
交流会やランチ会で良い仕事を受注する方法
Prezentare Dark Side Booking Academy
L’Investissement Social Amérique Latine Vision du Monde_Light
E-Learning
Obstacle Driven Development
Presentacion power point informatica final
SOS đột quỵ vì gốc tự do
ODD: Extending Requirements Analysis 1.2
ODD: Extending a Specification 1.2
ODD is not Agile or Waterfall
集客プロデューサーとは?
Robin Adcock Resume6
Kishore's Resume
Obstacle Driven Development
Wor(I)d Global Network
紹介力向上コミュニティ説明会
2014 Science Tavern_07272014
仕事を取る為の方法 ウェブ企画バージョン
Sociologie des réseaux sociaux, 5, EHESS/ENS/ENSAE
Ad

Similar to ODD Comparison (20)

PDF
ODD: Extending V-model Development 1.3.5
PDF
ODD: Success and Failure
PDF
ODD + Project Control 0.9
PDF
ODD: Extending a Specification 1.3
PDF
ODD: Extending Agile 1.3
PDF
ODD+PC: How to Get Stuff Right
PDF
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
PDF
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
PDF
ODD Testing
PDF
How to Use Project Control 1.0
PDF
ODD + Project Control 1.0
PDF
Approaching ATDD/BDD
PPTX
Test Policy and Practices
PDF
Quality for DevOps teams - Quality engineering in the DevOps culture
PPTX
[PPT] _ Unit 5 _ Evolve.pptx
PPTX
Agile Mëtteg series - Session 5
PDF
Module-3_Design thinking in IT Industries.pdf
PPTX
Hi600 ch02_text_slides
PPTX
Software testing methodologies to watch out in 2020
PPTX
TestOps and Shift Left
ODD: Extending V-model Development 1.3.5
ODD: Success and Failure
ODD + Project Control 0.9
ODD: Extending a Specification 1.3
ODD: Extending Agile 1.3
ODD+PC: How to Get Stuff Right
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
ODD Testing
How to Use Project Control 1.0
ODD + Project Control 1.0
Approaching ATDD/BDD
Test Policy and Practices
Quality for DevOps teams - Quality engineering in the DevOps culture
[PPT] _ Unit 5 _ Evolve.pptx
Agile Mëtteg series - Session 5
Module-3_Design thinking in IT Industries.pdf
Hi600 ch02_text_slides
Software testing methodologies to watch out in 2020
TestOps and Shift Left
Ad

Recently uploaded (20)

PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
Digital Logic Computer Design lecture notes
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPT
Mechanical Engineering MATERIALS Selection
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
additive manufacturing of ss316l using mig welding
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Welding lecture in detail for understanding
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
web development for engineering and engineering
PPT
Project quality management in manufacturing
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Model Code of Practice - Construction Work - 21102022 .pdf
Digital Logic Computer Design lecture notes
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Mechanical Engineering MATERIALS Selection
Lecture Notes Electrical Wiring System Components
Foundation to blockchain - A guide to Blockchain Tech
UNIT-1 - COAL BASED THERMAL POWER PLANTS
CH1 Production IntroductoryConcepts.pptx
CYBER-CRIMES AND SECURITY A guide to understanding
additive manufacturing of ss316l using mig welding
Operating System & Kernel Study Guide-1 - converted.pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Welding lecture in detail for understanding
Strings in CPP - Strings in C++ are sequences of characters used to store and...
OOP with Java - Java Introduction (Basics)
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
web development for engineering and engineering
Project quality management in manufacturing

ODD Comparison

  • 1. Obstacle Driven Development ODD Comparison ©odd.enterprises 11/03/2015
  • 3. ODD Circle Model 11/03/2015 ©odd.enterprises 3
  • 5. 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 11/03/2015 ©odd.enterprises 5
  • 6. What is ODD? v. What do you want ODD to be? 11/03/2015 ©odd.enterprises 6
  • 7. TDD v. ODD 11/03/2015 ©odd.enterprises 7
  • 8. BDD v. ODD 11/03/2015 ©odd.enterprises 8 Write Test Write Code Validate / Refactor Behaviour
  • 9. V-model v. ODD 11/03/2015 ©odd.enterprises 9
  • 10. ISO V-model v. ODD 11/03/2015 ©odd.enterprises 10
  • 11. TDD V-model v. ODD 11/03/2015 ©odd.enterprises 11
  • 12. Waterfall v. ODD 11/03/2015 ©odd.enterprises 12
  • 13. Waterfall v. ODD (both with feedback) 11/03/2015 ©odd.enterprises 13
  • 14. Requirements Spiral v. ODD Requirements 11/03/2015 ©odd.enterprises 14
  • 15. Agile Framework v. ODD Framework 11/03/2015 ©odd.enterprises 15
  • 16. Traditional Domains v. ODD Domains 11/03/2015 ©odd.enterprises 16
  • 17. Unit Tests v. ODD Unit Tests 11/03/2015 ©odd.enterprises 17
  • 18. Unit Tests v. ODD Unit Tests 11/03/2015 ©odd.enterprises 18
  • 20. ODD Specification Importance A specification can improve the development process of a product. • Product cost is reduced with an improved specification process • Using a full specification can prevent errors from propagating • Creating and editing a specification is low cost 11/03/2015 ©odd.enterprises 20
  • 21. ODD Simple Verification and validation are applied to link stages and provide feedback. • 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 11/03/2015 ©odd.enterprises 21
  • 22. ODD Complex Verification and validation are to the left of each stage. • Specification – Verification and validation • Solution – Testing and design • Production – Quality assurance and control • Analysis – Utilisation and elicitation 11/03/2015 ©odd.enterprises 22
  • 23. Testing Procedure Unit testing is used and extended throughout each stage for ODD testing. • Each stage is assigned a red light to begin • Amber lights are obtained when tests are created for next stage • Green light is for when tests are passed and next stage linked 11/03/2015 ©odd.enterprises 23
  • 24. ODD Combined The diagram shows an ODD process combined with an M-model and the resulting model. • Traffic lights between stages indicate unit tests required • Linking tests and elements ensures obstacles are solved • Each element is created through a unit test 11/03/2015 ©odd.enterprises 24
  • 25. ODD Elements • Elements are the smallest practical levels of a product and are sub divided 11/03/2015 ©odd.enterprises 25 • Elements are solutions of verification tests generated by a previous stage
  • 26. ODD Solution Using a specification allows creation of tests based on described behaviours. • Solution is used to describe individual and integrated designs • If a solution is designed to pass tests then testing becomes easier • Unit testing and test suites used 11/03/2015 ©odd.enterprises 26 Create Test Design Solution Pass Test Behaviour
  • 27. ODD Solution Flowchart A flow chart has been designed to explain use of an ODD Solution. 1. A behaviour is selected which has to be covered by a solution 2. Unit test is created 3. Solution is designed 4. If fail repeat Stage 3 5. Repeat Stages 1 – 4 until all behaviours are specified 11/03/2015 ©odd.enterprises 27
  • 28. ODD Solution and Flowchart 11/03/2015 ©odd.enterprises 28
  • 29. Linking Tests Tests link behaviours with solutions through testing and design. • Solutions are designed to tests created • Each solution is a single aspect of the product • Unit testing is applied • Test suite created 11/03/2015 ©odd.enterprises 29
  • 30. Linking Stages, Tests and Elements • Situation A is analysed – Tests verify and validate Behaviour A • Behaviour A covers Situation A – Testing and design of Solution A • Solution A implements Behaviour A – Tests for quality assurance and control of Production A • Production A implements Solution A – Tests for utilisation and elicitation of product Situation A 11/03/2015 ©odd.enterprises 30
  • 31. ODD Waterfall Flowchart 11/03/2015 ©odd.enterprises 31
  • 32. ODD Agile Flowchart 11/03/2015 ©odd.enterprises 32
  • 33. ODD Complete Flowchart 11/03/2015 ©odd.enterprises 33
  • 34. ODD Timeline • Feb 2013 – Introduced to TDD and learned other components • October 2013 – Invented Problem Driven Development, ODDs initial form • April 2014 – Revised, refined and renamed as ODD • August 2014 – odd.enterprises created to build awareness for ODD • February 2015 – Audience is created and interested by ODD • Ongoing – Increase interest 11/03/2015 ©odd.enterprises 34
  • 35. Further Information and Questions • Website • Presentations • Facebook • Twitter • Email 11/03/2015 ©odd.enterprises 35
  • 36. Legal Stuff References Test Driven Development for Embedded C James Grenning, 2011 Test Driven Development http://en.wikipedia.org/wiki/Test-driven development Behaviour Driven Development http://en.wikipedia.org/wiki/Behavior-driven development Unit Testing http://en.wikipedia.org/wiki/Unit testing 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. 11/03/2015 ©odd.enterprises 36