SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Downloaden Sie, um offline zu lesen
Obstacle Driven Development
ODD is not Agile or Waterfall
Šodd.enterprises
16/03/2015
Obstacle Driven Development
16/03/2015 Šodd.enterprises 2
ODD Circle Model
16/03/2015 Šodd.enterprises 3
ODD Process
16/03/2015 Šodd.enterprises 4
ODD Combined Model
16/03/2015 Šodd.enterprises 5
ODD Process Flowchart
16/03/2015 Šodd.enterprises 6
ODD Process Flowchart with Feedback
16/03/2015 Šodd.enterprises 7
What is ODD? v. What do you want ODD to be?
16/03/2015 Šodd.enterprises 8
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
16/03/2015 Šodd.enterprises 9
Obstacle Driven Development 1
Tests used to verify and validate
code in TDD are extended and
adapted to create a new
development model.
• Applications to hardware,
software and embedded
• Links stages with tests used for
verification and validation
16/03/2015 Šodd.enterprises 10
Verify
Solution
Solution for
Obstacle
Validate
Solution
Obstacle
Obstacle Driven Development 2
Obstacle Driven Development finds
solutions to obstacles.
An obstacle is solved and product
created through four stages of
development.
• Analysis
• Specification
• Solution
• Production
16/03/2015 Šodd.enterprises 11
Verify
Solution
Solution for
Obstacle
Validate
Solution
Obstacle
Obstacle Driven Development 3
An ODD Process is expressed using
four stages in sequence.
The diagram is simplified to
demonstrate a basic ODD process.
• Analysis
• Specification
• Solution
• Production
16/03/2015 Šodd.enterprises 12
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
16/03/2015 Šodd.enterprises 13
ODD Flow Chart
Flow chart to demonstrate a
generic ODD process implemented
with appropriate testing.
• Flow chart is adapted to give
testing required for each stage
• Select Obstacle refers to an
element from a previous stage
• Create Test and Create Solution
are adapted for verification and
validation of each element
16/03/2015 Šodd.enterprises 14
ODD M-model 1
M-models demonstrate how
development is divided into stages
and testing processes.
Each stage also has a checkpoint.
• Requirements
• Documents
• Prototype
• Product
16/03/2015 Šodd.enterprises 15
ODD M-model 2
Testing processes are to the left of
each stage.
• Analysis
– Utilisation and elicitation
• Specification
– Verification and validation
• Solution
– Testing and design
• Production
– Quality assurance and control
16/03/2015 Šodd.enterprises 16
Waterfall Development
Waterfall development is
considered a traditional method of
software development.
• Each stage is “fixed” before
moving to the next
• Flexibility is an issue with fixed
stages
• Testing is late in the development
16/03/2015 Šodd.enterprises 17
ODD is not Waterfall
ODD is different to Waterfall in a
number of ways.
• Development stages are not fixed
• Testing is implicit throughout
with unit tests
• Testing implemented between
each stage
16/03/2015 Šodd.enterprises 18
Agile Development
Agile is a relatively recent approach
to product development designed
to be efficient and adaptable.
• 12 principles to guide
development teams in
implementing Agile projects
• Various methodologies including
SCRUM and Feature Driven
Development
16/03/2015 Šodd.enterprises 19
ODD is not Agile
ODD is different to Agile in a
number of ways.
• Specification implemented
• Tests are created first
• ODD is suitable for hardware,
software and embedded
• Four stages to product
development
16/03/2015 Šodd.enterprises 20
Agile Manifesto
The Agile manifesto describes what
is important for an Agile project.
• Invented by Kent Beck, James
Grenning et al.
• While both are important Agile
values the left over the right
• ODD uses a modified version
• Individuals and interactions over
processes and tools
• Working software over
comprehensive documentation
• Customer collaboration over
contract negotiation
• Responding to change over
following a plan
Š Kent Beck, James Grenning et al.
16/03/2015 Šodd.enterprises 21
ODD Manifesto
The manifesto used for ODD is a
reworking of the Agile manifesto.
• Over is replaced by terms
illustrating how one can help
with others
• Emphasis on linking and
encouraging ODD processes
• Processes and tools which
encourage individuals and
interactions
• Working software through
comprehensive documentation
• Contract negotiation through
customer collaboration
• Following a plan which responds
to change
16/03/2015 Šodd.enterprises 22
Success from Failure
Obstacle Driven Development can
be described as an attempt to:
Achieve success by identifying,
correcting and preventing failures
as early, effectively and efficiently
as possible.
16/03/2015 Šodd.enterprises 23
Learning from Failure
ODD is different to traditional and
achieves success by identifying,
correcting and preventing failures.
• Success is a lack of failure
• Failure is easy to prove and
understand
• Tests give definitive answers for
success or failure
16/03/2015 Šodd.enterprises 24
The Tests Are Out There
If you don’t test your product then
your customers will.
• Tests are out there and waiting
for your product
• Product utilisation has wider
scope than testing
• Single failure has potential to
cause failure of a product
16/03/2015 Šodd.enterprises 25
Fail Early, Fail Often
Achieving success with ODD is
through identifying, correcting and
preventing failure.
• Undiscovered errors can cost 10x
more to fix in the next
development phase
• Errors become expensive to solve
• 2 stages missed ≈ 100x
• 3 stages missed ≈ 1000x
16/03/2015 Šodd.enterprises 26
ODD Specification Importance
A specification can improve
development 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
16/03/2015 Šodd.enterprises 27
SCRUM 1
SCRUM is a developmental method
for Agile developments.
SCRUM was first defined in 1986 as
• a flexible, holistic product
development strategy where a
development team works as a
unit to reach a common goal
• Teams organised to achieve
required result
16/03/2015 Šodd.enterprises 28
SCRUM 2
SCRUM is used to plan and manage
sprints which facilitate
development.
• Sprints can be between a week
and a month (30 days shown)
• Meetings to demonstrate
progress and discuss problems
• Sprints allow consistent and
sustained progress
16/03/2015 Šodd.enterprises 29
SCRUM Master
Scrum Master is responsible for
ensuring a team works to values
and practices of Scrum.
• Facilitates Scrum events
• Process owner for team
• Ensures Scrum is understood and
followed
• Removes impediments to
progress
16/03/2015 Šodd.enterprises 30
Sprints
Sprints ensure a smooth flow of
work for the duration of a
development.
• Developments are divided into
sprints
• Each sprint has discovery, design,
development and testing
• Each sprint is required to be
integrated
16/03/2015 Šodd.enterprises 31
Burndown Chart 1
Burndown charts help measure and
plan development through tasks
completed and remaining.
• Green line is expected
development schedule
• Effort is measured using time
• If remaining tasks and effort are
above ideal then development is
behind schedule
16/03/2015 Šodd.enterprises 32
Burndown Chart 2
Simple burndown chart where the
blue line is an ideal or expected
burndown.
• Easy to see if a project is
expected to overrun
• If actual tasks line is above ideal
tasks then a project is behind
schedule
16/03/2015 Šodd.enterprises 33
Tests as Sprints
ODD Sprints are creating, solving
and passing tests for various stages.
• Creating a test ensures an
obstacle to be solved is known
• Passing a test ensures an
obstacle is solved
• Measurable progress achieved
16/03/2015 Šodd.enterprises 34
ODD Elements 1
• Elements are generic and
describe all parts of
development
16/03/2015 Šodd.enterprises 35
• Elements of each stage are
situations, behaviours,
solutions and production
ODD Elements 2
• Elements are practical levels
of a product and integrated
or decomposed
16/03/2015 Šodd.enterprises 36
• Elements are solutions of
tests generated by a previous
stage
Linking Elements 1
Elements ensure development links
throughout the stages.
• Each stage has different and
separate elements
• Height of elements indicates level
from material to product
• Unit testing links each stage
16/03/2015 Šodd.enterprises 37
Linking Elements 2
Elements are used to create a test
and link elements in the next stage.
• Unit testing implemented
through traffic lights
• Levels should link to related
elements of next stage
• Short distance between stages
indicates a close link
16/03/2015 Šodd.enterprises 38
Linking Elements 3
Production stage allows elements
to link up for continuous
development.
• Product analysis for identification
of remaining errors
• Informs future developments
• Solution is created many times
with quality assured and
controlled
16/03/2015 Šodd.enterprises 39
Linking Tests 1
Tests link behaviours with solutions
through testing and design.
• Solutions are designed according
to tests created from behaviours
• Each solution is a single element
of a product
• Unit testing is applied
• Test suite created and ran when
changes occur
16/03/2015 Šodd.enterprises 40
Linking Tests 2
Testing and design concerns
solutions created from behaviours
in a specification.
• Customers are involved for
utilisation and elicitation
• Each solution implements 1 or
more behaviours
• Tests suite ran for any changes or
additions
16/03/2015 Šodd.enterprises 41
Creating Tests 1
Creation of solutions from a
specification is inspired by
Behaviour Driven Development.
• Often tests can be created by
simply rewriting a behaviour
• Designing a solution according to
tests reduces debugging
• Creation of tests and designs may
continue until all behaviours are
implemented
16/03/2015 Šodd.enterprises 42
Creating Tests 2
Full test suite created using each
behaviour contained in a
specification.
• Creating a test first ensures an
objective is understood
• Design according to passing tests
reduces ambiguity
• Passing a test ensures behaviour
is implemented
16/03/2015 Šodd.enterprises 43
ODD Process 1
ODD uses a traffic light model with
each stage linked through creating,
solving and passing tests.
• Demonstrates links to elements
from a previous stage
• Process uses unit tests to ensure
all obstacles are solved
• Easy to understand and view
progress
16/03/2015 Šodd.enterprises 44
ODD Process 2
Feedforward and feedback
processes are used to ensure stages
are linked.
• Feedforward is creating tests to
link next stage
• Feedback is solving and passing
tests from previous stage
• Allows full linkage of stages
16/03/2015 Šodd.enterprises 45
Verification and Validation
Testing processes are used for
verification and validation and to
link stages of development.
• Stages given appropriate
verification and validation
• Each stage used to verify next
through creating tests
• Previous stage used for validation
by solving and passing tests
16/03/2015 Šodd.enterprises 46
ODD Combined Model
An ODD process and an M-model
give a combined model.
• Demonstrates how each stage is
linked to next
• Each traffic light set models a
unit testing process
• Linking of a stage is achieved
when all green lights
16/03/2015 Šodd.enterprises 47
ODD Organisation
Four stages structure a
developments organisation.
• Overview of all stages and
verification and validation
• Each stage and linking is
observed and managed
• Partnerships between colleagues
are managed and maintained
16/03/2015 Šodd.enterprises 48
ODD Master
An ODD master is given a title and
responsibilities similar to a SCRUM
master.
• Attention paid to linking stages
through verification and
validation
• Has management control over
development stages
• Interacts and supervises each
and all stages
16/03/2015 Šodd.enterprises 49
ODD Sprints
ODD Sprints are creating, solving
and passing a test.
• Measurable and testable
progress in a sprint
• Tests completed and remaining
give estimate of progress
• Tests completed are an accurate
way of measuring progress
16/03/2015 Šodd.enterprises 50
ODD Burndown Chart
An ODD burndown chart simply
replaces tasks to be completed with
tests to be passed.
• Tests to pass used as an estimate
for time remaining
• Tasks not tested may result in
errors leading to overrun
16/03/2015 Šodd.enterprises 51
ODD Generic Flow Chart
Each stage of ODD has an adaption
of this generic flow chart.
Flow chart is adapted to provide:
• Analysis - Utilisation and
Elicitation
• Specification – Verification and
Validation
• Solution - Testing and Design
• Production – Quality Assurance
and Control
16/03/2015 Šodd.enterprises 52
ODD Analysis
Utilisation and elicitation verify and
validate product features.
• Once product features are
utilised then elicitation can
proceed as validation
• Process links stages and allows
continuous improvement and
adaption
16/03/2015 Šodd.enterprises 53
Customer
Utilisation
Situation
Analysis
Elicit
Customers
Feature
ODD Analysis Flowchart
Flow chart designed to explain
creation of ODD Analysis stage.
1. Product feature selected to be
analysed in situations
2. Elicitation test is created
3. Product is utilised
4. If fail repeat Stage 3
5. Repeat Stages 1 – 4 until
elicitation is complete
16/03/2015 Šodd.enterprises 54
ODD Specification
Specification describes behaviours
which cover expected situations
and requirements.
• Tests verify and validate whether
behaviours cover requirement
• Once expected situations are
covered and tests verified a
specification is complete
16/03/2015 Šodd.enterprises 55
Verify
Specification
Specify
Behaviour
Validate
Specification
Requirement
ODD Specification Flowchart
Flow chart designed to explain
creation of ODD Specification stage.
1. Requirement selected to be
covered by a behaviour
2. Verification test is created
3. Behaviour is specified
4. If fail repeat Stage 3
5. Repeat Stages 1 – 4 until all
behaviours are specified
16/03/2015 Šodd.enterprises 56
ODD Solution
Specification allows creation of
tests and solutions based on
described behaviours.
• Solution describes individual and
integrated designs
• If a solution is designed to pass
tests then testing becomes easier
• Unit testing and test suites used
16/03/2015 Šodd.enterprises 57
Create Test
Design
Solution
Pass
Test
Behaviour
ODD Solution Flowchart
Flow chart designed to explain
creation of ODD Solution stage.
1. Behaviour selected 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
16/03/2015 Šodd.enterprises 58
ODD Production
Production organised directly from
a solution to give assured and
controlled quality.
• Solution ensures continuous and
predictable quality
• Quality assurance tests are
created
• Number of passes a measure for
quality control
16/03/2015 Šodd.enterprises 59
Assure
Product
Quality
Produce
Product
Control
Product
Quality
Solution
ODD Production Flowchart
Flow chart designed to explain
creation of ODD Production stage.
1. Solution selected to be
produced
2. Quality assurance test created
3. Production process
4. If fail repeat Stage 3
5. Repeat Stages 1 – 4 until all
production is assured
16/03/2015 Šodd.enterprises 60
ODD Agile Flowchart 1
Combining flowcharts without
checkpoints gives a process similar
to Agile development.
• Begins by selecting a situation
from analysis to specify
behaviours
• Each ODD flowchart is combined
to produce flowchart for entire
process
16/03/2015 Šodd.enterprises 61
ODD Agile Flowchart 2
16/03/2015 Šodd.enterprises 62
ODD Waterfall Flowchart 1
Combining flowcharts gives a
process which can be presented
similarly to Waterfall development.
• Begins with selecting a feature to
process requirements
• Each ODD flowchart has been
combined with checkpoints
16/03/2015 Šodd.enterprises 63
ODD Waterfall Flowchart 2
16/03/2015 Šodd.enterprises 64
ODD Waterfall with Feedback 1
Full flowchart model of an ODD
development.
• Decisions added to give options
when tests are not passing
• Branch in lighter colour is a
repetition of analysis stage
• Indicates how development can
be continued or adapted
16/03/2015 Šodd.enterprises 65
ODD Waterfall with Feedback 2
16/03/2015 Šodd.enterprises 66
Further Information and Questions
• Website
• Presentations
• Facebook
• Twitter
• Email
16/03/2015 Šodd.enterprises 67
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.
16/03/2015 Šodd.enterprises 68

