SlideShare a Scribd company logo
Obstacle Driven Development
ODD Testing
Testing in History 1
Testing ideas is implicit to science
and technology.
• Testing implemented on products
for many years
• Ideas are assumptions without
sufficient testing
• Todays technology is a result of
centuries of tests
21/06/2016 ©odd.enterprises 2
Testing in History 2
Testing implemented on certain
products for many years.
• Tests must replicate real world
conditions
• Armour designed to be bullet
proof is tested
• Non standard components
required this approach
21/06/2016 ©odd.enterprises 3
Cost of Failure
Cost of failure is often greater than
associated costs related to a
successful development.
• Undetected errors may become
very costly
• Increased use of specification can
reduce costs overall
• Cost increases exponentially for
each stage a bug is undetected
21/06/2016 ©odd.enterprises 4
Fail Early, Fail Often
Achieving success with ODD is
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
21/06/2016 ©odd.enterprises 5
Verification and Validation 1
Verification and validation occurs
between stages with appropriate
adaptions.
Verification and validation concern
the questions:
• Verification
Is it built in the right way?
• Validation
Is it built right?
21/06/2016 ©odd.enterprises 6
Verification and Validation 2
Verification and validation
are adapted for each stage.
• Specification
– Verification and
validation (of behaviours)
• Solution
– Testing and design
• Production
– Quality assurance and
control
• Analysis
– Utilisation and
elicitation
21/06/2016 ©odd.enterprises 7
ODD Elements
ODD Elements are single
generic parts of a
development.
• Divided into stage,
system and abstraction
level
• Higher level elements
will consist of
combined lower levels
• Each stage contains
different and distinct
elements
28/06/2016 ©odd.enterprises 8
Analysis Elements
Analysis links Production
and Specification stages
with tests solved and
created by each level.
• Analysis links
Production by elicitation
of customers
• Analysis links
Specification by
verification of
behaviours
22/06/2016 ©odd.enterprises 9
Specification Elements
Specification links
Analysis and Solution
stages with tests
solved and created by
each level.
• Specification links
Analysis through
solving of tests
• Specification links
Solution through
creation of tests
22/06/2016 ©odd.enterprises 10
Solution Elements
Solution links Specification
and Production stages with
tests solved and created by
each level.
• Solution links
Specification by design
according to tests
• Solution links
Production by quality
assurance tests
according to solution
22/06/2016 ©odd.enterprises 11
Production Elements
Production links Solution
and Analysis stages with
tests solved and created by
each level.
• Production links
Solution through quality
control according to
tests
• Production links
Analysis through
utilisation of products
features
22/06/2016 ©odd.enterprises 12
ODD Flow Chart
Flow chart to demonstrate a
generic ODD process.
Problems or obstacles to be
overcome are divided into 4 stages
with appropriate testing.
• Analysis
• Specification
• Solution
• Production
21/06/2016 ©odd.enterprises 13
Linking Tests 1
Tests link behaviours with
solutions through testing
and design.
• Solutions designed according to
tests from behaviours
• Each solution is a single element
of a product
• Unit testing is applied
• Test suite created and ran when
changes occur
21/06/2016 ©odd.enterprises 14
Linking Tests 2
Testing and design concerns
solutions created from
behaviours of a specification.
• Each solution implements 1 or
more behaviours
• Tests suite ran for any changes
or additions
• Created as with Test Driven
Development
21/06/2016 ©odd.enterprises 15
ODD Test Suites
Test suites implemented to
create a solution for software
and identify errors.
• Test suites contain individual
and combined unit tests
• Test suites are intended to be
implemented between all stages
• TDD process extended
throughout development to
create ODD
21/06/2016 ©odd.enterprises 16
Linking Behaviours to Situations 1
Decision tree adapts to any
situation and linked to a
specification by creating tests.
• Any situation can be described
by a decision tree
• Diagram appropriate for failure
mode effects and analysis
• Linked to a behaviour which
covers the situation
21/06/2016 ©odd.enterprises 17
Linking Behaviours to Situations 2
Each branch of a decision tree
results in a situation to be
covered by one or more
behaviours.
• Each situation is tested to
ensure coverage by specification
• Ensures situations are covered
before creation of solution
• All expected situations should
have an associated behaviour
21/06/2016 ©odd.enterprises 18
Linking Solution to Production 1
Solution must be produced with
consistent quality and often for
very large quantities.
• Solution assures and controls
quality of related production
• Tests are created for quality
assurance
• Tests passed give measure for
quality control
21/06/2016 ©odd.enterprises 19
Linking Solution to Production 2
Each element of a solution
creates a quality assurance test
which a production element
must pass.
• Quality assurance and control
based on probability
• Assurance will determine an
acceptable failure rate
• Control ensures failure rate is
acceptable
21/06/2016 ©odd.enterprises 20
Linking Production to Analysis 1
Linking production to analysis
ensures product features are
utilised and elicited.
• Features of product utilised in
practical situations by customers
• Elicitation after utilisation of
feature to find requirements
• Verifies current solutions and
identifies new obstacles
21/06/2016 ©odd.enterprises 21
Linking Production to Analysis 2
Linking production to analysis
has product features used as this
is how a customer sees a
product.
• New feature may cover
requirement but create
another
• Each product element and
level investigated separately
21/06/2016 ©odd.enterprises 22
ODD is 3D
21/06/2016 ©odd.enterprises 23
ODD without Tests
21/06/2016 ©odd.enterprises 24
ODD with Tests
21/06/2016 ©odd.enterprises 25
ODD with Passed Tests
21/06/2016 ©odd.enterprises 26
ODD Generic Flow Chart
Each stage of ODD is an adaption of
this generic flow chart.
Flow chart is adapted to provide:
• Analysis - Utilisation and
Elicitation
• Specification – Verification and
Validation
• Solution - Testing and Design
• Production – Quality Assurance
and Control
22/06/2016 ©odd.enterprises 27
Creating Tests 1
Creation of solutions inspired by
Behaviour Driven Development.
• Tests created by rewriting a
behaviour and designing test
• Design of solution according to
tests reduces debugging
• Testing and design may continue
until all behaviours implemented
22/06/2016 ©odd.enterprises 28
Creating Tests 2
Full test suite created using each
behaviour in specification.
• Creating a test first ensures an
objective is understood
• Design according to passing tests
reduces ambiguity
• Passing a test ensures behaviour
is implemented
22/06/2016 ©odd.enterprises 29
Flow Chart for Solution
1. Select behaviour which a solution
has to perform.
2. Test created to ensure solution
performs behaviour.
3. Solution designed to pass test.
4. Repeat until solution passes test.
5. Repeat until behaviours tested
and solutions designed.
6. Production stage begins.
22/06/2016 ©odd.enterprises 30
Flowchart for Production
1. Select solution which
production is to create.
2. Quality assurance test ensures
production creates solution.
3. Production begins.
4. Repeat until quality is
controlled.
5. Repeat until all production is
quality controlled.
6. Analysis stage begins.
22/06/2016 ©odd.enterprises 31
Flowchart for Analysis
1. Select feature to be elicited for
analysis.
2. Utilisation test is created for
feature.
3. Product is utilised by customers.
4. Repeat elicitation until sufficient
feedback obtained.
5. Repeat until all features in
production are tested.
6. Specification stage begins.
22/06/2016 ©odd.enterprises 32
Flowchart for Specification
1. Requirement selected to be
covered by behaviour.
2. Verification test is created.
3. Behaviour is specified according
to the test.
4. Repeat until behaviour is
validated.
5. Repeat until all requirements
are covered by behaviours.
6. Solution stage begins.
22/06/2016 ©odd.enterprises 33
ODD Materials
ODD is explained in further
presentations.
• Obstacle Driven
Development
• ODD: Requirements Analysis
• ODD: Extending a
Specification
• ODD: Extending TDD
• ODD: Extending V-models
• ODD Is Not Agile or Waterfall
ODD Is Not
Agile or
Waterfall
Obstacle Driven
Development
ODD:
Requirements
Analysis
ODD: Extending
a Specification
ODD: Extending
V-models
ODD:
Extending TDD
22/06/2016 ©odd.enterprises 34
Further Information and Questions
• Website
• Presentations
• Facebook
• Twitter
• Email
21/06/2016 ©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
Contact us for more information on sources and references.
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.
21/06/2016 ©odd.enterprises 36

