SLIDE 1
Using FMEA to Improve So4ware Reliability Kraig Strong - - - PowerPoint PPT Presentation
Using FMEA to Improve So4ware Reliability Kraig Strong - - - PowerPoint PPT Presentation
Using FMEA to Improve So4ware Reliability Kraig Strong - Tektronix What dont we like about (most) quality processes? They are Jme consuming
SLIDE 2
SLIDE 3
They ¡are ¡Jme ¡consuming ¡
SLIDE 4
They ¡are ¡cumbersome ¡
SLIDE 5
They ¡aren’t ¡flexible ¡
SLIDE 6
Failure ¡Mode ¡and ¡Effects ¡ Analysis ¡
SLIDE 7
Why ¡FMEA? ¡
SLIDE 8
- Early ¡IdenJficaJon ¡of ¡Failures ¡
- Lightweight, ¡quick, ¡and ¡flexible ¡
- Well ¡Established ¡
- BeRer ¡Planning ¡and ¡Scheduling ¡
- Early ¡Test ¡Planning ¡
- Single ¡Worksheet ¡Summary ¡
- Requires ¡Minimal ¡Training ¡
- Drop ¡in ¡supplement ¡to ¡current ¡pracJces ¡
SLIDE 9
Key ¡Elements ¡
- Not ¡intended ¡for ¡enJre ¡system. ¡
- Team ¡acJvity ¡with ¡one ¡or ¡more ¡meeJngs ¡
- Sub-‑system ¡owner, ¡SW ¡lead, ¡QA, ¡and ¡domain ¡
expert(s) ¡involved. ¡
- FMEA ¡Worksheet ¡
- FMEA ¡Process ¡Steps ¡
SLIDE 10
FMEA ¡Worksheet ¡
SLIDE 11
Manufacturing ¡Process ¡FMEA ¡
SLIDE 12
Work ¡ ¡ InstrucJons ¡
SLIDE 13
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 14
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 15
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 16
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 17
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 18
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 19
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 20
How ¡Can ¡This ¡be ¡Translated ¡to ¡ So4ware? ¡
SLIDE 21
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 22
SLIDE 23
FuncJon ¡Blocks ¡& ¡the ¡FuncJonal ¡ Block ¡Diagram ¡
SLIDE 24
!
SLIDE 25
FMEA ¡Steps ¡
- Define ¡Failure ¡Modes-‑ ¡‘What ¡can ¡go ¡wrong ¡here?’ ¡
- Define ¡Effects ¡– ¡‘What ¡will ¡happen ¡then?’ ¡
- Describe ¡Targets ¡– ¡‘Who ¡will ¡suffer ¡from ¡failure?’ ¡
- Find ¡Root ¡Causes ¡– ¡‘Why ¡will ¡that ¡happen?’ ¡
- PrioriJze ¡the ¡Risks ¡– ¡‘What ¡is ¡the ¡severity?’ ¡
- Define ¡SoluJon ¡AcJons ¡– ¡‘How ¡can ¡this ¡be ¡prevented?’ ¡
- Describe ¡current ¡PrevenJon ¡and ¡DetecJon ¡methods ¡– ¡
‘What ¡is ¡currently ¡being ¡done?’ ¡
SLIDE 26
!
SLIDE 27
FMEA ¡is ¡NOT ¡a ¡Code ¡Review ¡
SLIDE 28
What ¡is ¡the ¡Best ¡Time ¡for ¡FMEA? ¡
- Earlier ¡the ¡beRer ¡
- Majority ¡of ¡requirements ¡need ¡to ¡be ¡defined ¡
– SoluJons ¡can ¡be ¡designed ¡in ¡HW ¡or ¡SW ¡ – Design, ¡Requirements, ¡and ¡DocumentaJon ¡bugs ¡ – Jump ¡start ¡on ¡test ¡planning ¡ – Flush ¡out ¡new ¡requirements ¡
- Can ¡be ¡performed ¡at ¡any ¡Jme, ¡but ¡less ¡
beneficial ¡
SLIDE 29
Real ¡World ¡Results ¡– ¡DVM ¡Autorange ¡
- ClarificaJon ¡on ¡wording ¡required ¡in ¡SRS ¡
- Created ¡new ¡test ¡cases ¡
- New ¡communicaJon ¡channel ¡with ¡other ¡
subsystem ¡required. ¡
SLIDE 30
The ¡Team’s ¡Thoughts ¡
- “It’s ¡nice ¡when ¡the ¡process ¡doesn’t ¡get ¡in ¡the ¡
way ¡of ¡improving ¡quality.” ¡
- “Well ¡worth ¡the ¡1.5 ¡hours ¡it ¡took ¡to ¡
complete.” ¡
- “It ¡didn’t ¡feel ¡like ¡a ¡formal ¡process. ¡It ¡felt ¡like ¡a ¡
casual ¡discussion ¡amongst ¡engineers.” ¡
SLIDE 31
More ¡Real ¡World ¡Results ¡
- Checking ¡for ¡drive ¡full, ¡or ¡read-‑only ¡
- Out ¡of ¡memory ¡(RAM). ¡
- Dealing ¡with ¡loss ¡of ¡internet ¡connecJon ¡
¡
SLIDE 32
Lessons ¡Learned ¡
- “What ¡if?” ¡thinking ¡
- AddiJonal ¡emphasis ¡on ¡quality ¡in ¡early ¡stages ¡
- Flexibility ¡to ¡solve ¡problems ¡in ¡HW ¡or ¡SW ¡
- Not ¡a ¡catch-‑all ¡
SLIDE 33
RecommendaJons ¡
SLIDE 34
Common ¡Mistakes ¡
- Assuming ¡all ¡failures ¡are ¡caused ¡by ¡HW ¡
- ARempJng ¡to ¡cover ¡100% ¡
- Not ¡following ¡through ¡with ¡soluJons ¡
- Allowing ¡low-‑level ¡conversaJons ¡
- Not ¡having ¡appropriate ¡experts ¡
- StarJng ¡too ¡late ¡
SLIDE 35