Top Banner
Obstacle Driven Development Extending V-model Development 2 ©odd.enterprises 22/02/2015
40
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ODD: Extending V-model Development 2

Obstacle Driven Development

Extending V-model Development 2

©odd.enterprises

22/02/2015

Page 2: ODD: Extending V-model Development 2

Obstacle Driven Development

22/02/2015 ©odd.enterprises 2

Page 3: ODD: Extending V-model Development 2

ODD Process

22/02/2015 ©odd.enterprises 3

Page 4: ODD: Extending V-model Development 2

ODD Traffic Light Model

22/02/2015 ©odd.enterprises 4

Page 5: ODD: Extending V-model Development 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

22/02/2015 ©odd.enterprises 5

Page 6: ODD: Extending V-model Development 2

Test Driven Development 1

Test Driven Development inspired testing for a V-model.

• Obstacle Driven Development helps define tests and extend TDD principles

Development of ODD began with the question

• Where do the tests come from?

22/02/2015 ©odd.enterprises 6

Write Test

Write Code

Refactor

Page 7: ODD: Extending V-model Development 2

Test Driven Development 2

Using ODD gives a sequence similar to traffic lights.

• Red light used for unverified and unvalidated elements

• Amber light now used when tests are created and code written

• Green light used when the tests have been passed

22/02/2015 ©odd.enterprises 7

Page 8: ODD: Extending V-model Development 2

Obstacle Driven Development 1

Tests used to verify and validate code are extended to create a new development model.

• Applications to hardware, software and embedded

• Links stages with tests for verification and validation

• Adapted and used throughout development

22/02/2015 ©odd.enterprises 8

Verify Solution

Solution for Obstacle

ValidateSolution

Obstacle

Page 9: ODD: Extending V-model Development 2

Obstacle Driven Development 2

Obstacle Driven Development is used to find solutions to obstacles.

An obstacle is broken into four stages of development when using ODD.

• Analysis

• Specification

• Solution

• Production

22/02/2015 ©odd.enterprises 9

Verify Solution

Solution for Obstacle

ValidateSolution

Obstacle

Page 10: ODD: Extending V-model Development 2

Obstacle Driven Development 3

The ODD Process is expressed using four stages in sequence.

The diagram is simplified to demonstrate a basic ODD process.

• Analysis

• Specification

• Solution

• Production

22/02/2015 ©odd.enterprises 10

Specification

Solution

Production

Analysis

Page 11: ODD: Extending V-model Development 2

Obstacle Driven Development 4

Verification and validation are applied to link stages and provide feedback.

• Verification is ensuring a product is built in the right way

• Validation is ensuring a product is built right

• Creating and solving tests give verification and validation

22/02/2015 ©odd.enterprises 11

Page 12: ODD: Extending V-model Development 2

International Organisation for Standardisation

Standards and processes provided for requirements, specifications, guidelines or characteristics.

• Used to ensure products, services and components are fit for purpose

• Reduce costs of development by minimising waste and errors

• ODD designed to be compatible and implement standards

22/02/2015 ©odd.enterprises 12

Page 13: ODD: Extending V-model Development 2

V-model

V-models are commonly used in engineering to create designs and fulfil requirements.

• V-models form the basic framework for ODD

• Often used for safety critical design processes

• Numerous V-models have been created, some inspired by TDD

22/02/2015 ©odd.enterprises 13

Page 14: ODD: Extending V-model Development 2

ISO V-model

V-model used to apply ISO standards for software development.

• Model links levels of elements with validation

• Testing for levels up to and including vehicle tests

• Testing is used as feedback and ensures each level is verified

22/02/2015 ©odd.enterprises 14

Page 15: ODD: Extending V-model Development 2

V-model Comparison

When comparing a V-model to problem and solution domains it can be observed that:

• a V-model does not adequately cover the problem domain

• verification and validation processes are late in a project

• specification not used to maximum effect

22/02/2015 ©odd.enterprises 15

Page 16: ODD: Extending V-model Development 2

Test Driven Development V-model

A V-model used in conjunction with Test Driven Development.

• Generates tests which a system is required to pass

• Tests generated from elements of a previous stage

• Design is used to create tests for a system

22/02/2015 ©odd.enterprises 16

Page 17: ODD: Extending V-model Development 2

Extending a Specification 1

• Traditional Problem and Solution Space

• Extended Specification

17©odd.enterprises22/02/2015

Page 18: ODD: Extending V-model Development 2

Extending a Specification 2

Extending a specification allows V-model development combined with Test Driven Development.

• V-model compatible with Safety Integrity Levels from the ISO

• TDD processes used for V&V of a specification

• Specification used to create tests

22/02/2015 ©odd.enterprises 18

Page 19: ODD: Extending V-model Development 2

N-model Comparison

N-model was created from extending a V-model.

• Verification and validation between Analysis and Specification.

• Verification by creating a test

• Validation from passing a test

• Interface between problem and solution is extended

22/02/2015 ©odd.enterprises 19

Page 20: ODD: Extending V-model Development 2

ODD Production

Product and future development is linked continuously through a Production stage.

• Ensures Solution is produced with assured and controlled quality

• Links with Analysis to ensure feedback

• Resulting product situations are analysed for requirements

22/02/2015 ©odd.enterprises 20

Page 21: ODD: Extending V-model Development 2

ODD M-model 1

Adding a production stage to development results in an M-model.

