|
| |
Software Failure Modes Effects Analysis (SFMEA)
A software FMEA determines the software failure modes that are likely to cause failure
events. Then it determines what single or multiple point failures could produce
these top level events. Software FMEAs useful when designing or testing the error
handling part of your software. Software FMEAs are also needed in order to
develop inspection criteria for requirements, design, and code that are geared towards the
appropriate failure modes. Design reviews are more effective when you know in
advance the types of failure modes that are most likely. The below illustrates the
software FMEA process.

Detailed fact sheet on Softrel's Software
FMEA training and services.
Softrel has identified over 350 software failure mode/root cause pairs.
They are summarized by failure mode category and SFMEA viewpoint as shown below. If you take
the Software FMEA training class you will learn
about all of them.
|
|
|
Number of associated root causes |
|
Failure
mode
|
Description
|
Functional
|
Interface
|
Detailed |
|
*Functionality
|
Software
does not do behave as stated in the requirement |
6
|
|
3
|
|
*Timing |
Events happen too
late or too early |
2 |
4
|
|
|
*Sequence
|
Events happen
in the wrong order
|
5 |
1 |
5 |
|
*Faulty Data
|
Data is corrupt,
invalid, incomplete or incorrect |
5 |
11 |
11 |
|
Faulty Error Handling
*Erroneous or missing
error messages
*False alarms
|
•Wrong
message, wrong response when an error is detected
•Software
fails
to detect an error when it should
•Software
detects a error
when there is none
|
5 |
9 |
11 |
|
Web based
|
Failure modes
specific to HTML, ASP, .Net,
etc.
|
24 |
|
|
|
Database related
|
Storing, retrieving
data from a database
file
|
|
29 |
|
|
Network
communications |
Stale data, no
communications |
|
6 |
|
|
Faulty or
incompatible
I/O |
Incomplete or
incorrect I/O |
|
15 |
6 |
|
Faulty logic and
ranges |
Incomplete or
overlapping logic
|
|
|
23 |
|
*Incorrect algorithms
|
Formula implemented
incorrectly for some or all inputs |
|
|
8 |
|
*Memory management
|
Out
of memory errors
|
|
|
7 |
|
Failure mode |
Description |
Production |
Maintenance |
Usage |
|
Execution
|
Poorly executed
project |
36 |
|
|
|
Tools |
Inadequate
tools/training/people |
15 |
|
|
|
Schedule |
Inadequate scheduling
|
23 |
|
|
|
Faulty
C/A
|
Change to a
correction causes a new defect
|
|
See detailed
viewpoint |
|
|
Unsupportable
|
Software can’t be
easily maintained |
|
10 |
|
|
Unserviceable
|
Software can’t be
easily serviced after install |
|
8 |
|
|
Installation
|
SW doesn’t
install/update |
|
|
23 |
|
Human |
Human error, misuse
or abuse
|
|
|
12 |
|
Security |
Security
violations, overly secure
|
|
|
9 |
|
User instructions
|
Inadequate or
conflicting
instructions
for operating the software |
|
|
13 |
Common mistakes made when doing software FMEAs include:
- Attempting to perform them on 100% of the design or code instead of sampling the
design/code most likely to cause a serious failure
- Neglecting to use standard checklists for software failure modes
- Forgetting the software does not have an on site "replace" maintenance mode,
only onsite reload, restart and workaround
- Excluding hardware from the analysis or isolating the software from the rest of the
system
- Starting with "software fails" as the failure mode
- Not having the appropriate subject matter experts in the analyses
- Neglecting to prune the results for low severity and low probability
- Neglecting to add the "shall nots" divulged from the FMEAs into the
appropriate design documents and test plans
- Neglecting to review past historical failure modes
Products and Services related to software FMEAs
Copyright, SoftRel, LLC 2011. This page may not be
copied in part or in whole without written permission from
Ann Marie Neufelder
|