More Related Content

PDF
ODD: Extending V-model Development 1.3.5
PDF
ODD: Extending Requirements Analysis 1.3
PDF
ODD: Extending Test Driven Development 1.3
PDF
ODD: Extending Test Driven Development 1.2
PDF
Implementing a Test Dashboard to Boost Quality
PPTX
Agile Testing: Methods and Models
PDF
Obstacle Driven Development
PDF
Eliminating Critical Quality Defects at a Component Manufacturer
ODD: Extending V-model Development 1.3.5
ODD: Extending Requirements Analysis 1.3
ODD: Extending Test Driven Development 1.3
ODD: Extending Test Driven Development 1.2
Implementing a Test Dashboard to Boost Quality
Agile Testing: Methods and Models
Obstacle Driven Development
Eliminating Critical Quality Defects at a Component Manufacturer

What's hot (20)

PPTX
The Role of Process Characterization in Process Validation
PPTX
Webinar validation of pharmaceutical manufacturing processes
PDF
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
PDF
Product development Global prospective
PDF
Is Standardization Possible in a Custom Single-use World | Parker domnick hunter
PPT
Quality by design
PDF
Pharmaceutical process validation (PV)
PDF
How Design Controls & Risk Management Best Practices Reduce Customer Complain...
PPTX
CPSC Strategy,Testing and Certification
DOCX
Basic concept of process validation
PPTX
Handling of complaint.pptx
PDF
Qms 065 manufacturing-rework_procedure_sample
PDF
Life Sciences Product Development
PPSX
Case study dre using 7 qc tools for problem solving
 
