SlideShare a Scribd company logo
1 of 36
Download to read offline
Obstacle Driven Development
ODD Models
Testing First?
15/07/2016 ©odd.enterprises 2
Answering a
question before
its asked is like
creating a
solution before
a test.
Problem Driven Development
Problem Driven
Development combines
Test Driven Development
with V-models.
• Requirements analysis
is separate stage
• Specification in the
form of various levels of
testing
15/07/2016 ©odd.enterprises 3
Problem Driven Development
Colour is changed to
represent the colours
of traffic lights.
• Tests are linked to
abstraction levels of
the stages
• Suitable for research
purposes
15/07/2016 ©odd.enterprises 4
Problem Domain Development
Problem and solution
domains describe the
stages.
• Specification is an
interface between the
stages
• Expanding the
interface allows
increased testing
15/07/2016 ©odd.enterprises 5
N-model Comparison
Problem Driven Development
creates an N-model to combine a V
and inverted V-model.
• Comparison against Problem and
Solution domains
• Specification allows testing of
ideas before they are created
15/07/2016 ©odd.enterprises 6
Obstacle Driven Development Stages
Adding a Production stage created
Obstacle Driven Development with
Solution to be produced.
• Solutions designed in labs may
not work in practice
• Production ensures Solution is
produced with quality assured
and controlled
15/07/2016 ©odd.enterprises 7
Stages Verification + Validation
Between each stage of Obstacle
Driven Development there are tests
created to verify and validate.
• Verify is creating a test to ensure
it’s built in the right way
• Validate is passing a test to
ensure it’s built right
• Adapted as necessary between
other stages
15/07/2016 ©odd.enterprises 8
Stages Verification + Validation
Verification and Validation gives 2
directions of information flow with
feedforwards and feedback.
• Each stage is linked to the next
through creating tests
• Each stage is linked to the
previous through passing tests
• Feedforwards for progress
• Feedback for correction
15/07/2016 ©odd.enterprises 9
Stages + Domains
Production gives another stage to the Problem and Solution
domain with Quality Assured and Controlled.
15/07/2016 ©odd.enterprises 10
M-model Development
15/07/2016 ©odd.enterprises 11
Extending the N-model
with Production
creates the M-model.
• Checkpoints added
to consolidate each
stage with output
• Tests created and
passed between
each stage
M-model Development
M-model provides a path for
development with
Verification and Validation
through tests.
• Stages are alternatively
built up and broken down
• Ascending slope indicates
integration
• Descending slope
indicates decomposition
15/07/2016 ©odd.enterprises 12
Domains + M-model
Stages designed to model the
problem domain with testing
between each.
• Overlap represents testing
between stages
• Creating and solving tests acts as
interface between stages
• Operates similarly to Test Driven
Development
15/07/2016 ©odd.enterprises 13
M-model Elements
M-models divided into
stages and abstraction
levels to give elements.
• Stages contain all
required elements
• Creating through
integration or
decomposition
• Suppliers may supply
lower level products
15/07/2016 ©odd.enterprises 14
M-model Elements
Stages of the model are divided into elements through abstraction
levels and system divisions with each having a specific place.
15/07/2016 ©odd.enterprises 15
Stages + Process
15/07/2016 ©odd.enterprises 16
Stages are created using a process
of creating and solving tests.
• Process the same for each stage
but different methods to achieve
solutions
• Solutions to a stage become
obstacles to the next
• Stages
Stages + Process
15/07/2016 ©odd.enterprises 17
Solutions to each stage (in blue)
become obstacles (in red) to link
the next stage.
• Stages are both solutions and
obstacles
• Stages repeated until obstacles
are solved
Process + Verification + Validation
Verification and validation is
performed between each stage
through creating and solving tests.
• Creating a test first ensures we
are building the right thing
• Solving a test ensures we are
building it right
• We modify prior stages when we
determine errors with them
15/07/2016 ©odd.enterprises 18
OODA Inspired M-model
ODD combined with the
OODA model (Observe,
Orient, Decide, Act).
• Illustrates feedback to
the Analysis stage
• Shows importance of a
Specification to
development
• Decision block before
entering Production
15/07/2016 ©odd.enterprises 19
Abstraction Levels
Abstraction levels help
obstacles and solutions link
at all levels.
• Divides development into
appropriate levels
• High level abstractions are
integrated from lower
levels
• Lower level abstractions
are decomposed from
high levels
15/07/2016 ©odd.enterprises 20
Systems Division
Abstraction levels are
further divided into
individual systems and their
lower levels.
• Helps separate systems
from others for easier
testing and integration
• Systems division is
modelled throughout
stages
15/07/2016 ©odd.enterprises 21
3D Pyramid Model
Combining models gives a 3D
model with Stages, Abstraction
levels and System Divisions.
• Progress on x-axis
• Abstraction levels on y-axis
• Systems division on z-axis
15/07/2016 ©odd.enterprises 22
Linking Models
Models are linked end to end
to allow development to
continuously improve.
• Models linked for new
products or creating
improved versions
• Combine as many models
as necessary
• Obstacles, tests and
solutions can be reused
15/07/2016 ©odd.enterprises 23
Flowchart
Flowcharts show how we
create products through
each stage.
• Process is similar for
each stage
• Create tests first,
solutions after
• Stages complete when
all tests are passed
15/07/2016 ©odd.enterprises 24
Flowchart + Feedback
Feedback between stages
allows modification of
previous stages within a
development cycle.
• Feedback when tests
or solutions are not
suitable
• Tests and/or solutions
may not correct
• Progress of stage
determines feedback
15/07/2016 ©odd.enterprises 25
Repeating M-models
M-models also repeat by folding in
on themselves which helps
continuous improvement.
• Consists of V and inverted V-
models
• Process and structure identical to
other forms
• Current and future products
developed concurrently
15/07/2016 ©odd.enterprises 26
Systems Engineering
Further stages may be added to
create models suitable for systems
engineering.
• Additional stages of Supply and
Assemble support hardware and
embedded
• Maintenance and Support to
help products and services
longevity
15/07/2016 ©odd.enterprises 27
Software Engineering + Sales
Other stages are added to the
systems engineering model as
necessary.
• Business obstacles and solutions
may be combined
• Helps determine effective
business strategies
15/07/2016 ©odd.enterprises 28
Hardware Engineering + Sales
Stages are added or removed as
necessary for development.
• Adding Supply and Assemble
added
• Maintenance and Support
removed
• Helps links Hardware and
Embedded engineering to a
business strategy
15/07/2016 ©odd.enterprises 29
ODDSAP (Supply Assemble Production)
Stages are added and
removed to create new
models.
• Stages added in pairs
which support
development
• Supply and Assemble
ensure hardware is
supplied and
assembled right
15/07/2016 ©odd.enterprises 30
OODA Inspired ODDSAP
Combining the ODDSAP
model with OODA shows
feedback and importance
of Specification.
• Feedback from each
stage to Analysis
• Implicit Guidance and
control from
Specification
15/07/2016 ©odd.enterprises 31
ASAP (Analysis Supply Assemble Production)
ASAP used when there is
insufficient time to perform
the required stages.
• Product is built quickly
with ODD stages to verify
and validate
• ODD performed
concurrently or after
15/07/2016 ©odd.enterprises 32
Generic Form
Generic form is
applicable between each
of the stages.
• Obstacle is a solution
from previous stage
• Target / Test creates a
test with assertion
• Solution solves the
test / achieves target
• Action is result of the
stage
15/07/2016 ©odd.enterprises 33
OBSA (Obstacle Behaviour Solution Action)
OBSA is the fundamental
process and method
behind ODD.
• Modified for different
fields including
business and medicine
• Fundamental to OODA
methods also
15/07/2016 ©odd.enterprises 34
Further Information and Questions
Website
Presentations
Facebook
Twitter
Email
15/07/2016 ©odd.enterprises 35
Legal Stuff
References
Test Driven Development for Embedded C
James Grenning, 2011
Digging into “Fail fast, fail often.”
http://agile.dzone.com/articles/digging-fail-fast-fail-often
Agile vs. Waterfall: How to Approach your Web Development Project
http://www.commonplaces.com/blog/agile-vs-waterfall-how-approach-
your-web-development-project
The Scrum Master Performance Review
http://illustratedagile.com/2011/12/13/the-scrum-master-
performance-review-preparation/
ScrumMaster
http://www.mountaingoatsoftware.com/agile/scrum/scrummaster
Disclaimer
The ODD M-model and associated processes are provided by odd.enterprises and may be
used for any purpose whatsoever.
The names odd.enterprises and associated logos should not be used in any representation,
advertising, publicity or other manner whatsoever to endorse or promote any entity that
adopts or uses the model and/or associated processes.
odd.enterprises does not guarantee to provide support, consulting, training or assistance of
any kind with regards to the use of the model and/or processes including any updates.
You agree to indemnify odd.enterprises and its affiliates, officers, agents and employees
against any claim or demand including reasonable solicitors fees, related to your use,
reliance or adoption of the model and/or processes for any purpose whatsoever.
The model is provided by odd.enterprises “as is” and any express or implied warranties,
included but not limited to the implied warranties of merchantability and fitness for a
particular purpose are expressly disclaimed.
In no event shall odd.enterprises be liable for any damages whatsoever, including but not
limited to claims associated with the loss of data or profits, which may result from any
action in contract, negligence or other tortious claim that arises out of or in connection with
the use or performance of the model.
15/07/2016 ©odd.enterprises 36

