SlideShare a Scribd company logo
Obstacle Driven Development
Extending a Specification 1.3
Obstacle Driven Development
28/06/2016 ©odd.enterprises 2
ODD Circle Model
28/06/2016 ©odd.enterprises 3
ODD Specification and Solution Model
28/06/2016 ©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
• Agile principles
28/06/2016 ©odd.enterprises 5
ODD Design Phases
Obstacle Driven Development has
stages similar to waterfall.
• Analysis
• Specification
• Solution
• Production
28/06/2016 ©odd.enterprises 6
ODD Design Phases 2
Stages are linked through testing
where a test is created and solved.
• Stages linked to adjacent stages
by verification and validation.
• Verification creates a test
– Verify, Testing, Assure, Utilise
• Validation solves a test
– Validate, Design, Control, Elicit
28/06/2016 ©odd.enterprises 7
ODD Design Phases 3
Checkpoints are added
to provide outputs
from each stage.
• Requirements
• Documents
• Prototype
• Product
28/06/2016 ©odd.enterprises 8
Preliminary and Detailed Design
Specification combines
preliminary and
detailed design.
• Complete
description of how
product behaves
• Contains only
descriptions, up to
and including
simulations
28/06/2016 ©odd.enterprises 9
International Organisation for Standardisation 1
The ISO specify minimum behaviour
expected of products which must
conform.
By conforming to standards such as
ISO a product:
• Gains access to markets
• Described as state of the art
• Limits legislative exposure
28/06/2016 ©odd.enterprises 10
International Organisation for Standardisation 2
ISO have defined processes for
analysis and specifications.
• ODD inspired ISO 26262 "Road
vehicles – Functional safety“
• Designing solutions according to
international standards ensures
conformance
• Other standards bodies such as
the IEC have similar processes.
28/06/2016 ©odd.enterprises 11
Specification
Traditional specification is an
interface between problem and
solution domains.
• Description of behaviours which
define a product
• Specification not used in all
traditional processes
• Requirements are often used
directly
28/06/2016 ©odd.enterprises 12
ISO V-model
V-models help form
structure and create ISO
compatible
developments.
• V-models inspired
linking of elements
• Safety critical design
processes
• Numerous V-models
have been created,
some inspired by TDD
28/06/2016 ©odd.enterprises 13
Importance of a Specification
Specifications improve development
of a product by providing additional
testing.
• Product cost is reduced with an
improved specification process
• Creating a full specification
prevents errors propagating
• Creating and testing a specification
is relatively low cost
28/06/2016 ©odd.enterprises 14
ODD Specification
ODD separates problem
and solution domains.
• Specification contains
behaviours to cover
requirements
• Separated from
Analysis and Solution
stages
• Links stages through
appropriate unit tests
28/06/2016 ©odd.enterprises 15
Behaviours 1
A definition of a behaviour is
• how an animal or person behaves
in response to a particular
situation or stimulus.
Replacing the subject with product
• how a product behaves in
response to a particular situation
or stimulus.
28/06/2016 ©odd.enterprises 16
Behaviours 2
Full separation of a Specification is
a crucial part of ODD.
• Separate specification allows for
greater freedom of development
• Alternative or back up behaviours
can satisfy a requirement
• Behaviours described to cover
situations/requirements
identified
28/06/2016 ©odd.enterprises 17
Abstraction Levels
Specification behaviours are divided
into abstract system levels.
• High level behaviours describe
how a product behaves
• Low level behaviours describe
how materials behave
• Decomposition allows for a
deductive process
• Tests linked for each abstraction
level
28/06/2016 ©odd.enterprises 18
Specification Creation
Behaviours decomposed and
defined to create Specification and
unit tests.
• Decomposition of high level
behaviours into lower levels
• Definition of specified behaviours
into logical behaviours
• Creation of tests through
assertions to link a solution
19PDD, Jonathan Herring
Specification Decomposition
Decomposition gives a top-down
approach to the creation of a
specification.
• Effective determination of lower
level behaviours
• Unnecessary behaviours are not
described
• Deductive process for creating a
specification
28/06/2016 ©odd.enterprises 20
Specification Definition
Definition gives an approach to
creation of a specification through
building increasing detailed models.
• Basic behaviours are defined first
• Specification defined through
increasing detail of behaviours
• Tests are created once
behaviours are defined with
assertions
28/06/2016 ©odd.enterprises 21
Documents Checkpoint
Documentation
describes all expected
behaviours.
• Documents describe
everything a product
should do
• Decomposed from
high level behaviours
into components
• Adapted and
distributed to
stakeholders
28/06/2016 ©odd.enterprises 22
Specified Behaviour
Specified behaviour regards what it
is expected to do for input, output
and internal states.
• No further detail
• Full specification linking all inputs
with outputs to ensure nothing is
left out
• Easy to understand, discuss,
produce and edit
28/06/2016 ©odd.enterprises 23
Functional Behaviour
Functional behaviour expands
specified behaviour by adding
input, output and internal states.
• Input, outputs and internal states
are defined with units
• Expands on basic description of a
products behaviours
• Ensures behaviours link and
combine into a complete
specification
28/06/2016 ©odd.enterprises 24
Logical Behaviour
Logical behaviour builds on
functional behaviour by adding
expectations.
• Detail is defined until expected
behaviours are described
• Allows a complete description of
a products expected behaviour
• Tests are created from assertions
of expected behaviour
28/06/2016 ©odd.enterprises 25
Modelled motor is a simple DC.
Procedural Behaviour
Procedural behaviour is a model or
simulation of a product as seen by
customers and other stakeholders.
• Ensures specification of a
product is as required by
customers and stakeholders
• Increases communication
between developers and
customers
28/06/2016 ©odd.enterprises 26
Behaviour Driven Development 1
Behaviour Driven Development
inspired linking of a specification to
a design solution.
• Each behaviour creates tests
• Multiple behaviours can be
solved by a single solution
• Designing according to
behaviours reduces ambiguity
28/06/2016 ©odd.enterprises 27
Behaviour Driven Development 2
Reordering the sequence gives one
similar to traffic lights.
• Red light for behaviours to be
coded
• Amber light when tests are
created and code written
• Green light when tests are
passed
28/06/2016 ©odd.enterprises 28
ODD Unit Testing 1
Unit tests and other Test Driven
Development principles are
extended to facilitate testing.
• Red light for obstacle to solve
• Amber light for test to obstacle
• Green light for solution
• Blue light for integrated and
refactored solution
28/06/2016 ©odd.enterprises 29
ODD Unit Testing 2
Unit tests are essential for an ODD
development method and adapted
for each stage.
• Adjacent stages linked through
creating and solving tests
• Each obstacle is tested
• Elements created through solving
tests
• Each test has a single result
28/06/2016 ©odd.enterprises 30
Creating a Specification
Specification created by
describing behaviours to
cover situations.
• Unit tests combined
to give complex
testing processes
• Green light for tests
passed
• Linked through
creating and solving
tests
28/06/2016 ©odd.enterprises 31
Specification Unit Testing
Create Specification
of Behaviours
• Select a situation or
requirement
• Create Test for
Verification
– Create test to ensure a
requirement is
covered by a
behaviour
• Solve Test for Validation
– Pass test ensures
requirement is
covered by a
behaviour
28/06/2016 ©odd.enterprises 32
Cross Examination 1
Cross examination in a courtroom is
similar to testing behaviours.
• Identification of errors and
contradictions before solution is
designed
• Unit tests are created to verify
behaviours with validation being
a pass
28/06/2016 ©odd.enterprises 33
Does Behaviour A cover Situation A?
Cross Examination 2
Behaviours are compared with
situations to find errors and
contradictions.
• Process used in development of a
specification
• Unit tests implemented between
situations and behaviours
• Ensures a behaviour for every
expected situation
28/06/2016 ©odd.enterprises 34
Unit Testing 1
All processes have reactions to
inputs with an output and/or
change in internal state.
• First stage describes responses to
situations and stimulus
• Unit tests for output and/or
internal change of a component
• Unit tests created from
behaviours described
28/06/2016 ©odd.enterprises 35
Unit Testing 2
Internal states are often impossible
to observe directly.
• Increase importance of creating
low level unit tests.
• Unit tests combined to test
complex behaviours
• Combined unit tests create a unit
test with a single result
28/06/2016 ©odd.enterprises 36
Creating a Solution
Full test suite created
with each behaviour
described in a
specification.
• Creating tests first
ensures a developer
understands objective
• Design according to
passing tests reduces
ambiguity
• Passing a test ensures
behaviour is
implemented
28/06/2016 ©odd.enterprises 37
Solution Unit Testing
Testing and Design of
Solution.
• Select a Behaviour
described
• Create Test for Solution
– Create a test to ensure
a behaviour is
implemented by a
solution
• Design for solution
– Pass a test to ensure a
behaviour is
implemented by a
solution
28/06/2016 ©odd.enterprises 38
Further Information and Questions
• Website
• Presentations
• Facebook
• Twitter
• Email
28/06/2016 ©odd.enterprises 39
Legal Stuff
References
Test Driven Development for Embedded C
James Grenning, 2011
International Organisation for Standardisation
http://www.iso.org/iso/home/standards.htm
NASA, Assurance Process for Complex Electronics
www.hq.nasa.gov/office/codeq/software/ComplexElectronics/
Assessment of the ISO 26262 Standard
http://www.sae.org/events/gim/presentations/2012/qi_volpe.pdf
Disclaimer
The ODD M-model and associated processes are provided by odd.enterprises and may be
used for any purpose whatsoever.
The names odd.enterprises and associated logos should not be used in any representation,
advertising, publicity or other manner whatsoever to endorse or promote any entity that
adopts or uses the model and/or associated processes.
odd.enterprises does not guarantee to provide support, consulting, training or assistance of
any kind with regards to the use of the model and/or processes including any updates.
You agree to indemnify odd.enterprises and its affiliates, officers, agents and employees
against any claim or demand including reasonable solicitors fees, related to your use,
reliance or adoption of the model and/or processes for any purpose whatsoever.
The model is provided by odd.enterprises “as is” and any express or implied warranties,
included but not limited to the implied warranties of merchantability and fitness for a
particular purpose are expressly disclaimed.
In no event shall odd.enterprises be liable for any damages whatsoever, including but not
limited to claims associated with the loss of data or profits, which may result from any
action in contract, negligence or other tortious claim that arises out of or in connection with
the use or performance of the model.
28/06/2016 ©odd.enterprises 40