PPTX
Scale up and post approval changes.pptx
PDF
Process Validation Presentation from BioTechLogic
PPTX
Processs validation
PDF
Tackling the challenges of single-use manufacturing for ADCs
PPT
Validation ksd
The Role of Process Characterization in Process Validation
Webinar validation of pharmaceutical manufacturing processes
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
Product development Global prospective
Is Standardization Possible in a Custom Single-use World | Parker domnick hunter
Quality by design
Pharmaceutical process validation (PV)
How Design Controls & Risk Management Best Practices Reduce Customer Complain...
CPSC Strategy,Testing and Certification
Basic concept of process validation
Handling of complaint.pptx
Qms 065 manufacturing-rework_procedure_sample
Life Sciences Product Development
Case study dre using 7 qc tools for problem solving
 
Scale up and post approval changes.pptx
Process Validation Presentation from BioTechLogic
Processs validation
Tackling the challenges of single-use manufacturing for ADCs
Validation ksd
Ad

Viewers also liked (14)

PDF
M. Polasek: Molecular Imaging of Liver Fibrosis Poster
PDF
House Parties for Energy Efficiency: Outcomes of Community Organizing for Ene...
DOCX
RajivGandhi S
PPT
Rising to Challenges in Climate Change Education
PPT
PPTX
Characteristic of anti-sentimental comedy with referance "The school for scan...
PPTX
Digital Communication Unit 1
PPTX
Katakerja2013upsr 130326223013-phpapp01
DOC
Purnachandra_Hadoop_N
PPT
Adequacy criteria for cytology specimens by Dr. Mahra Nourbakhsh
PDF
Get started with dropbox
PPT
Introduction to communication system lecture5
PPTX
Katakerja 140614232839-phpapp01
PDF
Creencias, opiniones y actitudes de la población general hacia el uso de opiá...
M. Polasek: Molecular Imaging of Liver Fibrosis Poster
House Parties for Energy Efficiency: Outcomes of Community Organizing for Ene...
RajivGandhi S
Rising to Challenges in Climate Change Education
Characteristic of anti-sentimental comedy with referance "The school for scan...
Digital Communication Unit 1
Katakerja2013upsr 130326223013-phpapp01
Purnachandra_Hadoop_N
Adequacy criteria for cytology specimens by Dr. Mahra Nourbakhsh
Get started with dropbox
Introduction to communication system lecture5
Katakerja 140614232839-phpapp01
Creencias, opiniones y actitudes de la población general hacia el uso de opiá...
Ad