More Related Content

What's hot

Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development Jonathan Herring
 
Stage gate innovation process powerpoint presentation templates
Stage gate innovation process powerpoint presentation templatesStage gate innovation process powerpoint presentation templates
Stage gate innovation process powerpoint presentation templatesSlideTeam.net
 
ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3Jonathan Herring
 
Performance testing: respect the difference at swqd14
Performance testing: respect the difference at swqd14Performance testing: respect the difference at swqd14
Performance testing: respect the difference at swqd14Alexander Podelko
 
Developing a First-Time-Right Culture in Product Development
Developing a First-Time-Right Culture in Product DevelopmentDeveloping a First-Time-Right Culture in Product Development
Developing a First-Time-Right Culture in Product DevelopmentVenkadesh Narayanan
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLESabeel Irshad
 
ODD: Extending Test Driven Development 1.2
ODD: Extending Test Driven Development 1.2ODD: Extending Test Driven Development 1.2
ODD: Extending Test Driven Development 1.2Jonathan Herring
 
Stage gate process in IT product development
Stage gate process in IT product developmentStage gate process in IT product development
Stage gate process in IT product developmentPrzemek Berendt
 
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 nawadeakhilesh7486
 
New Product Introduction - Launching Success!
New Product Introduction - Launching Success! New Product Introduction - Launching Success!
New Product Introduction - Launching Success! Product Realization Group
 
