SlideShare a Scribd company logo
1 of 40
Download to read offline
Obstacle Driven Development
Extending Test Driven Development 2
©odd.enterprises
18/02/2015
Obstacle Driven Development
18/02/2015 ©odd.enterprises 2
ODD Circle Model
18/02/2015 ©odd.enterprises 3
ODD Process
18/02/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
18/02/2015 ©odd.enterprises 5
Testing in History
Testing has been implemented on
certain products for many years.
• Armour designed to be bullet
proof is tested
• Non standard components
required this approach
18/02/2015 ©odd.enterprises 6
Test Driven Development
Using TDD there is a very important
and difficult stage of writing tests.
Obstacle Driven Development helps
define tests and extends TDD
throughout development.
Development of ODD began with
the question
• Where do the tests come from?
18/02/2015 ©odd.enterprises 7
Write
Test
Write
Code
Refactor
Behaviour Driven Development 1
• Behaviour driven development
has been described as “TDD
done right”
• Suggests behaviours should
influence testing and design
• ODD is an extended version of
BDD applied to all development
stages
18/02/2015 ©odd.enterprises 8
Write
Test
Write
Code
Refactor
Think
Behaviour Driven Development 2
Reordering the BDD sequence gives
a sequence similar to traffic lights.
• Red light now used for unverified
and unvalidated processes
• Amber light now used when tests
are created and code written
• Green light used when the tests
have been passed
18/02/2015 ©odd.enterprises 9
Write
Test
Write
Code
Validate /
Refactor
Behaviour
Obstacle Driven Development 1
Tests used to verify and validate
code are extended and adapted to
create a new development model.
• Applications to hardware,
software and embedded
• Links stages with tests used for
verification and validation
18/02/2015 ©odd.enterprises 10
Verify
Solution
Solution for
Obstacle
Validate
Solution
Obstacle
Obstacle Driven Development 2
Obstacle Driven Development is
used to find solutions to obstacles.
An obstacle is broken into four
stages of development when using
ODD.
• Analysis
• Specification
• Solution
• Production
18/02/2015 ©odd.enterprises 11
Verify
Solution
Solution for
Obstacle
Validate
Solution
Obstacle
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
18/02/2015 ©odd.enterprises 12
Obstacle Driven Development 3
The ODD Process is expressed using
four stages in sequence.
The diagram is simplified to
demonstrate a basic ODD process.
• Analysis
• Specification
• Solution
• Production
18/02/2015 ©odd.enterprises 13
Specification
Solution
Production
Analysis
Obstacle Driven Development 4
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
19/02/2015 ©odd.enterprises 14
ODD M-model
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
18/02/2015 ©odd.enterprises 15
ODD Process 1
A traffic light system demonstrates
how one stage links the next.
• Begin with a red light and
element from previous stage
• Amber lights are given when
tests are created
• Green lights are given when tests
are solved and stage linked
18/02/2015 ©odd.enterprises 16
ODD Process 2
Each stage of ODD has tests for
each element of development.
• Each element begins as
unverified and unvalidated
• Tests are created to verify an
element
• Tests are solved to verify and
validate the element
18/02/2015 ©odd.enterprises 17
ODD Combined Model
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
18/02/2015 ©odd.enterprises 18
ODD Solution 1
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
18/02/2015 ©odd.enterprises 19
Create Test
Design
Solution
Pass
Test
Behaviour
ODD Solution 2
ODD Solution is generic and used
for software, hardware and
embedded design.
• Red light used for behaviour
contained in specification
• Amber light used when tests are
created and solution designed
• Green light used when a test has
been passed
18/02/2015 ©odd.enterprises 20
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
18/02/2015 ©odd.enterprises 21
ODD Specification 1
A specification describes all
behaviours used to cover expected
situations and requirements.
• Tests used to verify and validate
whether described behaviours
cover requirement
• Once expected situations are
covered and tests verified a
specification is complete
18/02/2015 ©odd.enterprises 22
Verify
Specification
Specify
Behaviour
Validate
Specification
Requirement
ODD Specification 2
ODD Specification is extended into
a separate stage containing a full
description of behaviours.
• Unit tests applied to a
specification allow cross
examination of behaviours
• Important to create full
specification to allow detection
of errors at an early stage
18/02/2015 ©odd.enterprises 23
Verify
Specification
Specify
Behaviour
Validate
Specification
Requirement
ODD Specification 3
Adaption of ODD gives a sequence
as follows:
• Red light used for a requirement
• Amber light when verification
tests are created and behaviour
specified
• Green light used when a
behaviour has been validated
18/02/2015 ©odd.enterprises 24
Verify
Specification
Specify
Behaviour
Validate
Specification
Requirement
ODD Specification Flowchart
A flow chart designed to explain
use of an ODD Specification.
1. A requirement is selected which
is to be covered by a behaviour
2. Verification test is created
3. Behaviour is specified
4. If fail repeat Stage 3
5. Repeat Stages 1 – 4 until all
behaviours are specified
18/02/2015 ©odd.enterprises 25
ODD Production 1
Production is organised directly
from a solution to give assured and
controlled quality.
• Solution used to ensure
continuous and predictable
quality
• Quality assurance tests are
created
• Number of passes a measure for
quality control
18/02/2015 ©odd.enterprises 26
Assure
Product
Quality
Produce
Product
Control
Product
Quality
Solution
ODD Production 2
A solution is required to have
production assured and controlled.
• Red light for a solution with no
quality assurance and control
• Amber light used when tests for
assuring product quality are
created
• Green light used when quality
control is passed
18/02/2015 ©odd.enterprises 27
Assure
Product
Quality
Produce
Product
Control
Product
Quality
Solution
ODD Production Flowchart
A flow chart has been designed to
explain use of ODD Production.
1. A solution is selected which has
to be produced
2. Quality assurance test created
3. Production process
4. If fail repeat Stage 3
5. Repeat Stages 1 – 4 until all
production is assured
18/02/2015 ©odd.enterprises 28
ODD Analysis 1
Utilisation and elicitation are used
to verify and validate product
features.
• Once product features are
utilised then elicitation can
proceed as validation
• Process links stages and allows
continuous improvement and
adaption
18/02/2015 ©odd.enterprises 29
Customer
Utilisation
Situation
Analysis
Elicit
Customers
Feature
ODD Analysis 2
Analysis may be performed to give
feedback on success of a product.
• Red light for no utilisation and
elicitation of feature
• Amber light when tests for
customer utilisation are created
• Green light when tests for
customer elicitation are passed
18/02/2015 ©odd.enterprises 30
Customer
Utilisation
Situation
Analysis
Elicit
Customers
Feature
ODD Analysis Flowchart
A flow chart has been designed to
explain use of ODD Analysis.
1. Product feature is selected
2. Elicitation test is created
3. Product is utilised
4. If fail repeat Stage 3
5. Repeat Stages 1 – 4 until
elicitation is complete
18/02/2015 ©odd.enterprises 31
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
18/02/2015 ©odd.enterprises 32
Unit Testing 1
Unit tests are used to facilitate ODD
through test suites.
• Every stage is tested
• Each test has a single result
• Unit tests can be combined to
give complex testing processes
• Green light is for when tests are
passed and element created
18/02/2015 ©odd.enterprises 33
Unit Testing 2
• Requirements analysis
– Test ensures behaviour covers
situation
– Solving test ensures behaviour
covers situation
• Specification of behaviours
– Test ensures solution implements
behaviour
– Solving test ensures solution
implements behaviour
18/02/2015 ©odd.enterprises 34
Unit Testing 3
• Solution design
– Test ensures production creates a
solution
– Solving test ensures production
creates a solution
• Production quality
– Test ensures product utilisation in a
situation
– Solve to ensure product elicitation
in a situation
18/02/2015 ©odd.enterprises 35
ODD Elements
• Elements are the smallest
practical levels of a product
and are sub divided
18/02/2015 ©odd.enterprises 36
• Elements are solutions of
verification tests generated
by a previous stage
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
18/02/2015 ©odd.enterprises 37
ODD Flowchart
18/02/2015 ©odd.enterprises 38
Further Information and Questions
• Website
• Presentations
• Facebook
• Twitter
• Email
18/02/2015 ©odd.enterprises 39
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.
18/02/2015 ©odd.enterprises 40