Weitere ähnliche Inhalte

Was ist angesagt?

ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2Jonathan Herring
 
Quality by Design Course Preview
Quality by Design Course PreviewQuality by Design Course Preview
Quality by Design Course PreviewInvensis Learning
 
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...Derk-Jan de Grood
 
Innovation Team Plan
Innovation Team PlanInnovation Team Plan
Innovation Team PlanRam Srivastava
 
Sami Zahran Quality Gates
Sami Zahran Quality GatesSami Zahran Quality Gates
Sami Zahran Quality GatesDr. Sami Zahran
 
Assess Prioritize Improve Tutorial at 6th World Congress For Software Qualit...
Assess Prioritize Improve  Tutorial at 6th World Congress For Software Qualit...Assess Prioritize Improve  Tutorial at 6th World Congress For Software Qualit...
Assess Prioritize Improve Tutorial at 6th World Congress For Software Qualit...Rik Marselis
 
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
 
Modified Stage-Gate: A Product Development Process by Dr. Nader Ale Ebrahim
Modified Stage-Gate: A Product Development Process     by Dr. Nader Ale EbrahimModified Stage-Gate: A Product Development Process     by Dr. Nader Ale Ebrahim
Modified Stage-Gate: A Product Development Process by Dr. Nader Ale EbrahimNader Ale Ebrahim
 