PDMA Process StageGate
PDMA Process StageGatePDMA Process StageGate
PDMA Process StageGateDeepSmarts
 
Stage gate framework
Stage gate frameworkStage gate framework
Stage gate frameworkjongminshi
 

What's hot (16)

Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development
 
Stage gate innovation process powerpoint presentation templates
Stage gate innovation process powerpoint presentation templatesStage gate innovation process powerpoint presentation templates
Stage gate innovation process powerpoint presentation templates
 
Innovation Team Plan
Innovation Team PlanInnovation Team Plan
Innovation Team Plan
 
ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3ODD: Extending Requirements Analysis 1.3
ODD: Extending Requirements Analysis 1.3
 
Performance testing: respect the difference at swqd14
Performance testing: respect the difference at swqd14Performance testing: respect the difference at swqd14
Performance testing: respect the difference at swqd14
 
Developing a First-Time-Right Culture in Product Development
Developing a First-Time-Right Culture in Product DevelopmentDeveloping a First-Time-Right Culture in Product Development
Developing a First-Time-Right Culture in Product Development
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
 
VirendraResume (1)
VirendraResume (1)VirendraResume (1)
VirendraResume (1)
 
ODD: Extending Test Driven Development 1.2
ODD: Extending Test Driven Development 1.2ODD: Extending Test Driven Development 1.2
ODD: Extending Test Driven Development 1.2
 
