1. Risk Assessment methodology — inherent, residual, and target
“Walk me through how IRM computes a risk score from inherent to residual on a sn_risk_risk record.”
How to answer
- Inherent risk = likelihood × impact, scored BEFORE controls are applied.
- Residual risk = inherent risk reduced by the effectiveness of mapped controls (sn_compliance_control).
- Target risk is the appetite the business will tolerate — set on the risk framework, not the risk record.
- Assessment templates (sn_risk_assessment_template) standardize the question set so scores are comparable across BUs.
Reference script
var risk = new GlideRecord('sn_risk_risk');
risk.get(riskSysId);
var inherent = risk.likelihood * risk.impact;
var ctrlAgg = new GlideAggregate('sn_compliance_m2m_control_risk');
ctrlAgg.addQuery('risk', riskSysId);
ctrlAgg.addAggregate('AVG', 'control.effectiveness');
ctrlAgg.query();
ctrlAgg.next();
var eff = parseFloat(ctrlAgg.getAggregate('AVG','control.effectiveness')) || 0;
var residual = inherent * (1 - eff/100);
gs.info('inherent=' + inherent + ' residual=' + residual);Pitfall
Multiplying effectiveness percentages across controls (compounding) instead of averaging — it produces unrealistically low residuals and fails audit review.