Between Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologiesBetween Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologiessuwalki24.pl
 
Zero Defect Initiative - Quality Index Generator
Zero Defect Initiative - Quality Index GeneratorZero Defect Initiative - Quality Index Generator
Zero Defect Initiative - Quality Index GeneratorQuEST Forum
 
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...Dimitris Dranidis
 
Innovation day 2012 11. luc van goethem & frederik wouters - verhaert - 'r...
Innovation day 2012   11. luc van goethem & frederik wouters - verhaert -  'r...Innovation day 2012   11. luc van goethem & frederik wouters - verhaert -  'r...
Innovation day 2012 11. luc van goethem & frederik wouters - verhaert - 'r...Verhaert Masters in Innovation
 
Dr Dev Kambhampati | Stage Gate Innovation Management
Dr Dev Kambhampati | Stage Gate Innovation ManagementDr Dev Kambhampati | Stage Gate Innovation Management
Dr Dev Kambhampati | Stage Gate Innovation ManagementDr Dev Kambhampati
 
I am a agile tester, because...(masterclass at the Barcelona Test Academy)
I am a agile tester, because...(masterclass at the Barcelona Test Academy)I am a agile tester, because...(masterclass at the Barcelona Test Academy)
I am a agile tester, because...(masterclass at the Barcelona Test Academy)Derk-Jan de Grood
 