Stage gate process in IT product development
Stage gate process in IT product developmentStage gate process in IT product development
Stage gate process in IT product development
 
Embedded development life cycle
Embedded development life cycleEmbedded development life cycle
Embedded development life cycle
 
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
 
Tp88 pub45
Tp88 pub45Tp88 pub45
Tp88 pub45
 
New Product Introduction - Launching Success!
New Product Introduction - Launching Success! New Product Introduction - Launching Success!
New Product Introduction - Launching Success!
 
PDMA Process StageGate
PDMA Process StageGatePDMA Process StageGate
PDMA Process StageGate
 
Stage gate framework
Stage gate frameworkStage gate framework
Stage gate framework
 

Similar to Obstacle Driven Development Models

Obstacle Driven Development Stages
Obstacle Driven Development StagesObstacle Driven Development Stages
Obstacle Driven Development StagesJonathan Herring
 
ODD: Extending V-model Development 1.3.5
ODD: Extending V-model Development 1.3.5ODD: Extending V-model Development 1.3.5
ODD: Extending V-model Development 1.3.5Jonathan Herring
 
ODD is not Agile or Waterfall
ODD is not Agile or WaterfallODD is not Agile or Waterfall
ODD is not Agile or WaterfallJonathan Herring
 
Obstacle Driven Development
Obstacle Driven DevelopmentObstacle Driven Development
Obstacle Driven DevelopmentJonathan Herring
 
V model presentation
V model presentationV model presentation
V model presentationNiat Murad
 
Software testing methodologies to watch out in 2020
Software testing methodologies to watch out in 2020Software testing methodologies to watch out in 2020
Software testing methodologies to watch out in 2020Concetto Labs
 
Lecture 02 - Development Methodologies.pptx
Lecture 02 - Development Methodologies.pptxLecture 02 - Development Methodologies.pptx
Lecture 02 - Development Methodologies.pptxelham706227
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionDevOps.com
 
ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3Jonathan Herring
 
Matinée PMI-Montréal - Quotation model deployment
Matinée PMI-Montréal - Quotation model deploymentMatinée PMI-Montréal - Quotation model deployment
Matinée PMI-Montréal - Quotation model deploymentPMI-Montréal
 

Similar to Obstacle Driven Development Models (20)

ODD: OODA Evolution
ODD: OODA EvolutionODD: OODA Evolution
ODD: OODA Evolution
 
Obstacle Driven Development Stages
Obstacle Driven Development StagesObstacle Driven Development Stages
Obstacle Driven Development Stages
 
ODD: Extending V-model Development 1.3.5
ODD: Extending V-model Development 1.3.5ODD: Extending V-model Development 1.3.5
ODD: Extending V-model Development 1.3.5
 
ODD is not Agile or Waterfall
ODD is not Agile or WaterfallODD is not Agile or Waterfall
ODD is not Agile or Waterfall
 
Obstacle Driven Development
Obstacle Driven DevelopmentObstacle Driven Development
Obstacle Driven Development
 
V model presentation
V model presentationV model presentation
V model presentation
 
ODD + Project Control 0.9
ODD + Project Control 0.9ODD + Project Control 0.9
ODD + Project Control 0.9
 