More Related Content

What's hot

Sharath Resume
Sharath ResumeSharath Resume
Sharath ResumeSharath Ns
 
How To Manage and Mitigate Risk in Medical Device New Product Development
How To Manage and Mitigate Risk in Medical Device New Product DevelopmentHow To Manage and Mitigate Risk in Medical Device New Product Development
How To Manage and Mitigate Risk in Medical Device New Product Development
Greenlight Guru
 
Verhaert Innovation Day 2011 – Joris Vanderschrick (VERHAERT) - System Requir...
Verhaert Innovation Day 2011 – Joris Vanderschrick (VERHAERT) - System Requir...Verhaert Innovation Day 2011 – Joris Vanderschrick (VERHAERT) - System Requir...
Verhaert Innovation Day 2011 – Joris Vanderschrick (VERHAERT) - System Requir...
Verhaert Masters in Innovation
 
Innovation day 2012 11. luc van goethem & frederik wouters - verhaert - 'r...
Innovation day 2012   11. luc van goethem & frederik wouters - verhaert -  'r...Innovation day 2012   11. luc van goethem & frederik wouters - verhaert -  'r...
Innovation day 2012 11. luc van goethem & frederik wouters - verhaert - 'r...Verhaert Masters in Innovation
 
The Business Case for Integrated Design Controls
The Business Case for Integrated Design ControlsThe Business Case for Integrated Design Controls
The Business Case for Integrated Design Controls
Greenlight Guru
 