More Related Content

What's hot

ISO/IEC 17025:2017 Training ppt
ISO/IEC 17025:2017 Training pptISO/IEC 17025:2017 Training ppt
ISO/IEC 17025:2017 Training pptGlobal Manager Group
 
Presenting our training courses
Presenting our training coursesPresenting our training courses
Presenting our training coursesGH Yeoh
 
Correlation between Ts16949-Iatf 16949
Correlation between Ts16949-Iatf 16949Correlation between Ts16949-Iatf 16949
Correlation between Ts16949-Iatf 16949prateek verma
 
ISO 17025 Accreditation Detail Review
ISO 17025 Accreditation Detail Review ISO 17025 Accreditation Detail Review
ISO 17025 Accreditation Detail Review Abdul Rahman
 
What Documentation Required for ISO 17025:2017 Accreditation?
What Documentation Required for ISO 17025:2017 Accreditation?What Documentation Required for ISO 17025:2017 Accreditation?
What Documentation Required for ISO 17025:2017 Accreditation?Global Manager Group
 
Guide25 vs ISO/IEC17025
Guide25 vs ISO/IEC17025Guide25 vs ISO/IEC17025
Guide25 vs ISO/IEC17025SEREE NET
 
Ensuring the validity of results
Ensuring the validity of resultsEnsuring the validity of results
Ensuring the validity of resultsGH Yeoh
 
