Skip to main content

Module satisfaction_metrics

Module satisfaction_metrics 

Source
Expand description

§Satisfaction and Well-Being Metrics

Satisfaction and well-being, the S in SPACE (chapter 3.1), is the dimension no system telemetry can observe directly. Whether an engineer finds their work meaningful, whether they feel supported by their team, whether they are heading toward burnout — none of this leaves a trace in a version control log or a CI pipeline. It has to be asked, deliberately and well, with genuine anonymity as non-negotiable. This dimension is a leading indicator: declining satisfaction predicts attrition before an exit interview does, and rising burnout risk predicts a quality collapse before the defect rate shows it.

§Formula

Satisfaction net score = ((promoters - detractors) / total_respondents) × 100
    (an employee Net Promoter-style score, ranging roughly -100 to +100)

Declining  when current_score < previous_score - decline_threshold

§Why it matters

Any perceived link between an honest answer and a personal consequence destroys the signal almost immediately: satisfaction data used to understand and improve team conditions is valuable and low-risk, but the same data used to rank teams or, worse, individuals against each other corrupts the survey instrument the moment people suspect the answer will be used against them or their team. This module computes an aggregate score and a trend signal only — it has no concept of an individual respondent, and callers must guarantee genuine anonymity in how they collect the inputs.

§Example

use software_engineering::satisfaction_metrics::{
    satisfaction_net_score, is_satisfaction_declining,
};

// Of 50 respondents, 30 are promoters and 10 are detractors: a net
// score of +40.
let score = satisfaction_net_score(30.0, 10.0, 50.0).unwrap();
assert!((score - 40.0).abs() < 1e-9);

// A drop from +40 to +15 (25 points) past a 10-point threshold is a
// leading-indicator warning worth investigating before it shows up
// as attrition.
assert!(is_satisfaction_declining(40.0, 15.0, 10.0));

§Pitfalls

  • Breaking anonymity, even accidentally — a single incident where individual responses can be traced back to a person destroys trust in every future survey, especially in small teams where response patterns could otherwise be inferable.
  • Using satisfaction data to rank teams or individuals — corrupts the signal almost immediately once people suspect the answer will be used against them.
  • Reading a single reading in isolation — this dimension is a leading indicator; track the trend over time, not one snapshot.
  • Ad hoc, unvalidated survey questions — produces data of unclear meaning that resists honest interpretation.

§Sources

  • Chapter 3.2, Satisfaction and well-being metrics.

Topic doc: software-engineering-metrics/locales/en-001/chapters/03-02-satisfaction-and-well-being-metrics.md

Functions§

is_satisfaction_declining
Whether a satisfaction score has declined enough between two measurement periods to warrant treating it as an early attrition/burnout warning, per the chapter’s framing of this dimension as a leading indicator rather than a lagging one.
satisfaction_net_score
Employee-satisfaction Net Promoter-style score: the percentage of promoters minus the percentage of detractors among survey respondents.