Engineers: Apply Automation to Increase Quality, Speed to Market
Engineers: Apply Automation to Increase Quality, Speed to MarketEngineers: Apply Automation to Increase Quality, Speed to Market
Engineers: Apply Automation to Increase Quality, Speed to Market
April Bright
 
Saksham Sarode - Building Effective test Data Management in Distributed Envir...
Saksham Sarode - Building Effective test Data Management in Distributed Envir...Saksham Sarode - Building Effective test Data Management in Distributed Envir...
Saksham Sarode - Building Effective test Data Management in Distributed Envir...
TEST Huddle
 
Internal and External Integration for Product Development: The Contingency Ef...
Internal and External Integration for Product Development: The Contingency Ef...Internal and External Integration for Product Development: The Contingency Ef...
Internal and External Integration for Product Development: The Contingency Ef...
Leo Gomes
 
Application of Quality Tools in Manufacturing Industries in simple ways: A Ca...
Application of Quality Tools in Manufacturing Industries in simple ways: A Ca...Application of Quality Tools in Manufacturing Industries in simple ways: A Ca...
Application of Quality Tools in Manufacturing Industries in simple ways: A Ca...
IRJET Journal
 
Hidden Horrors of Shoddy ( Poor Quality) Construction
Hidden Horrors of Shoddy ( Poor Quality) ConstructionHidden Horrors of Shoddy ( Poor Quality) Construction
Hidden Horrors of Shoddy ( Poor Quality) Construction
GAURAV. H .TANDON
 