• Development process is linked from start to finish, and beyond

• Verification and validation between stages is performed

• Tests are ran with additions and editions

22/02/2015 ©odd.enterprises 21

Page 22: ODD: Extending V-model Development 2

ODD M-model 2

Checkpoints of each stage are added and linked horizontally.

• Checkpoints adapted from a requirements analysis spiral

• Prototype should fulfil identified requirements

• Product should behave as described in documents

22/02/2015 ©odd.enterprises 22

Page 23: ODD: Extending V-model Development 2

ODD Checkpoints 1

Checkpoints are defined to provide expected outputs from each stage.

• Requirements found from Analysis

• Documents described from Specification

• Prototype integrated from Solution

• Product assembled by Production

22/02/2015 ©odd.enterprises 23

Page 24: ODD: Extending V-model Development 2

ODD Checkpoints 2

Checkpoints are verified and validated against those indicated.

• Requirements compared to Prototype

• Prototype tested for Requirements

• Documents describe a Product

• Product documented in Documents

22/02/2015 ©odd.enterprises 24

Page 25: ODD: Extending V-model Development 2

ODD Checkpoints 3

22/02/2015 ©odd.enterprises 25

Page 26: ODD: Extending V-model Development 2

Verification and Validation 1

Verification and validation occurs between stages with appropriate adaptions.

For ODD verification and validation processes concern the questions:

• Verification

Is it built in the right way?

• Validation

Is it built right?

22/02/2015 ©odd.enterprises 26

Page 27: ODD: Extending V-model Development 2

Verification and Validation 2

Verification and validation processes for the stages.

• Specification

– Verification and validation (of behaviours)

• Solution

– Testing and design

• Production

– Quality assurance and control

• Analysis

– Utilisation and elicitation 22/02/2015 ©odd.enterprises 27

Page 28: ODD: Extending V-model Development 2

M-Model Comparison

ODD model uses four separate stages linked through unit testing.

• Verification and validation appropriate to each stage

• Extends traditional problem and solution domain model

• Unit testing processes used to link stages

22/02/2015 ©odd.enterprises 28

Page 29: ODD: Extending V-model Development 2

ODD Process

A traffic light system has been developed for use with ODD.

• Begin each stage with a red light.

• Amber lights are obtained when tests are created for next stage

• Green light is for when tests are passed and next stage linked

22/02/2015 ©odd.enterprises 29

Page 30: ODD: Extending V-model Development 2

Linear and Nonlinear 1

ODD comprises linear development stages with V & V to create a nonlinear process.

• If no errors then development proceeds through stages

• Error is detected and cause is identified and resolved through feedback

22/02/2015 ©odd.enterprises 30

Page 31: ODD: Extending V-model Development 2

Linear and Nonlinear 2

Snakes and ladders has similar properties to an ODD process.

If ODD is thought of in a similar way then

• ladders are passing tests which allow progress and link stages

• snakes are failing tests which halt progress and/or force regression

22/02/2015 ©odd.enterprises 31

Page 32: ODD: Extending V-model Development 2

Integration

Ascending slopes use integrate lowest levels of elements into the highest.

• Hazards are found from combining individual situations

• Processing of hazards finds and prioritises requirements

• System integrates individual components from material level

22/02/2015 ©odd.enterprises 32

Page 33: ODD: Extending V-model Development 2

Decomposition

Descending slopes use decompose highest level elements into the lowest.

• Decomposition allows for system tests and production assurance at a high level

Note information flow for can be reversed for fault finding.22/02/2015 ©odd.enterprises 33

Page 34: ODD: Extending V-model Development 2

Feedforward Processes

Verification of each stage is a feedfoward process where tests are created for a next stage.

• Verification

• Testing

• Quality assurance

• Utilisation

22/02/2015 ©odd.enterprises 34

Page 35: ODD: Extending V-model Development 2

Feedback Processes

Validation of each stage is a feedback process where tests are passed from a previous stage.

• Validation

• Design

• Quality control

• Elicitation

22/02/2015 ©odd.enterprises 35

Page 36: ODD: Extending V-model Development 2

Information Flow

Flow of information can proceed in several directions due to unit tests.

• Integration, decomposition, feedback and feedforward

• Information flows through each stage with integration or decomposition

• Stages are linked by tests which give feedback and feedforward processes

22/02/2015 ©odd.enterprises 36

Page 37: ODD: Extending V-model Development 2

Verification and Validation M-model

22/02/2015 ©odd.enterprises 37

Page 38: ODD: Extending V-model Development 2

ODD Flowchart

22/02/2015 ©odd.enterprises 38

Page 39: ODD: Extending V-model Development 2

Further Information and Questions

• Website

• Presentations

• Facebook

• Twitter

• Email

22/02/2015 ©odd.enterprises 39

Page 40: ODD: Extending V-model Development 2

Legal Stuff

ReferencesTest Driven Development for Embedded C

James Grenning, 2011

International Organisation for Standardisation

http://www.iso.org/iso/home/standards.htm

Suresoft Automotive, V-model Compliant with ISO 26262

http://www.suresofttech.com/en/solution/solution/

Assessment of the ISO 26262 Standard

http://www.sae.org/events/gim/presentations/2012/qi_volpe.pdf

V-model, One Stop Testing

http://www.onestoptesting.com/sdlc-models/v-model.asp

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.

22/02/2015 ©odd.enterprises 40