Post on 18-Feb-2017
transcript
Product Camp Austin 16 - Requirements for Extremely Complex Systems
1
Requirements for Extremely Complex
SystemsDavid Hetherington
2/13/2016
Product Camp Austin 16 - Requirements for Extremely Complex Systems
22/13/2016
Introducing the “System of Systems”
Product Camp Austin 16 - Requirements for Extremely Complex Systems
32/13/2016
Classic “System of Systems”
Multiple Levels
Each Level is a “System” in its own right.
Requirements at any level affect all the levels below.
Product Camp Austin 16 - Requirements for Extremely Complex Systems
42/13/2016
“System of Systems” Common Features
Mission-Critical “Five Nines” Availability Required
Multiple Suppliers
Software/Requirements mistakes can kill peopleSafety-Critical
Tower of Babel
Software/Requirements mistakes can cause huge financial losses
High Stakes
Product Camp Austin 16 - Requirements for Extremely Complex Systems
52/13/2016
How Complicated do Such Systems Get?
Product Camp Austin 16 - Requirements for Extremely Complex Systems
62/13/2016
Ford Example – Car Complexity
http://www.omgwiki.org/MBSE/lib/exe/fetch.php?media=mbse:03-2013_incose_mbse_workshop-ford_automotive_complexity_v4.0-davey.pdf
Presentation of Christopher Davey at the INCOSE International Workshop MBSE Workshop January 26th-28th, 2013
A luxury car can have more than 100 onboard computersMany “requirements” need multiple onboard computers to cooperate with each other in a tightly choreographed dance.
Product Camp Austin 16 - Requirements for Extremely Complex Systems
72/13/2016
Ford Example – 450,000 Requirements
http://www.omgwiki.org/MBSE/lib/exe/fetch.php?media=mbse:03-2013_incose_mbse_workshop-ford_automotive_complexity_v4.0-davey.pdf
Presentation of Christopher Davey at the INCOSE International Workshop MBSE Workshop January 26th-28th, 2013
Working out all that choreography produces 450,000 requirements.
Product Camp Austin 16 - Requirements for Extremely Complex Systems
82/13/2016
Humans and Complexity Management
How do We Manage Complexity?
Stage 1 Stage 3Stage 2
Stage 1 – Requirements in Our Head
Skilled Professionals Hate “Bureaucracy”
“Tell Me What You Need”
“I’ll Make it Happen!”
Not Scalable
Stage 2 – Requirements and Specification Documents
Requirements Requirements Requirements
Requirements
System Specification
Sub-System Specification
Sub-System Specification
Sub-System Specification
Component Specification Component
Specification Component Specification Component
Specification
Component Specification Component
Specification Component Specification
Component Specification Component
Specification Component Specification Component
Specification
CHANGE!!
Requirements
Product Camp Austin 16 - Requirements for Extremely Complex Systems
122/13/2016
Requirements Traceability
Traceability Matrices
Copyright© 2016 - Confidential 14
Standards Discovery
V0.4 – 3 January 2016
Euro Norm (2007)
Something Else (1982)
3rd Item (1967)
…Shall be compliant with XYZ Sections 3.4 and 7.8
…as laid out in Table x31.2 in…
Untangling this sort of mess leaves a spider web that does not fit neatly in a traceability matrix.
Copyright© 2016 - Confidential 15
Standards Analysis
V0.4 – 3 January 2016
Some Standard
“…shall automatically stop at pedestrian crossings if pedestrians are present.”
So…what does this standard actually require? A lot of analysis and interpretation will be required!
Product Camp Austin 16 - Requirements for Extremely Complex Systems
162/13/2016
Text-Only Requirements Tools
Product Camp Austin 16 - Requirements for Extremely Complex Systems
172/13/2016
Automate the Cut-and-Paste
Product Camp Austin 16 - Requirements for Extremely Complex Systems
18
Semi-Automated document input
Drag-and-drop Easy output of
Word documents Good traceability
functions
2/13/2016
Strengths/LimitationsStrengths Weaknesses
Text-only is cumbersome
“A picture is worth a thousand words”
Requirements reviews are painful
Hard to link to other tools
Product Camp Austin 16 - Requirements for Extremely Complex Systems
192/13/2016
Model-Based Systems Engineering
Solution – Add Graphical Modeling to Text
DatabaseThe Database Keeps Track of the Relationships
Structure
Requirements
Behavior
Introducing Model-Based Systems Engineering
“Model-Based Systems Engineering” is the More Formal Term.
Database
Simple Diagrams
Different Diagrams for Different Stakeholders
As Many Diagrams as Needed
One Concept per Diagram
Model Database Consolidates Information
Structure ViewPlumbing View
Software View
Introducing SysML
Precise Diagrams
XML Model Data Representation
Product Camp Austin 16 - Requirements for Extremely Complex Systems
232/13/2016
SysML – System Structure
Product Camp Austin 16 - Requirements for Extremely Complex Systems
242/13/2016
The Market Requirements
Product Camp Austin 16 - Requirements for Extremely Complex Systems
252/13/2016
The Safety Requirements
Product Camp Austin 16 - Requirements for Extremely Complex Systems
262/13/2016
Elaborating the Requirements
Product Camp Austin 16 - Requirements for Extremely Complex Systems
272/13/2016
Modeling Behavior
Product Camp Austin 16 - Requirements for Extremely Complex Systems
282/13/2016
Trace to Test Cases
Product Camp Austin 16 - Requirements for Extremely Complex Systems
292/13/2016
Agile vs Safety-Critical
Product Camp Austin 16 - Requirements for Extremely Complex Systems
302/13/2016
Not Every Application Needs Careful Planning
Animation by Kalia Pickett
Product Camp Austin 16 - Requirements for Extremely Complex Systems
312/13/2016
Safety-Critical AppsIf a careless mistake in your requirements, coding, or verification can incinerate a crew of 150 people, it is immoral to “blow off the documentation”…
Product Camp Austin 16 - Requirements for Extremely Complex Systems
322/13/2016
Understanding the Role of MBSE
Copyright© 2016 - Confidential 33V0.4 – 3 January 2016
Systems Model – NOT a PowerPoint Compiler
RequirementsRequirement
sRequirements
PicturesPictures
PicturesPictures
Pictures
PowerPoint
CompilerProduc
t
Copyright© 2016 - Confidential 34V0.4 – 3 January 2016
Systems Model – Tower of Babel
Wants range to be > 1km
MarketingVertical beam
pattern?
Antenna GuyTransmit Power?
Radio
How big is the test track?
Test Facility
FFT range bins?
Digital
Message format?
Firmware
Power Dissipation?
Thermal
PackageDesign?
Mechanical
“Make it
1000m”
“Seems to
be1000m”
“2048 point FFT”
“Rent an airport”
“20 wattradio”
“Need a big fan”
Copyright© 2016 - Confidential 35V0.4 – 3 January 2016
Systems Model – Single Version of Truth
Wants range to be > 1km
MarketingVertical beam
pattern?
Antenna GuyTransmit Power?
Radio
How big is the test track?
Test Facility
FFT range bins?
Digital
Message format?
Firmware
Power Dissipation?
Thermal
PackageDesign?
MechanicalRange =
182m
System Model
Product Camp Austin 16 - Requirements for Extremely Complex Systems
362/13/2016
Agile in a Complex Systems Environment
Product Camp Austin 16 - Requirements for Extremely Complex Systems
37
Illusion of predictability
Elaboration too early
Long periods without working code
2/13/2016
First… We Need to Lose Some BaggageTraditional Side Agile Side
Moaning about “Waterfall”
Skipping the documentation
Flexible definition of “done”
Product Camp Austin 16 - Requirements for Extremely Complex Systems
38
Precision Accountability Project Scale
2/13/2016
Next… Recognize Each Other’s StrengthsTraditional Side Agile Side
Frequent checkpoints reduce risk
Efficient management of uncertainty
Superior team throughput
Product Camp Austin 16 - Requirements for Extremely Complex Systems
392/13/2016
Road to Certain FailureCollect lots of requirements documents
Make beautiful “Logical” architecture model
Elaborate 20 levels of logical architecture and increasingly detailed requirements
Publish voluminous specifications based on above
Attempt to “allocate” logical architecture to real world subsystems
Discover that nothing works
Blame the tools!!
Product Camp Austin 16 - Requirements for Extremely Complex Systems
402/13/2016
Better ApproachExisting System
Model (Existing)
RequirementsReverse
Engineer
ElaborateAnd Allocate
Gaps
Model (New)
Try for Fit?
Agile Process
New System
Product Camp Austin 16 - Requirements for Extremely Complex Systems
412/13/2016
Reference
Product Camp Austin 16 - Requirements for Extremely Complex Systems
42
David Hetherington
◦ LinkedIn: https://www.linkedin.com/in/djhetherington◦ GitHub: https://github.com/DavidHetherington◦ Dave’s “Minimal SaaS” Demo:
http://cities.asattepress.com/
2/13/2016
Contact