ODD Testing
ODD TestingODD Testing
ODD Testing
 
What is v model
What is v modelWhat is v model
What is v model
 
Software testing methodologies to watch out in 2020
Software testing methodologies to watch out in 2020Software testing methodologies to watch out in 2020
Software testing methodologies to watch out in 2020
 
ODD + Project Control 1.0
ODD + Project Control 1.0ODD + Project Control 1.0
ODD + Project Control 1.0
 
I
II
I
 
ODD: Success and Failure
ODD: Success and FailureODD: Success and Failure
ODD: Success and Failure
 
5.2 DMADOV Phase.pptx
5.2 DMADOV  Phase.pptx5.2 DMADOV  Phase.pptx
5.2 DMADOV Phase.pptx
 
5.2 DMADOV Phase.pptx
5.2 DMADOV  Phase.pptx5.2 DMADOV  Phase.pptx
5.2 DMADOV Phase.pptx
 
Lecture 02 - Development Methodologies.pptx
Lecture 02 - Development Methodologies.pptxLecture 02 - Development Methodologies.pptx
Lecture 02 - Development Methodologies.pptx
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management Solution
 
ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3
 
Matinée PMI-Montréal - Quotation model deployment
Matinée PMI-Montréal - Quotation model deploymentMatinée PMI-Montréal - Quotation model deployment
Matinée PMI-Montréal - Quotation model deployment
 
SDLC Models.pdf
SDLC Models.pdfSDLC Models.pdf
SDLC Models.pdf
 

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
 
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 and Project Control v0.957
ODD and Project Control v0.957ODD and Project Control v0.957
ODD and Project Control v0.957Jonathan Herring
 
Obstacle Driven Development Report v0.9
Obstacle Driven Development Report v0.9Obstacle Driven Development Report v0.9
Obstacle Driven Development Report v0.9Jonathan Herring
 
ODD: Extending 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 a Specification 1.2
ODD: Extending a Specification 1.2ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2Jonathan 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
 

More from Jonathan Herring (10)

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+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 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 Definitions
ODD DefinitionsODD Definitions
ODD Definitions
 
ODD: Evolution (short)
ODD: Evolution (short)ODD: Evolution (short)
ODD: Evolution (short)
 
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 a Specification 1.2
ODD: Extending a Specification 1.2ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2
 
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

High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
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
 
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
 
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
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
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
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 

Recently uploaded (20)

9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
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
 
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
 
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
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
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
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
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
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 

