odd comparison
TRANSCRIPT
Obstacle Driven Development
ODD Comparison
©odd.enterprises
11/03/2015
Obstacle Driven Development
11/03/2015 ©odd.enterprises 2
Background
Ideas of Obstacle Driven Development (ODD) are based on numerous development processes including:
• ISO V-model
• Test Driven Development
• ISO specifications
• Requirements analysis spiral
• Agile principles
11/03/2015 ©odd.enterprises 5
What is ODD? v. What do you want ODD to be?
11/03/2015 ©odd.enterprises 6
BDD v. ODD
11/03/2015 ©odd.enterprises 8
Write Test
Write Code
Validate / Refactor
Behaviour
Waterfall v. ODD (both with feedback)
11/03/2015 ©odd.enterprises 13
Requirements Spiral v. ODD Requirements
11/03/2015 ©odd.enterprises 14
Agile Framework v. ODD Framework
11/03/2015 ©odd.enterprises 15
Traditional Domains v. ODD Domains
11/03/2015 ©odd.enterprises 16
Unit Tests v. ODD Unit Tests
11/03/2015 ©odd.enterprises 17
Unit Tests v. ODD Unit Tests
11/03/2015 ©odd.enterprises 18
QASymphony v. odd.enterprises
11/03/2015 ©odd.enterprises 19
ODD Specification Importance
A specification can improve the development process of a product.
• Product cost is reduced with an improved specification process
• Using a full specification can prevent errors from propagating
• Creating and editing a specification is low cost
11/03/2015 ©odd.enterprises 20
ODD Simple
Verification and validation are applied to link stages and provide feedback.
• Verification is ensuring a product is built in the right way
• Validation is ensuring a product is built right
• Creating and solving tests give verification and validation
11/03/2015 ©odd.enterprises 21
ODD Complex
Verification and validation are to the left of each stage.
• Specification
– Verification and validation
• Solution
– Testing and design
• Production
– Quality assurance and control
• Analysis
– Utilisation and elicitation 11/03/2015 ©odd.enterprises 22
Testing Procedure
Unit testing is used and extended throughout each stage for ODD testing.
• Each stage is assigned a red light to begin
• Amber lights are obtained when tests are created for next stage
• Green light is for when tests are passed and next stage linked
11/03/2015 ©odd.enterprises 23
ODD Combined
The diagram shows an ODD process combined with an M-model and the resulting model.
• Traffic lights between stages indicate unit tests required
• Linking tests and elements ensures obstacles are solved
• Each element is created through a unit test
11/03/2015 ©odd.enterprises 24
ODD Elements
• Elements are the smallest practical levels of a product and are sub divided
11/03/2015 ©odd.enterprises 25
• Elements are solutions of verification tests generated by a previous stage
ODD Solution
Using a specification allows creation of tests based on described behaviours.
• Solution is used to describe individual and integrated designs
• If a solution is designed to pass tests then testing becomes easier
• Unit testing and test suites used
11/03/2015 ©odd.enterprises 26
Create Test
Design Solution
PassTest
Behaviour
ODD Solution Flowchart
A flow chart has been designed to explain use of an ODD Solution.
1. A behaviour is selected which has to be covered by a solution
2. Unit test is created
3. Solution is designed
4. If fail repeat Stage 3
5. Repeat Stages 1 – 4 until all behaviours are specified
11/03/2015 ©odd.enterprises 27
ODD Solution and Flowchart
11/03/2015 ©odd.enterprises 28
Linking Tests
Tests link behaviours with solutions through testing and design.
• Solutions are designed to tests created
• Each solution is a single aspect of the product
• Unit testing is applied
• Test suite created
11/03/2015 ©odd.enterprises 29
Linking Stages, Tests and Elements
• Situation A is analysed
– Tests verify and validate Behaviour A
• Behaviour A covers Situation A
– Testing and design of Solution A
• Solution A implements Behaviour A
– Tests for quality assurance and control of Production A
• Production A implements Solution A
– Tests for utilisation and elicitation of product Situation A
11/03/2015 ©odd.enterprises 30
ODD Waterfall Flowchart
11/03/2015 ©odd.enterprises 31
ODD Complete Flowchart
11/03/2015 ©odd.enterprises 33
ODD Timeline
• Feb 2013 – Introduced to TDD and learned other components
• October 2013 – Invented Problem Driven Development, ODDs initial form
• April 2014 – Revised, refined and renamed as ODD
• August 2014 – odd.enterprises created to build awareness for ODD
• February 2015 – Audience is created and interested by ODD
• Ongoing – Increase interest
11/03/2015 ©odd.enterprises 34
Further Information and Questions
• Website
• Presentations
11/03/2015 ©odd.enterprises 35
Legal Stuff
ReferencesTest 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
DisclaimerThe ODD M-model and associated processes are provided by odd.enterprises and may be used for any purpose whatsoever.
The names odd.enterprises and associated logos should not be used in any representation, advertising, publicity or other manner whatsoever to endorse or promote any entity that adopts or uses the model and/or associated processes.
odd.enterprises does not guarantee to provide support, consulting, training or assistance of any kind with regards to the use of the model and/or processes including any updates.
You agree to indemnify odd.enterprises and its affiliates, officers, agents and employees against any claim or demand including reasonable solicitors fees, related to your use, reliance or adoption of the model and/or processes for any purpose whatsoever.
The model is provided by odd.enterprises “as is” and any express or implied warranties, included but not limited to the implied warranties of merchantability and fitness for a particular purpose are expressly disclaimed.
In no event shall odd.enterprises be liable for any damages whatsoever, including but not limited to claims associated with the loss of data or profits, which may result from any action in contract, negligence or other tortious claim that arises out of or in connection with the use or performance of the model.
11/03/2015 ©odd.enterprises 36