Getting a grip on your test maturity using the ambition chart
Getting a grip on your test maturity using the ambition chartGetting a grip on your test maturity using the ambition chart
Getting a grip on your test maturity using the ambition chartDerk-Jan de Grood
 
The best testing of agile model
The best testing of agile modelThe best testing of agile model
The best testing of agile modelSanthaseelP
 
Agile development introduction
Agile development introductionAgile development introduction
Agile development introductionbeforeach
 
Applying the Stage Gate Model for the Manufacturing Arena
Applying the Stage Gate Model for the Manufacturing ArenaApplying the Stage Gate Model for the Manufacturing Arena
Applying the Stage Gate Model for the Manufacturing Arenampaciorek
 
Acknowledging The Common Good of Agile
Acknowledging The Common Good of AgileAcknowledging The Common Good of Agile
Acknowledging The Common Good of AgileLogapps LLC
 

Was ist angesagt? (20)

ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2ODD: Extending a Specification 1.2
ODD: Extending a Specification 1.2
 
Vol. VII Quality Gates
Vol. VII Quality GatesVol. VII Quality Gates
Vol. VII Quality Gates
 
Quality by Design Course Preview
Quality by Design Course PreviewQuality by Design Course Preview
Quality by Design Course Preview
 
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
Keynote: Testing and Quality in the Scaled Agile Framework for Lean Enterpris...
 
Innovation Team Plan
Innovation Team PlanInnovation Team Plan
Innovation Team Plan
 
Sami Zahran Quality Gates
Sami Zahran Quality GatesSami Zahran Quality Gates
Sami Zahran Quality Gates
 
Assess Prioritize Improve Tutorial at 6th World Congress For Software Qualit...
Assess Prioritize Improve  Tutorial at 6th World Congress For Software Qualit...Assess Prioritize Improve  Tutorial at 6th World Congress For Software Qualit...
Assess Prioritize Improve Tutorial at 6th World Congress For Software Qualit...
 
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
 
Modified Stage-Gate: A Product Development Process by Dr. Nader Ale Ebrahim
Modified Stage-Gate: A Product Development Process     by Dr. Nader Ale EbrahimModified Stage-Gate: A Product Development Process     by Dr. Nader Ale Ebrahim
Modified Stage-Gate: A Product Development Process by Dr. Nader Ale Ebrahim
 
Between Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologiesBetween Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologies
 
Zero Defect Initiative - Quality Index Generator
Zero Defect Initiative - Quality Index GeneratorZero Defect Initiative - Quality Index Generator
Zero Defect Initiative - Quality Index Generator
 
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
 
