Markdown Editor

Software FMEA Template (IEC 60812)

Software failure modes, effects, causes, controls, S/O/D scales, RPN and action priority, actions and re-scoring

Vận hànhĐầy đủIEC 60812:2018fmeasoftwaremath
Mở trong editorTải .md

Cách dùng: Use it before release or after a major design change to rank how a system can fail. Fill the scope, system structure and rating scales first, then work function by function in a workshop. The main pitfall is treating the RPN as a precise measure: high-severity modes need action whatever their number.

Xem trước

Software FMEA: [System or service name]

Software Failure Mode and Effects Analysis (SFMEA) for a software system, service or component. The structure is aligned with the FMEA process described in IEC 60812:2018 (planning, structure and function analysis, failure analysis, risk evaluation, actions and documentation), adapted to software and services. Replace every [bracketed] value and every row marked Example. The scales and thresholds shown are examples to tailor, not values taken from the standard.

Document control

FieldValue
Document ID[FMEA-SYS-001]
System / service[Name], [version or release]
Analysis type[Design SFMEA / Interface SFMEA / Process (deployment) SFMEA]
Version[0.1]
Status[Draft / In review / Approved]
Facilitator[@facilitator]
Owner[@engineering-lead]
Workshop datesYYYY-MM-DD, YYYY-MM-DD
Classification[Internal / Confidential]
Last updatedYYYY-MM-DD
Related[Architecture description], [SRS], [Threat model], [Incident reports], [Test plan]

Approvals

RoleNameDecisionDate
Engineering lead[@name][Approved / Approved with comments]YYYY-MM-DD
Reliability / SRE lead[@name][Decision]YYYY-MM-DD
Quality / safety lead[@name][Decision]YYYY-MM-DD
Product owner[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]Scope, structure and function analysis
0.2YYYY-MM-DD[@name]Example: Failure analysis and first scoring from workshop 2
1.0YYYY-MM-DD[@name]Example: Actions agreed and approved
1.1YYYY-MM-DD[@name]Example: Re-scoring after actions FM-004 and FM-007 completed

Contents

1. Introduction and scope

1.1 Purpose

This analysis identifies the ways [System name] can fail to deliver its functions, the effects of those failures on users and on the business, their likely causes and the controls that prevent or detect them. Its output is a ranked list of actions that reduce risk before [release / go-live / the next architecture review].

Example: The analysis supports the go-live decision for the new payment authorisation service in [Region] and feeds the reliability backlog for Q[n].

1.2 Scope and boundaries

In scopeOut of scope
Example: Payment authorisation API, risk scoring worker, ledger writerExample: Card network internals (treated as an external dependency)
Example: Deployment pipeline for these servicesExample: Corporate identity provider (covered by its own FMEA)
Example: Interfaces to fraud provider and message brokerExample: Physical data centre failures (covered by DR plan)
[Item][Item]

1.3 Level of analysis

ItemChoice
Analysis levelExample: Component (service) level, with function-level failure modes
Lifecycle stageExample: Detailed design complete, before system test
ApproachExample: Functional SFMEA for services, interface SFMEA for external calls
Mission or operating profileExample: 24x7, peak 1,200 authorisations per second on sale days

1.4 Assumptions and constraints

  • [Assumption, for example: the message broker provides at-least-once delivery.]
  • [Assumption, for example: infrastructure failures are covered by the DR plan and are only considered when they change software behaviour.]
  • [Constraint, for example: the analysis must be complete two weeks before the release freeze.]

1.5 Team

NameRole in analysisArea of knowledge
[@name]FacilitatorFMEA method
[@name]Design authorityArchitecture
[@name]DeveloperAuthorisation service
[@name]TesterTest design and coverage
[@name]SREMonitoring, incidents, operations
[@name]ProductCustomer and business impact

2. System structure

The structure below shows the elements analysed and their relationships. Each element has an ID used in the worksheet.

Element IDElementTypeOwnerNotes
EL-01Example: Authorisation APIService[@team]Stateless, 6 replicas
EL-02Example: Risk scoring workerService[@team]Model loaded at start-up
EL-03Example: Message brokerPlatform[@platform]Three-node cluster
EL-04Example: Ledger writerService[@team]Single writer per partition
EL-05Example: Fraud providerExternal[Vendor]300 ms contractual p99
EL-06Example: Ledger databaseData store[@dba]Primary plus two replicas
[EL-NN][Element][Type][Owner][Notes]

3. Functions and requirements

Function IDElementFunction (verb + object)Requirement / performanceSource
FN-01EL-01Example: Return an authorisation decisionp99 latency under 400 ms; decision for 100% of valid requestsSRS-PERF-012
FN-02EL-02Example: Score transaction riskScore within 150 ms; model version recorded with each scoreSRS-FR-044
FN-03EL-04Example: Record each approved payment exactly onceNo duplicates, no losses; ledger lag under 5 sSRS-FR-051
FN-04EL-01Example: Reject requests without valid credentials100% of unauthenticated requests rejectedSEC-REQ-003
FN-05PipelineExample: Deploy a new version without downtimeZero failed requests during rolloutOPS-REQ-010
[FN-NN][EL-NN][Function][Requirement][Source]