Research Coupall
Research CoupallResearch Coupall
Research Coupalltwin12919
 
Donald_L_Loocke_Resume_TEr3
Donald_L_Loocke_Resume_TEr3Donald_L_Loocke_Resume_TEr3
Donald_L_Loocke_Resume_TEr3dloocke
 
Harmonize your qms model to meet iso 13485 regulations april 2013
Harmonize your qms model to meet iso 13485 regulations april 2013Harmonize your qms model to meet iso 13485 regulations april 2013
Harmonize your qms model to meet iso 13485 regulations april 2013John Cachat
 
Innovation day 2013 2.1 koenraad rombaut (verhaert) - risk based methods in...
Innovation day 2013   2.1 koenraad rombaut (verhaert) - risk based methods in...Innovation day 2013   2.1 koenraad rombaut (verhaert) - risk based methods in...
Innovation day 2013 2.1 koenraad rombaut (verhaert) - risk based methods in...Verhaert Masters in Innovation
 
Life Sciences Product Development
Life Sciences Product DevelopmentLife Sciences Product Development
Life Sciences Product Development
wraylk
 
Pros & cons of phase gate by akhilesh nawade
Pros & cons of phase gate   by akhilesh nawadePros & cons of phase gate   by akhilesh nawade
Pros & cons of phase gate by akhilesh nawade
akhilesh7486
 
Laatuseniorit tuotelaatu part two
Laatuseniorit tuotelaatu part twoLaatuseniorit tuotelaatu part two
Laatuseniorit tuotelaatu part two
Juhani Anttila
 
OPS 571T Education Specialist |tutorialrank.com
OPS 571T Education Specialist |tutorialrank.comOPS 571T Education Specialist |tutorialrank.com
OPS 571T Education Specialist |tutorialrank.com
ladworkspaces
 

What's hot (19)

Sharath Resume
Sharath ResumeSharath Resume
Sharath Resume
 
How To Manage and Mitigate Risk in Medical Device New Product Development
How To Manage and Mitigate Risk in Medical Device New Product DevelopmentHow To Manage and Mitigate Risk in Medical Device New Product Development
How To Manage and Mitigate Risk in Medical Device New Product Development
 
Verhaert Innovation Day 2011 – Joris Vanderschrick (VERHAERT) - System Requir...
Verhaert Innovation Day 2011 – Joris Vanderschrick (VERHAERT) - System Requir...Verhaert Innovation Day 2011 – Joris Vanderschrick (VERHAERT) - System Requir...
Verhaert Innovation Day 2011 – Joris Vanderschrick (VERHAERT) - System Requir...
 
Innovation day 2012 11. luc van goethem & frederik wouters - verhaert - 'r...
Innovation day 2012   11. luc van goethem & frederik wouters - verhaert -  'r...Innovation day 2012   11. luc van goethem & frederik wouters - verhaert -  'r...
Innovation day 2012 11. luc van goethem & frederik wouters - verhaert - 'r...
 
The Business Case for Integrated Design Controls
The Business Case for Integrated Design ControlsThe Business Case for Integrated Design Controls
The Business Case for Integrated Design Controls
 
Engineers: Apply Automation to Increase Quality, Speed to Market
Engineers: Apply Automation to Increase Quality, Speed to MarketEngineers: Apply Automation to Increase Quality, Speed to Market
Engineers: Apply Automation to Increase Quality, Speed to Market
 
Saksham Sarode - Building Effective test Data Management in Distributed Envir...
Saksham Sarode - Building Effective test Data Management in Distributed Envir...Saksham Sarode - Building Effective test Data Management in Distributed Envir...
Saksham Sarode - Building Effective test Data Management in Distributed Envir...
 
