odd: extending v-model development 2

40
Obstacle Driven Development Extending V-model Development 2 ©odd.enterprises 22/02/2015

Upload: jonathan-herring

Post on 22-Jul-2015

378 views

Category:

Engineering


1 download

TRANSCRIPT

Obstacle Driven Development

Extending V-model Development 2

©odd.enterprises

22/02/2015

Obstacle Driven Development

22/02/2015 ©odd.enterprises 2

ODD Process

22/02/2015 ©odd.enterprises 3

ODD Traffic Light Model

22/02/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

22/02/2015 ©odd.enterprises 5

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

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

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

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

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

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

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

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

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

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

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

Extending a Specification 1

• Traditional Problem and Solution Space

• Extended Specification

17©odd.enterprises22/02/2015

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

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

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

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

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

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

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

ODD Checkpoints 3

22/02/2015 ©odd.enterprises 25

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

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

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

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

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

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

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

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

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

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

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

Verification and Validation M-model

22/02/2015 ©odd.enterprises 37

ODD Flowchart

22/02/2015 ©odd.enterprises 38

Further Information and Questions

• Website

• Presentations

• Facebook

• Twitter

• Email

22/02/2015 ©odd.enterprises 39

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