Mitra matra iatf 16949 honda module 4
Mitra matra iatf 16949 honda module 4Mitra matra iatf 16949 honda module 4
Mitra matra iatf 16949 honda module 4DANANG WID
 
General Introduction of Vinacontrol Group
General Introduction of Vinacontrol GroupGeneral Introduction of Vinacontrol Group
General Introduction of Vinacontrol GroupVinacontrol Group
 
Required Documents for ISO 17021 Certification
Required Documents for ISO 17021 CertificationRequired Documents for ISO 17021 Certification
Required Documents for ISO 17021 CertificationGlobal Manager Group
 
Achieving Built-in-Quality: Actions and Implementation
Achieving Built-in-Quality: Actions and ImplementationAchieving Built-in-Quality: Actions and Implementation
Achieving Built-in-Quality: Actions and ImplementationApril Bright
 
Mitra matra iatf 16949 honda module 5
Mitra matra iatf 16949 honda module 5Mitra matra iatf 16949 honda module 5
Mitra matra iatf 16949 honda module 5DANANG WID
 
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
6 Steps to Accelerate the Development Cycle | Life Science Parker HannifinParker Hannifin Corporation
 
ISO 17025 Lead Auditor - Four Page Brochure
ISO 17025 Lead Auditor - Four Page BrochureISO 17025 Lead Auditor - Four Page Brochure
ISO 17025 Lead Auditor - Four Page BrochurePECB
 
Metrology manager resume
Metrology manager resumeMetrology manager resume
Metrology manager resumeKarthick G
 
Case study based on production, financial and social audits
Case study based on production, financial and social auditsCase study based on production, financial and social audits
Case study based on production, financial and social auditsJohn William
 
F iso-17025
F iso-17025F iso-17025
F iso-17025Ahmedjet
 

What's hot (20)

ISO/IEC 17025:2017 Training ppt
ISO/IEC 17025:2017 Training pptISO/IEC 17025:2017 Training ppt
ISO/IEC 17025:2017 Training ppt
 
Presenting our training courses
Presenting our training coursesPresenting our training courses
Presenting our training courses
 
Correlation between Ts16949-Iatf 16949
Correlation between Ts16949-Iatf 16949Correlation between Ts16949-Iatf 16949
Correlation between Ts16949-Iatf 16949
 
ISO 17025 Accreditation Detail Review
ISO 17025 Accreditation Detail Review ISO 17025 Accreditation Detail Review
ISO 17025 Accreditation Detail Review
 
What Documentation Required for ISO 17025:2017 Accreditation?
What Documentation Required for ISO 17025:2017 Accreditation?What Documentation Required for ISO 17025:2017 Accreditation?
What Documentation Required for ISO 17025:2017 Accreditation?
 
107 quality control
107 quality control107 quality control
107 quality control
 
Guide25 vs ISO/IEC17025
Guide25 vs ISO/IEC17025Guide25 vs ISO/IEC17025
Guide25 vs ISO/IEC17025
 
Ensuring the validity of results
Ensuring the validity of resultsEnsuring the validity of results
Ensuring the validity of results
 
Mitra matra iatf 16949 honda module 4
Mitra matra iatf 16949 honda module 4Mitra matra iatf 16949 honda module 4
Mitra matra iatf 16949 honda module 4
 