Innovation day 2012 11. luc van goethem & frederik wouters - verhaert - 'r...
Innovation day 2012   11. luc van goethem & frederik wouters - verhaert -  'r...Innovation day 2012   11. luc van goethem & frederik wouters - verhaert -  'r...
Innovation day 2012 11. luc van goethem & frederik wouters - verhaert - 'r...
 
Dr Dev Kambhampati | Stage Gate Innovation Management
Dr Dev Kambhampati | Stage Gate Innovation ManagementDr Dev Kambhampati | Stage Gate Innovation Management
Dr Dev Kambhampati | Stage Gate Innovation Management
 
I am a agile tester, because...(masterclass at the Barcelona Test Academy)
I am a agile tester, because...(masterclass at the Barcelona Test Academy)I am a agile tester, because...(masterclass at the Barcelona Test Academy)
I am a agile tester, because...(masterclass at the Barcelona Test Academy)
 
Getting a grip on your test maturity using the ambition chart
Getting a grip on your test maturity using the ambition chartGetting a grip on your test maturity using the ambition chart
Getting a grip on your test maturity using the ambition chart
 
The best testing of agile model
The best testing of agile modelThe best testing of agile model
The best testing of agile model
 
Agile development introduction
Agile development introductionAgile development introduction
Agile development introduction
 
Applying the Stage Gate Model for the Manufacturing Arena
Applying the Stage Gate Model for the Manufacturing ArenaApplying the Stage Gate Model for the Manufacturing Arena
Applying the Stage Gate Model for the Manufacturing Arena
 
Acknowledging The Common Good of Agile
Acknowledging The Common Good of AgileAcknowledging The Common Good of Agile
Acknowledging The Common Good of Agile
 

Ähnlich wie ODD is not Agile or Waterfall

Obstacle Driven Development
Obstacle Driven DevelopmentObstacle Driven Development
Obstacle Driven DevelopmentJonathan Herring
 
ODD: Extending V-model Development 1.2
ODD: Extending V-model Development 1.2ODD: Extending V-model Development 1.2
ODD: Extending V-model Development 1.2Jonathan 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: 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
 
ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.3ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.3Jonathan Herring
 
ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3Jonathan Herring
 
ODD + Project Control 0.9
ODD + Project Control 0.9ODD + Project Control 0.9
ODD + Project Control 0.9Jonathan Herring
 
ODD: Success and Failure
ODD: Success and FailureODD: Success and Failure
ODD: Success and FailureJonathan Herring
 
ODD + Project Control 1.0
ODD + Project Control 1.0ODD + Project Control 1.0
ODD + Project Control 1.0Jonathan Herring
 
Obstacle Driven Development Models
Obstacle Driven Development ModelsObstacle Driven Development Models
Obstacle Driven Development ModelsJonathan 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
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2 KaiEnTee1
 
Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development Jonathan Herring
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSaravanan Manoharan
 
Kaizen software development model
Kaizen software development modelKaizen software development model
Kaizen software development modelZachar Prychoda
 
Lecture 02 - Development Methodologies.pptx
Lecture 02 - Development Methodologies.pptxLecture 02 - Development Methodologies.pptx
Lecture 02 - Development Methodologies.pptxelham706227
 
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
 

Ähnlich wie ODD is not Agile or Waterfall (20)

Obstacle Driven Development
Obstacle Driven DevelopmentObstacle Driven Development
Obstacle Driven Development
 
ODD: Extending V-model Development 1.2
ODD: Extending V-model Development 1.2ODD: Extending V-model Development 1.2
ODD: Extending V-model Development 1.2
 
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: 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
 
ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.3ODD: Extending V-model Development 1.3
ODD: Extending V-model Development 1.3
 
ODD Comparison
ODD ComparisonODD Comparison
ODD Comparison
 
ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3ODD: Extending a Specification 1.3
ODD: Extending a Specification 1.3
 
ODD + Project Control 0.9
ODD + Project Control 0.9ODD + Project Control 0.9
ODD + Project Control 0.9
 
ODD: Success and Failure
ODD: Success and FailureODD: Success and Failure
ODD: Success and Failure
 
ODD Testing
ODD TestingODD Testing
ODD Testing
 
ODD + Project Control 1.0
ODD + Project Control 1.0ODD + Project Control 1.0
ODD + Project Control 1.0
 
Obstacle Driven Development Models
Obstacle Driven Development ModelsObstacle Driven Development Models
Obstacle Driven Development Models
 
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: OODA Evolution
ODD: OODA EvolutionODD: OODA Evolution
ODD: OODA Evolution
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
Obstacle Driven Development
Obstacle Driven Development Obstacle Driven Development
Obstacle Driven Development
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Kaizen software development model
Kaizen software development modelKaizen software development model
Kaizen software development model
 
Lecture 02 - Development Methodologies.pptx
Lecture 02 - Development Methodologies.pptxLecture 02 - Development Methodologies.pptx
Lecture 02 - Development Methodologies.pptx
 
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
 

Mehr von 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
 
How to be Innovative
How to be InnovativeHow to be Innovative
How to be InnovativeJonathan 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: Evolution (short)
ODD: Evolution (short)ODD: Evolution (short)
ODD: Evolution (short)Jonathan 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
 

