odd+pc: how to get stuff right
TRANSCRIPT
Obstacle Driven Development +Project Control
How get Stuff Right 1.0
Testing First?
06/02/2017 ©odd.enterprises 2
Answering a question before its asked is like creating a solution before a test.
Success & Failure
To ensure success we must identify, correct and prevent failure.
• To most effectively find a solution we attempt to fail it
• Solutions which resist all attempts to fail are a success
• Identify failure before your customer do
06/02/2017 ©odd.enterprises 3
Innovation
Innovation is about new ideas and solutions.
• To be truly innovative we cannot use tested and proven solutions
• ODD & PC are not tested and proven
• ODD & PC are about testing and proving
06/02/2017 ©odd.enterprises 4
Preventing Errors
Earlier identification and correction of errors; the more we can prevent.
• Errors cost far more to fix later than to identify and correct
• Errors which are not prevented cost 10x more per stage
• Testing our assumptions helps prevent errors
06/02/2017 ©odd.enterprises 5
Inevitable?
Inevitable increase in complexity requires new methods.
• Complexity increases exponentially
• Impossible to test every possible situation manually
• Get ahead of the curve with ODD
06/02/2017 ©odd.enterprises 6
Background
Ideas of Obstacle Driven Development (ODD) are based on numerous development processes including:
06/02/2017 ©odd.enterprises 7
• Control Theory• Scientific Method• ISO V-model• Test Driven Development
• ISO specifications• Requirements analysis spiral• Agile principles• SOLID principles
ODD Motivation
Life tests every aspect of a products development.
So,
• Why do engineering differently?
06/02/2017 ©odd.enterprises 8
Scientific & Engineering Method
Comparing scientific and engineering methods show differences.
• Depends on experience and talent of engineers
• No way of testing requirements
• Customers discover their requirements differ from products
06/02/2017 ©odd.enterprises 9
ODD Process
Process is generic to create a new development models.
• Applications to hardware, software and embedded
• Links obstacles with tests for verification and validation
• Refactoring included in Validate Solution
06/02/2017 ©odd.enterprises 10
Extending Scientific Methods
06/02/2017 ©odd.enterprises 11
Comparing methods we see structure is identical and wording equivalent.
• Conclusion is the method is scientific
• Each method repeatable to continue refinement
• We can combine the methods for R&D
Extending V-models
V-models extended through separating and adding stages.
• Stage gives a solution to development
• Extends with additional stages
• Supply and Assemble for hardware & embedded
06/02/2017 ©odd.enterprises 12
Extending Test Driven Development
TDD method extended throughout development to test each stage.
• Testing initial stages ensures we do not create errors later
• Testing and facts over assumptions and opinions
• Unit tests give fully tested and adaptable development
06/02/2017 ©odd.enterprises 13
Extending Requirements Analysis
SIL tree diagram models every situation to process requirements.
• Severity and Controllability added to each event
• Requirements found from SIL ratings using branches
• Allows unit testing for every possible situation
06/02/2017 ©odd.enterprises 14
Extending Control Theory
Control theory for creating a solution gives control of projects.
• Negative feedback from testing solution
• Feedforward control is creating tests
• Feedback control is solving tests
06/02/2017 ©odd.enterprises 15
Project Control + ISO Requirements
Project Control adapts continuously to new standards and obstacles.
• Existing methods for development are adapted
• New ISO standards are applied as tests
• Feedback paths identify errors
06/02/2017 ©odd.enterprises 16
Project Control Update Times
Project control and ODD allows much faster updates and identification of errors.
• Automotive errors may be discovered years after creation
• ODD/PC allows much faster updates through testing
06/02/2017 ©odd.enterprises 17
ODD Principles
Principles inspired by Agile manifesto.
• Over substituted so both can support development
• Stages adapted and models created help facilitate aims
• Focus on linking obstacles to solutions
• 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
06/02/2017 ©odd.enterprises 18
Generic Model OBSA
Comparing ODD with OODA resulted in a generic method to describe many things.
• OBSA – Obstacle, Behaviour, Solution, Action
• Equivalent to OODA, ODD and other fully testable methods
06/02/2017 ©odd.enterprises 19
Thanks
Thanks for reading
06/02/2017 ©odd.enterprises 20