General Introduction of Vinacontrol Group
General Introduction of Vinacontrol GroupGeneral Introduction of Vinacontrol Group
General Introduction of Vinacontrol Group
 
Required Documents for ISO 17021 Certification
Required Documents for ISO 17021 CertificationRequired Documents for ISO 17021 Certification
Required Documents for ISO 17021 Certification
 
Achieving Built-in-Quality: Actions and Implementation
Achieving Built-in-Quality: Actions and ImplementationAchieving Built-in-Quality: Actions and Implementation
Achieving Built-in-Quality: Actions and Implementation
 
Mitra matra iatf 16949 honda module 5
Mitra matra iatf 16949 honda module 5Mitra matra iatf 16949 honda module 5
Mitra matra iatf 16949 honda module 5
 
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
 
Item 13
Item 13Item 13
Item 13
 
ISO 17025 Lead Auditor - Four Page Brochure
ISO 17025 Lead Auditor - Four Page BrochureISO 17025 Lead Auditor - Four Page Brochure
ISO 17025 Lead Auditor - Four Page Brochure
 
Metrology manager resume
Metrology manager resumeMetrology manager resume
Metrology manager resume
 
Case study based on production, financial and social audits
Case study based on production, financial and social auditsCase study based on production, financial and social audits
Case study based on production, financial and social audits
 
ISO / IEC 17025
ISO / IEC 17025ISO / IEC 17025
ISO / IEC 17025
 
F iso-17025
F iso-17025F iso-17025
F iso-17025
 

Similar to ODD: Extending Test Driven Development 1.2

ODD: Extending Test Driven Development 1.3
ODD: Extending Test Driven Development 1.3ODD: Extending Test Driven Development 1.3
ODD: Extending Test Driven Development 1.3Jonathan Herring
 
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
 
Obstacle Driven Development Stages
Obstacle Driven Development StagesObstacle Driven Development Stages
Obstacle Driven Development StagesJonathan Herring
 
Obstacle Driven Development
Obstacle Driven DevelopmentObstacle Driven Development
Obstacle Driven DevelopmentJonathan 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
 
ODD is not Agile or Waterfall
ODD is not Agile or WaterfallODD is not Agile or Waterfall
ODD is not Agile or WaterfallJonathan Herring
 
ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3Jonathan Herring
 
ODD: Extending Agile 1.3
ODD: Extending Agile 1.3ODD: Extending Agile 1.3
ODD: Extending Agile 1.3Jonathan Herring
 
ODD + Project Control 1.0
ODD + Project Control 1.0ODD + Project Control 1.0
ODD + Project Control 1.0Jonathan 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
 
Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development Jonathan 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
 
ODD: Success and Failure
ODD: Success and FailureODD: Success and Failure
ODD: Success and FailureJonathan Herring
 
Obstacle Driven Development Models
Obstacle Driven Development ModelsObstacle Driven Development Models
Obstacle Driven Development ModelsJonathan Herring
 
Test Policy and Practices
Test Policy and PracticesTest Policy and Practices
Test Policy and PracticesTalentica Software
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineeringMansiganeshJawale
 

Similar to ODD: Extending Test Driven Development 1.2 (20)

ODD: Extending Test Driven Development 1.3
ODD: Extending Test Driven Development 1.3ODD: Extending Test Driven Development 1.3
ODD: Extending Test Driven Development 1.3
 
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
 
Obstacle Driven Development Stages
Obstacle Driven Development StagesObstacle Driven Development Stages
Obstacle Driven Development Stages
 
Obstacle Driven Development
Obstacle Driven DevelopmentObstacle Driven Development
Obstacle Driven Development
 
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
 
ODD is not Agile or Waterfall
ODD is not Agile or WaterfallODD is not Agile or Waterfall
ODD is not Agile or Waterfall
 
ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3
 
ODD Comparison
ODD ComparisonODD Comparison
ODD Comparison
 
ODD Testing
ODD TestingODD Testing
ODD Testing
 
ODD: Extending Agile 1.3
ODD: Extending Agile 1.3ODD: Extending Agile 1.3
ODD: Extending Agile 1.3
 
ODD + Project Control 1.0
ODD + Project Control 1.0ODD + Project Control 1.0
ODD + Project Control 1.0
 
ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2
 
Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development
 
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 Definitions
ODD DefinitionsODD Definitions
ODD Definitions
 
SQA.ppt
SQA.pptSQA.ppt
SQA.ppt
 