4. Rating scales

The team uses 1 to 10 scales. Scores are agreed by consensus in the workshop; where the team disagrees, the higher score is recorded and the disagreement noted.

4.1 Severity (S)

Severity rates the worst credible effect of the failure mode on the user, the business or safety, assuming it occurs.

ScoreRatingCriteria for software and services
10HazardousHarm to people or a breach of law or regulation without warning
9RegulatoryBreach of law, regulation or contract with warning; reportable data breach
8Very highCore function unavailable for all users; financial loss or data corruption
7HighCore function unavailable for a segment; incorrect results visible to users
6ModerateCore function degraded; manual workaround needed
5LowSecondary function unavailable
4Very lowSecondary function degraded; most users notice
3MinorCosmetic or minor issue; some users notice
2Very minorNoticed only by attentive users or operators
1NoneNo discernible effect

4.2 Occurrence (O)

Occurrence rates how likely the cause is to happen and produce the failure mode during the operating period, given current prevention controls.

ScoreLikelihoodExample frequency in production
10Almost certainMore than once per day
9Very highAbout once per week
8HighAbout once per month
7Moderately highAbout once per quarter
6ModerateAbout twice per year
5OccasionalAbout once per year
4LowOnce in 2 to 5 years
3Very lowOnce in 5 to 10 years
2RemoteSeen in the industry, not in this system
1Nearly impossiblePrevented by design, for example by type system or formal constraint

4.3 Detection (D)

Detection rates the ability of current detection controls to find the cause or the failure mode before it reaches the user. A low score means detection is likely.

ScoreDetection likelihoodExample control
10Not detectableNo test, no monitor; users report it
9Very remoteFound only by manual log review after the fact
8RemoteManual exploratory testing only
7Very lowGeneric alert (for example error rate) fires after significant user impact
6LowSpecific alert, but after some user impact
5ModerateSystem or integration test covers the scenario
4Moderately highAutomated test in CI plus canary analysis
3HighContract or property-based test blocks the merge
2Very highStatic analysis or type checking blocks the build
1Almost certainFailure prevented by design and verified automatically

5. Failure analysis

5.1 Failure mode taxonomy

The team uses the following generic software failure modes as prompts for each function.

Mode classDescriptionExample
OmissionFunction does not produce an outputAuthorisation request times out with no decision
CommissionFunction produces an output when it should notPayment recorded for a declined request
Incorrect valueOutput is wrongRisk score uses a stale model
TimingOutput is too late or too earlyLedger lag exceeds 5 s
DuplicationOutput produced more than oncePayment written twice after retry
PartialOutput incompleteLedger entry missing currency field
SecurityFunction bypassed or misusedRequest accepted with expired token

5.2 Effects

Effects are recorded at three levels: local (the element itself), next higher level (the service or system) and end effect (user, business or regulator). Severity is scored on the end effect.

5.3 Causes and mechanisms

Causes are the design or process weaknesses that lead to the failure mode. For software, typical causes are logic errors, missing input validation, unhandled exceptions, race conditions, resource exhaustion, configuration errors, incompatible interface versions, dependency failures and deployment mistakes. Each failure mode may have several causes, each scored for occurrence separately.

5.4 Current controls

Control typePurposeExamples
PreventionReduce the chance the cause occursCode review, design patterns, idempotency keys, schema validation, rate limits
DetectionFind the cause or failure before users are affectedUnit and contract tests, canary analysis, synthetic checks, SLO alerts

6. Risk evaluation

6.1 Risk priority number

The risk priority number (RPN) combines the three ratings:

RPN=S×O×DRPN = S \times O \times D

With 1 to 10 scales the RPN ranges from 1 to 1,000.

Example: a duplicate ledger write with S=8S = 8, O=5O = 5 and D=6D = 6 gives RPN=8×5×6=240RPN = 8 \times 5 \times 6 = 240.

6.2 Limits of the RPN and action priority

The RPN is an ordinal product, not a measure of risk. Very different combinations give the same number (S 10, O 2, D 2 and S 2, O 5, D 4 both give 40), and a small change in one rating can move an item across a threshold. For that reason this analysis also applies these rules:

  • Any failure mode with S≥9S \ge 9 requires an action or a documented risk acceptance by [role], whatever its RPN.
  • A combination of S≥7S \ge 7 and O≥6O \ge 6 requires an action.
  • Some organisations replace the RPN with an action priority (AP) table that ranks severity first, then occurrence, then detection, into High, Medium and Low priority. If your organisation uses such a table, record the AP column in the worksheet and use it in place of the RPN thresholds below.

6.3 Thresholds

RuleAction required
S≥9S \ge 9Action mandatory or formal risk acceptance
RPN≥[200]RPN \ge [200]Action mandatory before [release]
[100]≤RPN<[200][100] \le RPN < [200]Action planned within [two sprints]
RPN<[100]RPN < [100]Monitor; review at next FMEA update

7. Recommended actions

