Using FMEA to Improve So4ware Reliability Kraig Strong - - - PowerPoint PPT Presentation

using fmea to improve so4ware reliability
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

Using ¡FMEA ¡to ¡Improve ¡So4ware ¡ Reliability ¡

Kraig ¡Strong ¡-­‑ ¡Tektronix ¡

slide-2
SLIDE 2

What ¡don’t ¡we ¡like ¡about ¡(most) ¡ quality ¡processes? ¡

slide-3
SLIDE 3

They ¡are ¡Jme ¡consuming ¡

slide-4
SLIDE 4

They ¡are ¡cumbersome ¡

slide-5
SLIDE 5

They ¡aren’t ¡flexible ¡

slide-6
SLIDE 6

Failure ¡Mode ¡and ¡Effects ¡ Analysis ¡

slide-7
SLIDE 7

Why ¡FMEA? ¡

slide-8
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
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
SLIDE 10

FMEA ¡Worksheet ¡

slide-11
SLIDE 11

Manufacturing ¡Process ¡FMEA ¡

slide-12
SLIDE 12

Work ¡ ¡ InstrucJons ¡

slide-13
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
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
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
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
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
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
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
SLIDE 20

How ¡Can ¡This ¡be ¡Translated ¡to ¡ So4ware? ¡

slide-21
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 22
slide-23
SLIDE 23

FuncJon ¡Blocks ¡& ¡the ¡FuncJonal ¡ Block ¡Diagram ¡

slide-24
SLIDE 24

!

slide-25
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 26

!

slide-27
SLIDE 27

FMEA ¡is ¡NOT ¡a ¡Code ¡Review ¡

slide-28
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
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
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
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
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
SLIDE 33

RecommendaJons ¡

slide-34
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
SLIDE 35

QuesJons? ¡