42
Requirements for Extremely Complex Systems David Hetherington 2/13/2016 Product Camp Austin 16 - Requirements for Extremely Complex Systems 1

Requirements for Extremely Complex Systems

Embed Size (px)

Citation preview

Page 1: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

1

Requirements for Extremely Complex

SystemsDavid Hetherington

2/13/2016

Page 2: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

22/13/2016

Introducing the “System of Systems”

Page 3: Requirements for Extremely Complex 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.

Page 4: Requirements for Extremely Complex Systems

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

Page 5: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

52/13/2016

How Complicated do Such Systems Get?

Page 6: Requirements for Extremely Complex Systems

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.

Page 7: Requirements for Extremely Complex Systems

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.

Page 8: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

82/13/2016

Humans and Complexity Management

Page 9: Requirements for Extremely Complex Systems

How do We Manage Complexity?

Stage 1 Stage 3Stage 2

Page 10: Requirements for Extremely Complex Systems

Stage 1 – Requirements in Our Head

Skilled Professionals Hate “Bureaucracy”

“Tell Me What You Need”

“I’ll Make it Happen!”

Not Scalable

Page 11: Requirements for Extremely Complex Systems

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

Page 12: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

122/13/2016

Requirements Traceability

Page 13: Requirements for Extremely Complex Systems

Traceability Matrices

Page 14: Requirements for Extremely Complex Systems

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.

Page 15: Requirements for Extremely Complex Systems

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!

Page 16: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

162/13/2016

Text-Only Requirements Tools

Page 17: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

172/13/2016

Automate the Cut-and-Paste

Page 18: Requirements for Extremely Complex Systems

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

Page 19: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

192/13/2016

Model-Based Systems Engineering

Page 20: Requirements for Extremely Complex Systems

Solution – Add Graphical Modeling to Text

DatabaseThe Database Keeps Track of the Relationships

Structure

Requirements

Behavior

Page 21: Requirements for Extremely Complex Systems

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

Page 22: Requirements for Extremely Complex Systems

Introducing SysML

Precise Diagrams

XML Model Data Representation

Page 23: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

232/13/2016

SysML – System Structure

Page 24: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

242/13/2016

The Market Requirements

Page 25: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

252/13/2016

The Safety Requirements

Page 26: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

262/13/2016

Elaborating the Requirements

Page 27: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

272/13/2016

Modeling Behavior

Page 28: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

282/13/2016

Trace to Test Cases

Page 29: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

292/13/2016

Agile vs Safety-Critical

Page 30: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

302/13/2016

Not Every Application Needs Careful Planning

Animation by Kalia Pickett

Page 31: Requirements for Extremely Complex Systems

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”…

Page 32: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

322/13/2016

Understanding the Role of MBSE

Page 33: Requirements for Extremely Complex Systems

Copyright© 2016 - Confidential 33V0.4 – 3 January 2016

Systems Model – NOT a PowerPoint Compiler

RequirementsRequirement

sRequirements

PicturesPictures

PicturesPictures

Pictures

PowerPoint

CompilerProduc

t

Page 34: Requirements for Extremely Complex Systems

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”

Page 35: Requirements for Extremely Complex Systems

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

Page 36: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

362/13/2016

Agile in a Complex Systems Environment

Page 37: Requirements for Extremely Complex Systems

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”

Page 38: Requirements for Extremely Complex Systems

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

Page 39: Requirements for Extremely Complex Systems

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!!

Page 40: Requirements for Extremely Complex Systems

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

Page 41: Requirements for Extremely Complex Systems

Product Camp Austin 16 - Requirements for Extremely Complex Systems

412/13/2016

Reference

Page 42: Requirements for Extremely Complex Systems

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