Similar to ODD Testing (20)

PDF
Obstacle Driven Development Stages
PDF
ODD: Extending a Specification 1.3
PDF
ODD: Extending V-model Development 1.3
PDF
ODD: Extending Agile 1.3
PDF
ODD + Project Control 1.0
PDF
ODD: Extending V-model Development 1.2
PDF
ODD: Success and Failure
PDF
ODD + Project Control 0.9
PDF
ODD is not Agile or Waterfall
PDF
ODD: Extending a Specification 1.2
PDF
Obstacle Driven Development
PDF
Obstacle Driven Development Models
PDF
ODD+PC: How to Get Stuff Right
PDF
ODD Definitions
PPTX
Introduction to Agile Testing
PPT
SDLC - Software Development Life Cycle
PDF
Software Testing Process, Testing Automation and Software Testing Trends
PDF
ODD: OODA Evolution
PPTX
final no-2 U too brutus persentation[1].pptx
PDF
Optimizing Product Realization Costs Across the Value Chain
Obstacle Driven Development Stages
ODD: Extending a Specification 1.3
ODD: Extending V-model Development 1.3
ODD: Extending Agile 1.3
ODD + Project Control 1.0
ODD: Extending V-model Development 1.2
ODD: Success and Failure
ODD + Project Control 0.9
ODD is not Agile or Waterfall
ODD: Extending a Specification 1.2
Obstacle Driven Development
Obstacle Driven Development Models
ODD+PC: How to Get Stuff Right
ODD Definitions
Introduction to Agile Testing
SDLC - Software Development Life Cycle
Software Testing Process, Testing Automation and Software Testing Trends
ODD: OODA Evolution
final no-2 U too brutus persentation[1].pptx
Optimizing Product Realization Costs Across the Value Chain

More from Jonathan Herring (7)

PDF
How to Use Project Control 1.0
PDF
How to be Innovative
PDF
ODD and Project Control v0.957
PDF
Obstacle Driven Development Report v0.9
PDF
ODD: Evolution (short)
PDF
ODD Comparison
PDF
ODD: Extending Requirements Analysis 1.2
How to Use Project Control 1.0
How to be Innovative
ODD and Project Control v0.957
Obstacle Driven Development Report v0.9
ODD: Evolution (short)
ODD Comparison
ODD: Extending Requirements Analysis 1.2

Recently uploaded (20)

PDF
PPT on Performance Review to get promotions
PPT
Mechanical Engineering MATERIALS Selection
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Welding lecture in detail for understanding
PDF
composite construction of structures.pdf
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
web development for engineering and engineering
PDF
Digital Logic Computer Design lecture notes
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Well-logging-methods_new................
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPT on Performance Review to get promotions
Mechanical Engineering MATERIALS Selection
Lecture Notes Electrical Wiring System Components
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Welding lecture in detail for understanding
composite construction of structures.pdf
Foundation to blockchain - A guide to Blockchain Tech
web development for engineering and engineering
Digital Logic Computer Design lecture notes
Operating System & Kernel Study Guide-1 - converted.pdf
UNIT 4 Total Quality Management .pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Model Code of Practice - Construction Work - 21102022 .pdf
OOP with Java - Java Introduction (Basics)
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Well-logging-methods_new................
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...