Obstacle Driven Development Models
Obstacle Driven Development ModelsObstacle Driven Development Models
Obstacle Driven Development Models
 
Test Policy and Practices
Test Policy and PracticesTest Policy and Practices
Test Policy and Practices
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 

More from 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
 
How to be Innovative
How to be InnovativeHow to be Innovative
How to be InnovativeJonathan 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: Evolution (short)
ODD: Evolution (short)ODD: Evolution (short)
ODD: Evolution (short)Jonathan Herring
 

More from Jonathan Herring (6)

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: Evolution (short)
ODD: Evolution (short)ODD: Evolution (short)
ODD: Evolution (short)
 

Recently uploaded

power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 

ODD: Extending Test Driven Development 1.2

  • 1. Obstacle Driven Development Extending Test Driven Development 2 ©odd.enterprises 18/02/2015
  • 3. ODD Circle Model 18/02/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 18/02/2015 ©odd.enterprises 5
  • 6. Testing in History Testing has been implemented on certain products for many years. • Armour designed to be bullet proof is tested • Non standard components required this approach 18/02/2015 ©odd.enterprises 6
  • 7. Test Driven Development Using TDD there is a very important and difficult stage of writing tests. Obstacle Driven Development helps define tests and extends TDD throughout development. Development of ODD began with the question • Where do the tests come from? 18/02/2015 ©odd.enterprises 7 Write Test Write Code Refactor
  • 8. Behaviour Driven Development 1 • Behaviour driven development has been described as “TDD done right” • Suggests behaviours should influence testing and design • ODD is an extended version of BDD applied to all development stages 18/02/2015 ©odd.enterprises 8 Write Test Write Code Refactor Think
  • 9. Behaviour Driven Development 2 Reordering the BDD sequence gives a sequence similar to traffic lights. • Red light now used for unverified and unvalidated processes • Amber light now used when tests are created and code written • Green light used when the tests have been passed 18/02/2015 ©odd.enterprises 9 Write Test Write Code Validate / Refactor Behaviour
  • 10. Obstacle Driven Development 1 Tests used to verify and validate code are extended and adapted to create a new development model. • Applications to hardware, software and embedded • Links stages with tests used for verification and validation 18/02/2015 ©odd.enterprises 10 Verify Solution Solution for Obstacle Validate Solution Obstacle
  • 11. Obstacle Driven Development 2 Obstacle Driven Development is used to find solutions to obstacles. An obstacle is broken into four stages of development when using ODD. • Analysis • Specification • Solution • Production 18/02/2015 ©odd.enterprises 11 Verify Solution Solution for Obstacle Validate Solution Obstacle
  • 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 18/02/2015 ©odd.enterprises 12
  • 13. Obstacle Driven Development 3 The ODD Process is expressed using four stages in sequence. The diagram is simplified to demonstrate a basic ODD process. • Analysis • Specification • Solution • Production 18/02/2015 ©odd.enterprises 13 Specification Solution Production Analysis
  • 14. Obstacle Driven Development 4 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 19/02/2015 ©odd.enterprises 14
  • 15. ODD M-model 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 18/02/2015 ©odd.enterprises 15
  • 16. ODD Process 1 A traffic light system demonstrates how one stage links the next. • Begin with a red light and element from previous stage • Amber lights are given when tests are created • Green lights are given when tests are solved and stage linked 18/02/2015 ©odd.enterprises 16
  • 17. ODD Process 2 Each stage of ODD has tests for each element of development. • Each element begins as unverified and unvalidated • Tests are created to verify an element • Tests are solved to verify and validate the element 18/02/2015 ©odd.enterprises 17
  • 18. ODD Combined Model 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 18/02/2015 ©odd.enterprises 18
  • 19. ODD Solution 1 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 18/02/2015 ©odd.enterprises 19 Create Test Design Solution Pass Test Behaviour
  • 20. ODD Solution 2 ODD Solution is generic and used for software, hardware and embedded design. • Red light used for behaviour contained in specification • Amber light used when tests are created and solution designed • Green light used when a test has been passed 18/02/2015 ©odd.enterprises 20 Create Test Design Solution Pass Test Behaviour
  • 21. 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 18/02/2015 ©odd.enterprises 21
  • 22. ODD Specification 1 A specification describes all behaviours used to cover expected situations and requirements. • Tests used to verify and validate whether described behaviours cover requirement • Once expected situations are covered and tests verified a specification is complete 18/02/2015 ©odd.enterprises 22 Verify Specification Specify Behaviour Validate Specification Requirement
  • 23. ODD Specification 2 ODD Specification is extended into a separate stage containing a full description of behaviours. • Unit tests applied to a specification allow cross examination of behaviours • Important to create full specification to allow detection of errors at an early stage 18/02/2015 ©odd.enterprises 23 Verify Specification Specify Behaviour Validate Specification Requirement
  • 24. ODD Specification 3 Adaption of ODD gives a sequence as follows: • Red light used for a requirement • Amber light when verification tests are created and behaviour specified • Green light used when a behaviour has been validated 18/02/2015 ©odd.enterprises 24 Verify Specification Specify Behaviour Validate Specification Requirement
  • 25. ODD Specification Flowchart A flow chart designed to explain use of an ODD Specification. 1. A requirement is selected which is to be covered by a behaviour 2. Verification test is created 3. Behaviour is specified 4. If fail repeat Stage 3 5. Repeat Stages 1 – 4 until all behaviours are specified 18/02/2015 ©odd.enterprises 25
  • 26. ODD Production 1 Production is organised directly from a solution to give assured and controlled quality. • Solution used to ensure continuous and predictable quality • Quality assurance tests are created • Number of passes a measure for quality control 18/02/2015 ©odd.enterprises 26 Assure Product Quality Produce Product Control Product Quality Solution
  • 27. ODD Production 2 A solution is required to have production assured and controlled. • Red light for a solution with no quality assurance and control • Amber light used when tests for assuring product quality are created • Green light used when quality control is passed 18/02/2015 ©odd.enterprises 27 Assure Product Quality Produce Product Control Product Quality Solution
  • 28. ODD Production Flowchart A flow chart has been designed to explain use of ODD Production. 1. A solution is selected which has to be produced 2. Quality assurance test created 3. Production process 4. If fail repeat Stage 3 5. Repeat Stages 1 – 4 until all production is assured 18/02/2015 ©odd.enterprises 28
  • 29. ODD Analysis 1 Utilisation and elicitation are used to verify and validate product features. • Once product features are utilised then elicitation can proceed as validation • Process links stages and allows continuous improvement and adaption 18/02/2015 ©odd.enterprises 29 Customer Utilisation Situation Analysis Elicit Customers Feature
  • 30. ODD Analysis 2 Analysis may be performed to give feedback on success of a product. • Red light for no utilisation and elicitation of feature • Amber light when tests for customer utilisation are created • Green light when tests for customer elicitation are passed 18/02/2015 ©odd.enterprises 30 Customer Utilisation Situation Analysis Elicit Customers Feature
  • 31. ODD Analysis Flowchart A flow chart has been designed to explain use of ODD Analysis. 1. Product feature is selected 2. Elicitation test is created 3. Product is utilised 4. If fail repeat Stage 3 5. Repeat Stages 1 – 4 until elicitation is complete 18/02/2015 ©odd.enterprises 31
  • 32. 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 18/02/2015 ©odd.enterprises 32
  • 33. Unit Testing 1 Unit tests are used to facilitate ODD through test suites. • Every stage is tested • Each test has a single result • Unit tests can be combined to give complex testing processes • Green light is for when tests are passed and element created 18/02/2015 ©odd.enterprises 33
  • 34. Unit Testing 2 • Requirements analysis – Test ensures behaviour covers situation – Solving test ensures behaviour covers situation • Specification of behaviours – Test ensures solution implements behaviour – Solving test ensures solution implements behaviour 18/02/2015 ©odd.enterprises 34
  • 35. Unit Testing 3 • Solution design – Test ensures production creates a solution – Solving test ensures production creates a solution • Production quality – Test ensures product utilisation in a situation – Solve to ensure product elicitation in a situation 18/02/2015 ©odd.enterprises 35
  • 36. ODD Elements • Elements are the smallest practical levels of a product and are sub divided 18/02/2015 ©odd.enterprises 36 • Elements are solutions of verification tests generated by a previous stage
  • 37. 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 18/02/2015 ©odd.enterprises 37
  • 39. Further Information and Questions • Website • Presentations • Facebook • Twitter • Email 18/02/2015 ©odd.enterprises 39
  • 40. 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. 18/02/2015 ©odd.enterprises 40