Obstacle Driven Development Models

  • 2. Testing First? 15/07/2016 ©odd.enterprises 2 Answering a question before its asked is like creating a solution before a test.
  • 3. Problem Driven Development Problem Driven Development combines Test Driven Development with V-models. • Requirements analysis is separate stage • Specification in the form of various levels of testing 15/07/2016 ©odd.enterprises 3
  • 4. Problem Driven Development Colour is changed to represent the colours of traffic lights. • Tests are linked to abstraction levels of the stages • Suitable for research purposes 15/07/2016 ©odd.enterprises 4
  • 5. Problem Domain Development Problem and solution domains describe the stages. • Specification is an interface between the stages • Expanding the interface allows increased testing 15/07/2016 ©odd.enterprises 5
  • 6. N-model Comparison Problem Driven Development creates an N-model to combine a V and inverted V-model. • Comparison against Problem and Solution domains • Specification allows testing of ideas before they are created 15/07/2016 ©odd.enterprises 6
  • 7. Obstacle Driven Development Stages Adding a Production stage created Obstacle Driven Development with Solution to be produced. • Solutions designed in labs may not work in practice • Production ensures Solution is produced with quality assured and controlled 15/07/2016 ©odd.enterprises 7
  • 8. Stages Verification + Validation Between each stage of Obstacle Driven Development there are tests created to verify and validate. • Verify is creating a test to ensure it’s built in the right way • Validate is passing a test to ensure it’s built right • Adapted as necessary between other stages 15/07/2016 ©odd.enterprises 8
  • 9. Stages Verification + Validation Verification and Validation gives 2 directions of information flow with feedforwards and feedback. • Each stage is linked to the next through creating tests • Each stage is linked to the previous through passing tests • Feedforwards for progress • Feedback for correction 15/07/2016 ©odd.enterprises 9
  • 10. Stages + Domains Production gives another stage to the Problem and Solution domain with Quality Assured and Controlled. 15/07/2016 ©odd.enterprises 10
  • 11. M-model Development 15/07/2016 ©odd.enterprises 11 Extending the N-model with Production creates the M-model. • Checkpoints added to consolidate each stage with output • Tests created and passed between each stage
  • 12. M-model Development M-model provides a path for development with Verification and Validation through tests. • Stages are alternatively built up and broken down • Ascending slope indicates integration • Descending slope indicates decomposition 15/07/2016 ©odd.enterprises 12
  • 13. Domains + M-model Stages designed to model the problem domain with testing between each. • Overlap represents testing between stages • Creating and solving tests acts as interface between stages • Operates similarly to Test Driven Development 15/07/2016 ©odd.enterprises 13
  • 14. M-model Elements M-models divided into stages and abstraction levels to give elements. • Stages contain all required elements • Creating through integration or decomposition • Suppliers may supply lower level products 15/07/2016 ©odd.enterprises 14
  • 15. M-model Elements Stages of the model are divided into elements through abstraction levels and system divisions with each having a specific place. 15/07/2016 ©odd.enterprises 15
  • 16. Stages + Process 15/07/2016 ©odd.enterprises 16 Stages are created using a process of creating and solving tests. • Process the same for each stage but different methods to achieve solutions • Solutions to a stage become obstacles to the next • Stages
  • 17. Stages + Process 15/07/2016 ©odd.enterprises 17 Solutions to each stage (in blue) become obstacles (in red) to link the next stage. • Stages are both solutions and obstacles • Stages repeated until obstacles are solved
  • 18. Process + Verification + Validation Verification and validation is performed between each stage through creating and solving tests. • Creating a test first ensures we are building the right thing • Solving a test ensures we are building it right • We modify prior stages when we determine errors with them 15/07/2016 ©odd.enterprises 18
  • 19. OODA Inspired M-model ODD combined with the OODA model (Observe, Orient, Decide, Act). • Illustrates feedback to the Analysis stage • Shows importance of a Specification to development • Decision block before entering Production 15/07/2016 ©odd.enterprises 19
  • 20. Abstraction Levels Abstraction levels help obstacles and solutions link at all levels. • Divides development into appropriate levels • High level abstractions are integrated from lower levels • Lower level abstractions are decomposed from high levels 15/07/2016 ©odd.enterprises 20
  • 21. Systems Division Abstraction levels are further divided into individual systems and their lower levels. • Helps separate systems from others for easier testing and integration • Systems division is modelled throughout stages 15/07/2016 ©odd.enterprises 21
  • 22. 3D Pyramid Model Combining models gives a 3D model with Stages, Abstraction levels and System Divisions. • Progress on x-axis • Abstraction levels on y-axis • Systems division on z-axis 15/07/2016 ©odd.enterprises 22
  • 23. Linking Models Models are linked end to end to allow development to continuously improve. • Models linked for new products or creating improved versions • Combine as many models as necessary • Obstacles, tests and solutions can be reused 15/07/2016 ©odd.enterprises 23
  • 24. Flowchart Flowcharts show how we create products through each stage. • Process is similar for each stage • Create tests first, solutions after • Stages complete when all tests are passed 15/07/2016 ©odd.enterprises 24
  • 25. Flowchart + Feedback Feedback between stages allows modification of previous stages within a development cycle. • Feedback when tests or solutions are not suitable • Tests and/or solutions may not correct • Progress of stage determines feedback 15/07/2016 ©odd.enterprises 25
  • 26. Repeating M-models M-models also repeat by folding in on themselves which helps continuous improvement. • Consists of V and inverted V- models • Process and structure identical to other forms • Current and future products developed concurrently 15/07/2016 ©odd.enterprises 26
  • 27. Systems Engineering Further stages may be added to create models suitable for systems engineering. • Additional stages of Supply and Assemble support hardware and embedded • Maintenance and Support to help products and services longevity 15/07/2016 ©odd.enterprises 27
  • 28. Software Engineering + Sales Other stages are added to the systems engineering model as necessary. • Business obstacles and solutions may be combined • Helps determine effective business strategies 15/07/2016 ©odd.enterprises 28
  • 29. Hardware Engineering + Sales Stages are added or removed as necessary for development. • Adding Supply and Assemble added • Maintenance and Support removed • Helps links Hardware and Embedded engineering to a business strategy 15/07/2016 ©odd.enterprises 29
  • 30. ODDSAP (Supply Assemble Production) Stages are added and removed to create new models. • Stages added in pairs which support development • Supply and Assemble ensure hardware is supplied and assembled right 15/07/2016 ©odd.enterprises 30
  • 31. OODA Inspired ODDSAP Combining the ODDSAP model with OODA shows feedback and importance of Specification. • Feedback from each stage to Analysis • Implicit Guidance and control from Specification 15/07/2016 ©odd.enterprises 31
  • 32. ASAP (Analysis Supply Assemble Production) ASAP used when there is insufficient time to perform the required stages. • Product is built quickly with ODD stages to verify and validate • ODD performed concurrently or after 15/07/2016 ©odd.enterprises 32
  • 33. Generic Form Generic form is applicable between each of the stages. • Obstacle is a solution from previous stage • Target / Test creates a test with assertion • Solution solves the test / achieves target • Action is result of the stage 15/07/2016 ©odd.enterprises 33
  • 34. OBSA (Obstacle Behaviour Solution Action) OBSA is the fundamental process and method behind ODD. • Modified for different fields including business and medicine • Fundamental to OODA methods also 15/07/2016 ©odd.enterprises 34
  • 35. Further Information and Questions Website Presentations Facebook Twitter Email 15/07/2016 ©odd.enterprises 35
  • 36. Legal Stuff References Test Driven Development for Embedded C James Grenning, 2011 Digging into “Fail fast, fail often.” http://agile.dzone.com/articles/digging-fail-fast-fail-often Agile vs. Waterfall: How to Approach your Web Development Project http://www.commonplaces.com/blog/agile-vs-waterfall-how-approach- your-web-development-project The Scrum Master Performance Review http://illustratedagile.com/2011/12/13/the-scrum-master- performance-review-preparation/ ScrumMaster http://www.mountaingoatsoftware.com/agile/scrum/scrummaster Disclaimer The ODD M-model and associated processes are provided by odd.enterprises and may be used for any purpose whatsoever. The names odd.enterprises and associated logos should not be used in any representation, advertising, publicity or other manner whatsoever to endorse or promote any entity that adopts or uses the model and/or associated processes. odd.enterprises does not guarantee to provide support, consulting, training or assistance of any kind with regards to the use of the model and/or processes including any updates. You agree to indemnify odd.enterprises and its affiliates, officers, agents and employees against any claim or demand including reasonable solicitors fees, related to your use, reliance or adoption of the model and/or processes for any purpose whatsoever. The model is provided by odd.enterprises “as is” and any express or implied warranties, included but not limited to the implied warranties of merchantability and fitness for a particular purpose are expressly disclaimed. In no event shall odd.enterprises be liable for any damages whatsoever, including but not limited to claims associated with the loss of data or profits, which may result from any action in contract, negligence or other tortious claim that arises out of or in connection with the use or performance of the model. 15/07/2016 ©odd.enterprises 36