Action IDFailure modeActionRating targetedOwnerDueTicketStatus
ACT-01FM-003Example: Add idempotency key on ledger writes and enforce a unique constraintO, D[@dev]YYYY-MM-DD[PAY-812]In progress
ACT-02FM-001Example: Add circuit breaker and cached fallback decision for fraud provider timeoutsS, O[@dev]YYYY-MM-DD[PAY-815]Open
ACT-03FM-004Example: Add contract test for token expiry and alert on rejected-token ratioD[@qa]YYYY-MM-DD[PAY-820]Done
ACT-04FM-006Example: Automated rollback when canary error rate exceeds baseline by 2xD[@sre]YYYY-MM-DD[OPS-301]Open
[ACT-NN][FM-NNN][Action][S/O/D][@owner]YYYY-MM-DD[Ticket][Status]

8. FMEA worksheet

The worksheet records each failure mode with its effects, causes, controls, ratings and actions. Ratings are the initial (before action) scores.

FM IDElement / functionFailure modeEnd effectSCausePrevention controlODetection controlDRPNAction
FM-001EL-01 / FN-01Example: No decision returned (timeout)Checkout fails for the customer; lost sale8Fraud provider p99 above 2 s during its peakClient timeout 500 ms6Error-rate SLO alert6288ACT-02
FM-002EL-02 / FN-02Example: Score computed with stale modelFraud let through or good customers declined7Model reload fails silently after deployModel version check in start-up4None specific8224[ACT-NN]
FM-003EL-04 / FN-03Example: Payment written twiceCustomer charged twice; reconciliation effort8Broker redelivery after writer crash before ackAck after commit5Nightly reconciliation report6240ACT-01
FM-004EL-01 / FN-04Example: Expired token acceptedUnauthorised payment request processed9Clock skew tolerance set to 24 h by mistakeConfig review3Manual pen test yearly8216ACT-03
FM-005EL-04 / FN-03Example: Ledger lag above 5 sBalance shown to user is out of date5Hot partition on large merchantPartition by merchant and day5Lag metric with alert375Monitor
FM-006Pipeline / FN-05Example: Faulty release reaches all replicasFull outage of authorisations8No automated canary gateCode review, staging tests4Manual watch of dashboards7224ACT-04
[FM-NNN][EL / FN][Mode][Effect][S][Cause][Control][O][Control][D][RPN][Action]

9. Re-scoring after actions

FM IDActionEvidence of completionSODNew RPNChangeAccepted by
FM-001ACT-02Example: Load test LT-44 shows fallback decision in 120 ms with provider disabled64496288 to 96[@name]
FM-003ACT-01Example: Chaos test CE-12 kills writer before ack; zero duplicates in 10,000 runs82348240 to 48[@name]
FM-004ACT-03Example: Contract test CT-207 in CI; alert tested in game day GD-0592354216 to 54[@name]
[FM-NNN][ACT-NN][Evidence][S][O][D][RPN][Change][@name]

Severity usually changes only when the design changes the effect, for example a fallback that keeps checkout working. Better tests reduce detection; prevention controls reduce occurrence.

10. Results, residual risk and follow-up

10.1 Summary

MetricBefore actionsAfter actions
Failure modes analysed[42][42]
Failure modes with S≥9S \ge 9[3][3, all with actions or acceptance]
Failure modes with RPN≥200RPN \ge 200[7][1]
Highest RPN[288 (FM-001)][224 (FM-002)]

10.2 Accepted residual risks

FM IDResidual riskReason for acceptanceAccepted byReview date
FM-002Example: Stale model not detected until drift reportFix requires model registry migration planned for Q[n][@product-owner]YYYY-MM-DD
[FM-NNN][Risk][Reason][@name]YYYY-MM-DD

10.3 Review triggers

The FMEA is reviewed when any of the following occurs:

  • A major design change, new dependency or new interface.
  • An incident whose failure mode is missing from the worksheet, or whose occurrence or detection differs from the score.
  • Before each major release, and at least every [12] months.

11. Appendices

11.1 Glossary

TermMeaning in this document
Failure modeThe way in which an element fails to perform its function
EffectThe consequence of a failure mode on the element, the system and the user
CauseThe weakness or event that leads to the failure mode
ControlA measure that prevents a cause or detects a cause or failure mode
RPNRisk priority number, the product of severity, occurrence and detection
APAction priority, a table-based ranking used as an alternative to RPN

11.2 Workshop records

DateParticipantsScope coveredNotes link
YYYY-MM-DD[Names]Example: Sections 2 to 3, elements EL-01 to EL-03[Link]
YYYY-MM-DD[Names]Example: Failure analysis and scoring[Link]

Standard and licence note

Structure aligned with IEC 60812:2018 (Failure modes and effects analysis (FMEA and FMECA)), for the overall FMEA process of planning, structure and function analysis, failure analysis, risk evaluation, actions and documentation. The rating scales, thresholds and software failure mode taxonomy are examples written for this collection. This template is original text written for this collection and reproduces no text from the standard; obtain the standard for its normative requirements. Template licence: MIT.

Template liên quan