odd comparison

36
Obstacle Driven Development ODD Comparison ©odd.enterprises 11/03/2015

Upload: jonathan-herring

Post on 10-Aug-2015

224 views

Category:

Engineering


2 download

TRANSCRIPT

Obstacle Driven Development

ODD Comparison

©odd.enterprises

11/03/2015

Obstacle Driven Development

11/03/2015 ©odd.enterprises 2

ODD Circle Model

11/03/2015 ©odd.enterprises 3

ODD Process

11/03/2015 ©odd.enterprises 4

Background

Ideas of Obstacle Driven Development (ODD) are based on numerous development processes including:

• ISO V-model

• Test Driven Development

• ISO specifications

• Requirements analysis spiral

• Agile principles

11/03/2015 ©odd.enterprises 5

What is ODD? v. What do you want ODD to be?

11/03/2015 ©odd.enterprises 6

TDD v. ODD

11/03/2015 ©odd.enterprises 7

BDD v. ODD

11/03/2015 ©odd.enterprises 8

Write Test

Write Code

Validate / Refactor

Behaviour

V-model v. ODD

11/03/2015 ©odd.enterprises 9

ISO V-model v. ODD

11/03/2015 ©odd.enterprises 10

TDD V-model v. ODD

11/03/2015 ©odd.enterprises 11

Waterfall v. ODD

11/03/2015 ©odd.enterprises 12

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 Agile Flowchart

11/03/2015 ©odd.enterprises 32

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

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