Internal and External Integration for Product Development: The Contingency Ef...
Internal and External Integration for Product Development: The Contingency Ef...Internal and External Integration for Product Development: The Contingency Ef...
Internal and External Integration for Product Development: The Contingency Ef...
 
Application of Quality Tools in Manufacturing Industries in simple ways: A Ca...
Application of Quality Tools in Manufacturing Industries in simple ways: A Ca...Application of Quality Tools in Manufacturing Industries in simple ways: A Ca...
Application of Quality Tools in Manufacturing Industries in simple ways: A Ca...
 
Hidden Horrors of Shoddy ( Poor Quality) Construction
Hidden Horrors of Shoddy ( Poor Quality) ConstructionHidden Horrors of Shoddy ( Poor Quality) Construction
Hidden Horrors of Shoddy ( Poor Quality) Construction
 
Research Coupall
Research CoupallResearch Coupall
Research Coupall
 
Donald_L_Loocke_Resume_TEr3
Donald_L_Loocke_Resume_TEr3Donald_L_Loocke_Resume_TEr3
Donald_L_Loocke_Resume_TEr3
 
Harmonize your qms model to meet iso 13485 regulations april 2013
Harmonize your qms model to meet iso 13485 regulations april 2013Harmonize your qms model to meet iso 13485 regulations april 2013
Harmonize your qms model to meet iso 13485 regulations april 2013
 
Innovation day 2013 2.1 koenraad rombaut (verhaert) - risk based methods in...
Innovation day 2013   2.1 koenraad rombaut (verhaert) - risk based methods in...Innovation day 2013   2.1 koenraad rombaut (verhaert) - risk based methods in...
Innovation day 2013 2.1 koenraad rombaut (verhaert) - risk based methods in...
 
Life Sciences Product Development
Life Sciences Product DevelopmentLife Sciences Product Development
Life Sciences Product Development
 
Pros & cons of phase gate by akhilesh nawade
Pros & cons of phase gate   by akhilesh nawadePros & cons of phase gate   by akhilesh nawade
Pros & cons of phase gate by akhilesh nawade
 
Laatuseniorit tuotelaatu part two
Laatuseniorit tuotelaatu part twoLaatuseniorit tuotelaatu part two
Laatuseniorit tuotelaatu part two
 
PW Final Jun7 2012
PW Final Jun7 2012PW Final Jun7 2012
PW Final Jun7 2012
 
OPS 571T Education Specialist |tutorialrank.com
OPS 571T Education Specialist |tutorialrank.comOPS 571T Education Specialist |tutorialrank.com
OPS 571T Education Specialist |tutorialrank.com
 

Similar to ODD: Extending a Specification 1.3

ODD: Extending Agile 1.3
ODD: Extending Agile 1.3ODD: Extending Agile 1.3
ODD: Extending Agile 1.3
Jonathan 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.3
Jonathan 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.2
Jonathan Herring
 
ODD + Project Control 0.9
ODD + Project Control 0.9ODD + Project Control 0.9
ODD + Project Control 0.9
Jonathan Herring
 
ODD + Project Control 1.0
ODD + Project Control 1.0ODD + Project Control 1.0
ODD + Project Control 1.0
Jonathan Herring
 
Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development
Jonathan Herring
 
Obstacle Driven Development
Obstacle Driven DevelopmentObstacle Driven Development
Obstacle Driven Development
Jonathan Herring
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
MansiganeshJawale
 
Obstacle Driven Development Models
Obstacle Driven Development ModelsObstacle Driven Development Models
Obstacle Driven Development Models
Jonathan Herring
 
SQA.ppt
SQA.pptSQA.ppt
ODD Comparison
ODD ComparisonODD Comparison
ODD Comparison
Jonathan Herring
 
Req.Management & Analysis.pptx
Req.Management & Analysis.pptxReq.Management & Analysis.pptx
Req.Management & Analysis.pptx
KYaghi1
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com
enosislearningcom
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
Saravanan Manoharan
 
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
SQAzXzXZXZXZsadasdawdasccascascascascasc.pptSQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
MeseAK
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cyclegnesoni
 
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
Jonathan Herring
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cyclegnesoni
 

Similar to ODD: Extending a Specification 1.3 (20)

ODD: Extending Agile 1.3
ODD: Extending Agile 1.3ODD: Extending Agile 1.3
ODD: Extending Agile 1.3
 
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: 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
 