ODD Testing

  • 2. Testing in History 1 Testing ideas is implicit to science and technology. • Testing implemented on products for many years • Ideas are assumptions without sufficient testing • Todays technology is a result of centuries of tests 21/06/2016 ©odd.enterprises 2
  • 3. Testing in History 2 Testing implemented on certain products for many years. • Tests must replicate real world conditions • Armour designed to be bullet proof is tested • Non standard components required this approach 21/06/2016 ©odd.enterprises 3
  • 4. Cost of Failure Cost of failure is often greater than associated costs related to a successful development. • Undetected errors may become very costly • Increased use of specification can reduce costs overall • Cost increases exponentially for each stage a bug is undetected 21/06/2016 ©odd.enterprises 4
  • 5. Fail Early, Fail Often Achieving success with ODD is 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 21/06/2016 ©odd.enterprises 5
  • 6. Verification and Validation 1 Verification and validation occurs between stages with appropriate adaptions. Verification and validation concern the questions: • Verification Is it built in the right way? • Validation Is it built right? 21/06/2016 ©odd.enterprises 6
  • 7. Verification and Validation 2 Verification and validation are adapted for each stage. • Specification – Verification and validation (of behaviours) • Solution – Testing and design • Production – Quality assurance and control • Analysis – Utilisation and elicitation 21/06/2016 ©odd.enterprises 7
  • 8. ODD Elements ODD Elements are single generic parts of a development. • Divided into stage, system and abstraction level • Higher level elements will consist of combined lower levels • Each stage contains different and distinct elements 28/06/2016 ©odd.enterprises 8
  • 9. Analysis Elements Analysis links Production and Specification stages with tests solved and created by each level. • Analysis links Production by elicitation of customers • Analysis links Specification by verification of behaviours 22/06/2016 ©odd.enterprises 9
  • 10. Specification Elements Specification links Analysis and Solution stages with tests solved and created by each level. • Specification links Analysis through solving of tests • Specification links Solution through creation of tests 22/06/2016 ©odd.enterprises 10
  • 11. Solution Elements Solution links Specification and Production stages with tests solved and created by each level. • Solution links Specification by design according to tests • Solution links Production by quality assurance tests according to solution 22/06/2016 ©odd.enterprises 11
  • 12. Production Elements Production links Solution and Analysis stages with tests solved and created by each level. • Production links Solution through quality control according to tests • Production links Analysis through utilisation of products features 22/06/2016 ©odd.enterprises 12
  • 13. ODD Flow Chart Flow chart to demonstrate a generic ODD process. Problems or obstacles to be overcome are divided into 4 stages with appropriate testing. • Analysis • Specification • Solution • Production 21/06/2016 ©odd.enterprises 13
  • 14. Linking Tests 1 Tests link behaviours with solutions through testing and design. • Solutions designed according to tests from behaviours • Each solution is a single element of a product • Unit testing is applied • Test suite created and ran when changes occur 21/06/2016 ©odd.enterprises 14
  • 15. Linking Tests 2 Testing and design concerns solutions created from behaviours of a specification. • Each solution implements 1 or more behaviours • Tests suite ran for any changes or additions • Created as with Test Driven Development 21/06/2016 ©odd.enterprises 15
  • 16. ODD Test Suites Test suites implemented to create a solution for software and identify errors. • Test suites contain individual and combined unit tests • Test suites are intended to be implemented between all stages • TDD process extended throughout development to create ODD 21/06/2016 ©odd.enterprises 16
  • 17. Linking Behaviours to Situations 1 Decision tree adapts to any situation and linked to a specification by creating tests. • Any situation can be described by a decision tree • Diagram appropriate for failure mode effects and analysis • Linked to a behaviour which covers the situation 21/06/2016 ©odd.enterprises 17
  • 18. Linking Behaviours to Situations 2 Each branch of a decision tree results in a situation to be covered by one or more behaviours. • Each situation is tested to ensure coverage by specification • Ensures situations are covered before creation of solution • All expected situations should have an associated behaviour 21/06/2016 ©odd.enterprises 18
  • 19. Linking Solution to Production 1 Solution must be produced with consistent quality and often for very large quantities. • Solution assures and controls quality of related production • Tests are created for quality assurance • Tests passed give measure for quality control 21/06/2016 ©odd.enterprises 19
  • 20. Linking Solution to Production 2 Each element of a solution creates a quality assurance test which a production element must pass. • Quality assurance and control based on probability • Assurance will determine an acceptable failure rate • Control ensures failure rate is acceptable 21/06/2016 ©odd.enterprises 20
  • 21. Linking Production to Analysis 1 Linking production to analysis ensures product features are utilised and elicited. • Features of product utilised in practical situations by customers • Elicitation after utilisation of feature to find requirements • Verifies current solutions and identifies new obstacles 21/06/2016 ©odd.enterprises 21
  • 22. Linking Production to Analysis 2 Linking production to analysis has product features used as this is how a customer sees a product. • New feature may cover requirement but create another • Each product element and level investigated separately 21/06/2016 ©odd.enterprises 22
  • 23. ODD is 3D 21/06/2016 ©odd.enterprises 23
  • 24. ODD without Tests 21/06/2016 ©odd.enterprises 24
  • 25. ODD with Tests 21/06/2016 ©odd.enterprises 25
  • 26. ODD with Passed Tests 21/06/2016 ©odd.enterprises 26
  • 27. ODD Generic Flow Chart Each stage of ODD is an adaption of this generic flow chart. Flow chart is adapted to provide: • Analysis - Utilisation and Elicitation • Specification – Verification and Validation • Solution - Testing and Design • Production – Quality Assurance and Control 22/06/2016 ©odd.enterprises 27
  • 28. Creating Tests 1 Creation of solutions inspired by Behaviour Driven Development. • Tests created by rewriting a behaviour and designing test • Design of solution according to tests reduces debugging • Testing and design may continue until all behaviours implemented 22/06/2016 ©odd.enterprises 28
  • 29. Creating Tests 2 Full test suite created using each behaviour in specification. • Creating a test first ensures an objective is understood • Design according to passing tests reduces ambiguity • Passing a test ensures behaviour is implemented 22/06/2016 ©odd.enterprises 29
  • 30. Flow Chart for Solution 1. Select behaviour which a solution has to perform. 2. Test created to ensure solution performs behaviour. 3. Solution designed to pass test. 4. Repeat until solution passes test. 5. Repeat until behaviours tested and solutions designed. 6. Production stage begins. 22/06/2016 ©odd.enterprises 30
  • 31. Flowchart for Production 1. Select solution which production is to create. 2. Quality assurance test ensures production creates solution. 3. Production begins. 4. Repeat until quality is controlled. 5. Repeat until all production is quality controlled. 6. Analysis stage begins. 22/06/2016 ©odd.enterprises 31
  • 32. Flowchart for Analysis 1. Select feature to be elicited for analysis. 2. Utilisation test is created for feature. 3. Product is utilised by customers. 4. Repeat elicitation until sufficient feedback obtained. 5. Repeat until all features in production are tested. 6. Specification stage begins. 22/06/2016 ©odd.enterprises 32
  • 33. Flowchart for Specification 1. Requirement selected to be covered by behaviour. 2. Verification test is created. 3. Behaviour is specified according to the test. 4. Repeat until behaviour is validated. 5. Repeat until all requirements are covered by behaviours. 6. Solution stage begins. 22/06/2016 ©odd.enterprises 33
  • 34. ODD Materials ODD is explained in further presentations. • Obstacle Driven Development • ODD: Requirements Analysis • ODD: Extending a Specification • ODD: Extending TDD • ODD: Extending V-models • ODD Is Not Agile or Waterfall ODD Is Not Agile or Waterfall Obstacle Driven Development ODD: Requirements Analysis ODD: Extending a Specification ODD: Extending V-models ODD: Extending TDD 22/06/2016 ©odd.enterprises 34
  • 35. Further Information and Questions • Website • Presentations • Facebook • Twitter • Email 21/06/2016 ©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 Contact us for more information on sources and references. 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. 21/06/2016 ©odd.enterprises 36