Mehr von Jonathan Herring (7)

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 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 Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2
 

KĂźrzlich hochgeladen

DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectssuserb6619e
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxErbil Polytechnic University
 
Risk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectRisk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectErbil Polytechnic University
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
BSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxBSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxNiranjanYadav41
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentBharaniDharan195623
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 

KĂźrzlich hochgeladen (20)

DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Risk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectRisk Management in Engineering Construction Project
Risk Management in Engineering Construction Project
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
BSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxBSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptx
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managament
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 

ODD is not Agile or Waterfall

  • 1. Obstacle Driven Development ODD is not Agile or Waterfall Šodd.enterprises 16/03/2015
  • 3. ODD Circle Model 16/03/2015 Šodd.enterprises 3
  • 5. ODD Combined Model 16/03/2015 Šodd.enterprises 5
  • 6. ODD Process Flowchart 16/03/2015 Šodd.enterprises 6
  • 7. ODD Process Flowchart with Feedback 16/03/2015 Šodd.enterprises 7
  • 8. What is ODD? v. What do you want ODD to be? 16/03/2015 Šodd.enterprises 8
  • 9. 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 16/03/2015 Šodd.enterprises 9
  • 10. Obstacle Driven Development 1 Tests used to verify and validate code in TDD are extended and adapted to create a new development model. • Applications to hardware, software and embedded • Links stages with tests used for verification and validation 16/03/2015 Šodd.enterprises 10 Verify Solution Solution for Obstacle Validate Solution Obstacle
  • 11. Obstacle Driven Development 2 Obstacle Driven Development finds solutions to obstacles. An obstacle is solved and product created through four stages of development. • Analysis • Specification • Solution • Production 16/03/2015 Šodd.enterprises 11 Verify Solution Solution for Obstacle Validate Solution Obstacle
  • 12. Obstacle Driven Development 3 An ODD Process is expressed using four stages in sequence. The diagram is simplified to demonstrate a basic ODD process. • Analysis • Specification • Solution • Production 16/03/2015 Šodd.enterprises 12 Specification Solution Production Analysis
  • 13. 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 16/03/2015 Šodd.enterprises 13
  • 14. ODD Flow Chart Flow chart to demonstrate a generic ODD process implemented with appropriate testing. • Flow chart is adapted to give testing required for each stage • Select Obstacle refers to an element from a previous stage • Create Test and Create Solution are adapted for verification and validation of each element 16/03/2015 Šodd.enterprises 14
  • 15. ODD M-model 1 M-models demonstrate how development is divided into stages and testing processes. Each stage also has a checkpoint. • Requirements • Documents • Prototype • Product 16/03/2015 Šodd.enterprises 15
  • 16. ODD M-model 2 Testing processes are to the left of each stage. • Analysis – Utilisation and elicitation • Specification – Verification and validation • Solution – Testing and design • Production – Quality assurance and control 16/03/2015 Šodd.enterprises 16
  • 17. Waterfall Development Waterfall development is considered a traditional method of software development. • Each stage is “fixed” before moving to the next • Flexibility is an issue with fixed stages • Testing is late in the development 16/03/2015 Šodd.enterprises 17
  • 18. ODD is not Waterfall ODD is different to Waterfall in a number of ways. • Development stages are not fixed • Testing is implicit throughout with unit tests • Testing implemented between each stage 16/03/2015 Šodd.enterprises 18
  • 19. Agile Development Agile is a relatively recent approach to product development designed to be efficient and adaptable. • 12 principles to guide development teams in implementing Agile projects • Various methodologies including SCRUM and Feature Driven Development 16/03/2015 Šodd.enterprises 19
  • 20. ODD is not Agile ODD is different to Agile in a number of ways. • Specification implemented • Tests are created first • ODD is suitable for hardware, software and embedded • Four stages to product development 16/03/2015 Šodd.enterprises 20
  • 21. Agile Manifesto The Agile manifesto describes what is important for an Agile project. • Invented by Kent Beck, James Grenning et al. • While both are important Agile values the left over the right • ODD uses a modified version • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan Š Kent Beck, James Grenning et al. 16/03/2015 Šodd.enterprises 21
  • 22. ODD Manifesto The manifesto used for ODD is a reworking of the Agile manifesto. • Over is replaced by terms illustrating how one can help with others • Emphasis on linking and encouraging ODD processes • Processes and tools which encourage individuals and interactions • Working software through comprehensive documentation • Contract negotiation through customer collaboration • Following a plan which responds to change 16/03/2015 Šodd.enterprises 22
  • 23. Success from Failure Obstacle Driven Development can be described as an attempt to: Achieve success by identifying, correcting and preventing failures as early, effectively and efficiently as possible. 16/03/2015 Šodd.enterprises 23
  • 24. Learning from Failure ODD is different to traditional and achieves success by identifying, correcting and preventing failures. • Success is a lack of failure • Failure is easy to prove and understand • Tests give definitive answers for success or failure 16/03/2015 Šodd.enterprises 24
  • 25. The Tests Are Out There If you don’t test your product then your customers will. • Tests are out there and waiting for your product • Product utilisation has wider scope than testing • Single failure has potential to cause failure of a product 16/03/2015 Šodd.enterprises 25
  • 26. Fail Early, Fail Often Achieving success with ODD is through identifying, correcting and preventing failure. • Undiscovered errors can cost 10x more to fix in the next development phase • Errors become expensive to solve • 2 stages missed ≈ 100x • 3 stages missed ≈ 1000x 16/03/2015 Šodd.enterprises 26
  • 27. ODD Specification Importance A specification can improve development 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 16/03/2015 Šodd.enterprises 27
  • 28. SCRUM 1 SCRUM is a developmental method for Agile developments. SCRUM was first defined in 1986 as • a flexible, holistic product development strategy where a development team works as a unit to reach a common goal • Teams organised to achieve required result 16/03/2015 Šodd.enterprises 28
  • 29. SCRUM 2 SCRUM is used to plan and manage sprints which facilitate development. • Sprints can be between a week and a month (30 days shown) • Meetings to demonstrate progress and discuss problems • Sprints allow consistent and sustained progress 16/03/2015 Šodd.enterprises 29
  • 30. SCRUM Master Scrum Master is responsible for ensuring a team works to values and practices of Scrum. • Facilitates Scrum events • Process owner for team • Ensures Scrum is understood and followed • Removes impediments to progress 16/03/2015 Šodd.enterprises 30
  • 31. Sprints Sprints ensure a smooth flow of work for the duration of a development. • Developments are divided into sprints • Each sprint has discovery, design, development and testing • Each sprint is required to be integrated 16/03/2015 Šodd.enterprises 31
  • 32. Burndown Chart 1 Burndown charts help measure and plan development through tasks completed and remaining. • Green line is expected development schedule • Effort is measured using time • If remaining tasks and effort are above ideal then development is behind schedule 16/03/2015 Šodd.enterprises 32
  • 33. Burndown Chart 2 Simple burndown chart where the blue line is an ideal or expected burndown. • Easy to see if a project is expected to overrun • If actual tasks line is above ideal tasks then a project is behind schedule 16/03/2015 Šodd.enterprises 33
  • 34. Tests as Sprints ODD Sprints are creating, solving and passing tests for various stages. • Creating a test ensures an obstacle to be solved is known • Passing a test ensures an obstacle is solved • Measurable progress achieved 16/03/2015 Šodd.enterprises 34
  • 35. ODD Elements 1 • Elements are generic and describe all parts of development 16/03/2015 Šodd.enterprises 35 • Elements of each stage are situations, behaviours, solutions and production
  • 36. ODD Elements 2 • Elements are practical levels of a product and integrated or decomposed 16/03/2015 Šodd.enterprises 36 • Elements are solutions of tests generated by a previous stage
  • 37. Linking Elements 1 Elements ensure development links throughout the stages. • Each stage has different and separate elements • Height of elements indicates level from material to product • Unit testing links each stage 16/03/2015 Šodd.enterprises 37
  • 38. Linking Elements 2 Elements are used to create a test and link elements in the next stage. • Unit testing implemented through traffic lights • Levels should link to related elements of next stage • Short distance between stages indicates a close link 16/03/2015 Šodd.enterprises 38
  • 39. Linking Elements 3 Production stage allows elements to link up for continuous development. • Product analysis for identification of remaining errors • Informs future developments • Solution is created many times with quality assured and controlled 16/03/2015 Šodd.enterprises 39
  • 40. Linking Tests 1 Tests link behaviours with solutions through testing and design. • Solutions are designed according to tests created from behaviours • Each solution is a single element of a product • Unit testing is applied • Test suite created and ran when changes occur 16/03/2015 Šodd.enterprises 40
  • 41. Linking Tests 2 Testing and design concerns solutions created from behaviours in a specification. • Customers are involved for utilisation and elicitation • Each solution implements 1 or more behaviours • Tests suite ran for any changes or additions 16/03/2015 Šodd.enterprises 41
  • 42. Creating Tests 1 Creation of solutions from a specification is inspired by Behaviour Driven Development. • Often tests can be created by simply rewriting a behaviour • Designing a solution according to tests reduces debugging • Creation of tests and designs may continue until all behaviours are implemented 16/03/2015 Šodd.enterprises 42
  • 43. Creating Tests 2 Full test suite created using each behaviour contained in a specification. • Creating a test first ensures an objective is understood • Design according to passing tests reduces ambiguity • Passing a test ensures behaviour is implemented 16/03/2015 Šodd.enterprises 43
  • 44. ODD Process 1 ODD uses a traffic light model with each stage linked through creating, solving and passing tests. • Demonstrates links to elements from a previous stage • Process uses unit tests to ensure all obstacles are solved • Easy to understand and view progress 16/03/2015 Šodd.enterprises 44
  • 45. ODD Process 2 Feedforward and feedback processes are used to ensure stages are linked. • Feedforward is creating tests to link next stage • Feedback is solving and passing tests from previous stage • Allows full linkage of stages 16/03/2015 Šodd.enterprises 45
  • 46. Verification and Validation Testing processes are used for verification and validation and to link stages of development. • Stages given appropriate verification and validation • Each stage used to verify next through creating tests • Previous stage used for validation by solving and passing tests 16/03/2015 Šodd.enterprises 46
  • 47. ODD Combined Model An ODD process and an M-model give a combined model. • Demonstrates how each stage is linked to next • Each traffic light set models a unit testing process • Linking of a stage is achieved when all green lights 16/03/2015 Šodd.enterprises 47
  • 48. ODD Organisation Four stages structure a developments organisation. • Overview of all stages and verification and validation • Each stage and linking is observed and managed • Partnerships between colleagues are managed and maintained 16/03/2015 Šodd.enterprises 48
  • 49. ODD Master An ODD master is given a title and responsibilities similar to a SCRUM master. • Attention paid to linking stages through verification and validation • Has management control over development stages • Interacts and supervises each and all stages 16/03/2015 Šodd.enterprises 49
  • 50. ODD Sprints ODD Sprints are creating, solving and passing a test. • Measurable and testable progress in a sprint • Tests completed and remaining give estimate of progress • Tests completed are an accurate way of measuring progress 16/03/2015 Šodd.enterprises 50
  • 51. ODD Burndown Chart An ODD burndown chart simply replaces tasks to be completed with tests to be passed. • Tests to pass used as an estimate for time remaining • Tasks not tested may result in errors leading to overrun 16/03/2015 Šodd.enterprises 51
  • 52. ODD Generic Flow Chart Each stage of ODD has an adaption of this generic flow chart. Flow chart is adapted to provide: • Analysis - Utilisation and Elicitation • Specification – Verification and Validation • Solution - Testing and Design • Production – Quality Assurance and Control 16/03/2015 Šodd.enterprises 52
  • 53. ODD Analysis Utilisation and elicitation verify and validate product features. • Once product features are utilised then elicitation can proceed as validation • Process links stages and allows continuous improvement and adaption 16/03/2015 Šodd.enterprises 53 Customer Utilisation Situation Analysis Elicit Customers Feature
  • 54. ODD Analysis Flowchart Flow chart designed to explain creation of ODD Analysis stage. 1. Product feature selected to be analysed in situations 2. Elicitation test is created 3. Product is utilised 4. If fail repeat Stage 3 5. Repeat Stages 1 – 4 until elicitation is complete 16/03/2015 Šodd.enterprises 54
  • 55. ODD Specification Specification describes behaviours which cover expected situations and requirements. • Tests verify and validate whether behaviours cover requirement • Once expected situations are covered and tests verified a specification is complete 16/03/2015 Šodd.enterprises 55 Verify Specification Specify Behaviour Validate Specification Requirement
  • 56. ODD Specification Flowchart Flow chart designed to explain creation of ODD Specification stage. 1. Requirement selected to be covered by a behaviour 2. Verification test is created 3. Behaviour is specified 4. If fail repeat Stage 3 5. Repeat Stages 1 – 4 until all behaviours are specified 16/03/2015 Šodd.enterprises 56
  • 57. ODD Solution Specification allows creation of tests and solutions based on described behaviours. • Solution describes individual and integrated designs • If a solution is designed to pass tests then testing becomes easier • Unit testing and test suites used 16/03/2015 Šodd.enterprises 57 Create Test Design Solution Pass Test Behaviour
  • 58. ODD Solution Flowchart Flow chart designed to explain creation of ODD Solution stage. 1. Behaviour selected 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 16/03/2015 Šodd.enterprises 58
  • 59. ODD Production Production organised directly from a solution to give assured and controlled quality. • Solution ensures continuous and predictable quality • Quality assurance tests are created • Number of passes a measure for quality control 16/03/2015 Šodd.enterprises 59 Assure Product Quality Produce Product Control Product Quality Solution
  • 60. ODD Production Flowchart Flow chart designed to explain creation of ODD Production stage. 1. Solution selected to be produced 2. Quality assurance test created 3. Production process 4. If fail repeat Stage 3 5. Repeat Stages 1 – 4 until all production is assured 16/03/2015 Šodd.enterprises 60
  • 61. ODD Agile Flowchart 1 Combining flowcharts without checkpoints gives a process similar to Agile development. • Begins by selecting a situation from analysis to specify behaviours • Each ODD flowchart is combined to produce flowchart for entire process 16/03/2015 Šodd.enterprises 61
  • 62. ODD Agile Flowchart 2 16/03/2015 Šodd.enterprises 62
  • 63. ODD Waterfall Flowchart 1 Combining flowcharts gives a process which can be presented similarly to Waterfall development. • Begins with selecting a feature to process requirements • Each ODD flowchart has been combined with checkpoints 16/03/2015 Šodd.enterprises 63
  • 64. ODD Waterfall Flowchart 2 16/03/2015 Šodd.enterprises 64
  • 65. ODD Waterfall with Feedback 1 Full flowchart model of an ODD development. • Decisions added to give options when tests are not passing • Branch in lighter colour is a repetition of analysis stage • Indicates how development can be continued or adapted 16/03/2015 Šodd.enterprises 65
  • 66. ODD Waterfall with Feedback 2 16/03/2015 Šodd.enterprises 66
  • 67. Further Information and Questions • Website • Presentations • Facebook • Twitter • Email 16/03/2015 Šodd.enterprises 67
  • 68. 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. 16/03/2015 Šodd.enterprises 68