ODD + Project Control 0.9
ODD + Project Control 0.9ODD + Project Control 0.9
ODD + Project Control 0.9
 
ODD + Project Control 1.0
ODD + Project Control 1.0ODD + Project Control 1.0
ODD + Project Control 1.0
 
Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development
 
Obstacle Driven Development
Obstacle Driven DevelopmentObstacle Driven Development
Obstacle Driven Development
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
Obstacle Driven Development Models
Obstacle Driven Development ModelsObstacle Driven Development Models
Obstacle Driven Development Models
 
SQA.ppt
SQA.pptSQA.ppt
SQA.ppt
 
ODD Comparison
ODD ComparisonODD Comparison
ODD Comparison
 
Req.Management & Analysis.pptx
Req.Management & Analysis.pptxReq.Management & Analysis.pptx
Req.Management & Analysis.pptx
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
SQAzXzXZXZXZsadasdawdasccascascascascasc.pptSQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
 
SQA.ppt
SQA.pptSQA.ppt
SQA.ppt
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cycle
 
SQA.ppt
SQA.pptSQA.ppt
SQA.ppt
 
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
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cycle
 

More from Jonathan Herring

ODD: OODA Evolution
ODD: OODA EvolutionODD: OODA Evolution
ODD: OODA Evolution
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.0
Jonathan Herring
 
How to be Innovative
How to be InnovativeHow to be Innovative
How to be Innovative
Jonathan Herring
 
ODD and Project Control v0.957
ODD and Project Control v0.957ODD and Project Control v0.957
ODD and Project Control v0.957
Jonathan Herring
 
Obstacle Driven Development Report v0.9
Obstacle Driven Development Report v0.9Obstacle Driven Development Report v0.9
Obstacle Driven Development Report v0.9
Jonathan Herring
 
ODD: Success and Failure
ODD: Success and FailureODD: Success and Failure
ODD: Success and Failure
Jonathan Herring
 
ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3
Jonathan Herring
 
ODD Definitions
ODD DefinitionsODD Definitions
ODD Definitions
Jonathan Herring
 
ODD: Evolution (short)
ODD: Evolution (short)ODD: Evolution (short)
ODD: Evolution (short)
Jonathan Herring
 
ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2
Jonathan Herring
 

More from Jonathan Herring (10)

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: Success and Failure
ODD: Success and FailureODD: Success and Failure
ODD: Success and Failure
 
ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3
 
ODD Definitions
ODD DefinitionsODD Definitions
ODD Definitions
 
ODD: Evolution (short)
ODD: Evolution (short)ODD: Evolution (short)
ODD: Evolution (short)
 
ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2
 

Recently uploaded

English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 

Recently uploaded (20)

English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 

ODD: Extending a Specification 1.3

  • 3. ODD Circle Model 28/06/2016 ©odd.enterprises 3
  • 4. ODD Specification and Solution Model 28/06/2016 ©odd.enterprises 4
  • 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 • Agile principles 28/06/2016 ©odd.enterprises 5
  • 6. ODD Design Phases Obstacle Driven Development has stages similar to waterfall. • Analysis • Specification • Solution • Production 28/06/2016 ©odd.enterprises 6
  • 7. ODD Design Phases 2 Stages are linked through testing where a test is created and solved. • Stages linked to adjacent stages by verification and validation. • Verification creates a test – Verify, Testing, Assure, Utilise • Validation solves a test – Validate, Design, Control, Elicit 28/06/2016 ©odd.enterprises 7
  • 8. ODD Design Phases 3 Checkpoints are added to provide outputs from each stage. • Requirements • Documents • Prototype • Product 28/06/2016 ©odd.enterprises 8
  • 9. Preliminary and Detailed Design Specification combines preliminary and detailed design. • Complete description of how product behaves • Contains only descriptions, up to and including simulations 28/06/2016 ©odd.enterprises 9
  • 10. International Organisation for Standardisation 1 The ISO specify minimum behaviour expected of products which must conform. By conforming to standards such as ISO a product: • Gains access to markets • Described as state of the art • Limits legislative exposure 28/06/2016 ©odd.enterprises 10
  • 11. International Organisation for Standardisation 2 ISO have defined processes for analysis and specifications. • ODD inspired ISO 26262 "Road vehicles – Functional safety“ • Designing solutions according to international standards ensures conformance • Other standards bodies such as the IEC have similar processes. 28/06/2016 ©odd.enterprises 11
  • 12. Specification Traditional specification is an interface between problem and solution domains. • Description of behaviours which define a product • Specification not used in all traditional processes • Requirements are often used directly 28/06/2016 ©odd.enterprises 12
  • 13. ISO V-model V-models help form structure and create ISO compatible developments. • V-models inspired linking of elements • Safety critical design processes • Numerous V-models have been created, some inspired by TDD 28/06/2016 ©odd.enterprises 13
  • 14. Importance of a Specification Specifications improve development of a product by providing additional testing. • Product cost is reduced with an improved specification process • Creating a full specification prevents errors propagating • Creating and testing a specification is relatively low cost 28/06/2016 ©odd.enterprises 14
  • 15. ODD Specification ODD separates problem and solution domains. • Specification contains behaviours to cover requirements • Separated from Analysis and Solution stages • Links stages through appropriate unit tests 28/06/2016 ©odd.enterprises 15
  • 16. Behaviours 1 A definition of a behaviour is • how an animal or person behaves in response to a particular situation or stimulus. Replacing the subject with product • how a product behaves in response to a particular situation or stimulus. 28/06/2016 ©odd.enterprises 16
  • 17. Behaviours 2 Full separation of a Specification is a crucial part of ODD. • Separate specification allows for greater freedom of development • Alternative or back up behaviours can satisfy a requirement • Behaviours described to cover situations/requirements identified 28/06/2016 ©odd.enterprises 17
  • 18. Abstraction Levels Specification behaviours are divided into abstract system levels. • High level behaviours describe how a product behaves • Low level behaviours describe how materials behave • Decomposition allows for a deductive process • Tests linked for each abstraction level 28/06/2016 ©odd.enterprises 18
  • 19. Specification Creation Behaviours decomposed and defined to create Specification and unit tests. • Decomposition of high level behaviours into lower levels • Definition of specified behaviours into logical behaviours • Creation of tests through assertions to link a solution 19PDD, Jonathan Herring
  • 20. Specification Decomposition Decomposition gives a top-down approach to the creation of a specification. • Effective determination of lower level behaviours • Unnecessary behaviours are not described • Deductive process for creating a specification 28/06/2016 ©odd.enterprises 20
  • 21. Specification Definition Definition gives an approach to creation of a specification through building increasing detailed models. • Basic behaviours are defined first • Specification defined through increasing detail of behaviours • Tests are created once behaviours are defined with assertions 28/06/2016 ©odd.enterprises 21
  • 22. Documents Checkpoint Documentation describes all expected behaviours. • Documents describe everything a product should do • Decomposed from high level behaviours into components • Adapted and distributed to stakeholders 28/06/2016 ©odd.enterprises 22
  • 23. Specified Behaviour Specified behaviour regards what it is expected to do for input, output and internal states. • No further detail • Full specification linking all inputs with outputs to ensure nothing is left out • Easy to understand, discuss, produce and edit 28/06/2016 ©odd.enterprises 23
  • 24. Functional Behaviour Functional behaviour expands specified behaviour by adding input, output and internal states. • Input, outputs and internal states are defined with units • Expands on basic description of a products behaviours • Ensures behaviours link and combine into a complete specification 28/06/2016 ©odd.enterprises 24
  • 25. Logical Behaviour Logical behaviour builds on functional behaviour by adding expectations. • Detail is defined until expected behaviours are described • Allows a complete description of a products expected behaviour • Tests are created from assertions of expected behaviour 28/06/2016 ©odd.enterprises 25 Modelled motor is a simple DC.
  • 26. Procedural Behaviour Procedural behaviour is a model or simulation of a product as seen by customers and other stakeholders. • Ensures specification of a product is as required by customers and stakeholders • Increases communication between developers and customers 28/06/2016 ©odd.enterprises 26
  • 27. Behaviour Driven Development 1 Behaviour Driven Development inspired linking of a specification to a design solution. • Each behaviour creates tests • Multiple behaviours can be solved by a single solution • Designing according to behaviours reduces ambiguity 28/06/2016 ©odd.enterprises 27
  • 28. Behaviour Driven Development 2 Reordering the sequence gives one similar to traffic lights. • Red light for behaviours to be coded • Amber light when tests are created and code written • Green light when tests are passed 28/06/2016 ©odd.enterprises 28
  • 29. ODD Unit Testing 1 Unit tests and other Test Driven Development principles are extended to facilitate testing. • Red light for obstacle to solve • Amber light for test to obstacle • Green light for solution • Blue light for integrated and refactored solution 28/06/2016 ©odd.enterprises 29
  • 30. ODD Unit Testing 2 Unit tests are essential for an ODD development method and adapted for each stage. • Adjacent stages linked through creating and solving tests • Each obstacle is tested • Elements created through solving tests • Each test has a single result 28/06/2016 ©odd.enterprises 30
  • 31. Creating a Specification Specification created by describing behaviours to cover situations. • Unit tests combined to give complex testing processes • Green light for tests passed • Linked through creating and solving tests 28/06/2016 ©odd.enterprises 31
  • 32. Specification Unit Testing Create Specification of Behaviours • Select a situation or requirement • Create Test for Verification – Create test to ensure a requirement is covered by a behaviour • Solve Test for Validation – Pass test ensures requirement is covered by a behaviour 28/06/2016 ©odd.enterprises 32
  • 33. Cross Examination 1 Cross examination in a courtroom is similar to testing behaviours. • Identification of errors and contradictions before solution is designed • Unit tests are created to verify behaviours with validation being a pass 28/06/2016 ©odd.enterprises 33 Does Behaviour A cover Situation A?
  • 34. Cross Examination 2 Behaviours are compared with situations to find errors and contradictions. • Process used in development of a specification • Unit tests implemented between situations and behaviours • Ensures a behaviour for every expected situation 28/06/2016 ©odd.enterprises 34
  • 35. Unit Testing 1 All processes have reactions to inputs with an output and/or change in internal state. • First stage describes responses to situations and stimulus • Unit tests for output and/or internal change of a component • Unit tests created from behaviours described 28/06/2016 ©odd.enterprises 35
  • 36. Unit Testing 2 Internal states are often impossible to observe directly. • Increase importance of creating low level unit tests. • Unit tests combined to test complex behaviours • Combined unit tests create a unit test with a single result 28/06/2016 ©odd.enterprises 36
  • 37. Creating a Solution Full test suite created with each behaviour described in a specification. • Creating tests first ensures a developer understands objective • Design according to passing tests reduces ambiguity • Passing a test ensures behaviour is implemented 28/06/2016 ©odd.enterprises 37
  • 38. Solution Unit Testing Testing and Design of Solution. • Select a Behaviour described • Create Test for Solution – Create a test to ensure a behaviour is implemented by a solution • Design for solution – Pass a test to ensure a behaviour is implemented by a solution 28/06/2016 ©odd.enterprises 38
  • 39. Further Information and Questions • Website • Presentations • Facebook • Twitter • Email 28/06/2016 ©odd.enterprises 39
  • 40. Legal Stuff References Test Driven Development for Embedded C James Grenning, 2011 International Organisation for Standardisation http://www.iso.org/iso/home/standards.htm NASA, Assurance Process for Complex Electronics www.hq.nasa.gov/office/codeq/software/ComplexElectronics/ Assessment of the ISO 26262 Standard http://www.sae.org/events/gim/presentations/2012/qi_volpe.pdf Disclaimer The ODD M-model and associated processes are provided by odd.enterprises and may be used for any purpose whatsoever. The names odd.enterprises and associated logos should not be used in any representation, advertising, publicity or other manner whatsoever to endorse or promote any entity that adopts or uses the model and/or associated processes. odd.enterprises does not guarantee to provide support, consulting, training or assistance of any kind with regards to the use of the model and/or processes including any updates. You agree to indemnify odd.enterprises and its affiliates, officers, agents and employees against any claim or demand including reasonable solicitors fees, related to your use, reliance or adoption of the model and/or processes for any purpose whatsoever. The model is provided by odd.enterprises “as is” and any express or implied warranties, included but not limited to the implied warranties of merchantability and fitness for a particular purpose are expressly disclaimed. In no event shall odd.enterprises be liable for any damages whatsoever, including but not limited to claims associated with the loss of data or profits, which may result from any action in contract, negligence or other tortious claim that arises out of or in connection with the use or performance of the model. 28/06/2016 ©odd.enterprises 40