Chapter 9: Making Work Sustainable
Why Sustainability Matters
Software delivery performance should not be achieved through brute force or at the expense of team mental health. This chapter examines deployment pain and burnout — both of which are measurable, both of which are affected by DevOps practices.
“Where code deployments are most painful, you’ll find the poorest software delivery performance, organizational performance, and culture.”
Deployment Pain
Definition: The fear and anxiety that engineers and technical staff feel when pushing code to production.
Deployment pain highlights friction and disconnect between:
- Activities used to develop and test software
- Work done to maintain and keep software operational
Warning sign: If developers or testers have no idea what deployments are like, barriers are hiding the work from them — and barriers that hide deployment from developers isolate them from the downstream consequences of their decisions.
Three Root Causes of Deployment Pain
-
Software not written with deployability in mind — complex orchestrated deployments because the software has rigid environment expectations and doesn’t tolerate deviation. Poor diagnostics.
-
Manual changes to production — typing mistakes, copy/paste errors, poor documentation. Manual environments develop configuration drift — environments diverge from each other, causing painful debugging at deploy time.
-
Multiple handoffs between siloed teams — DBAs, network admins, sysadmins, infosec, QA, developers all in separate teams requiring coordination.
How to Reduce Deployment Pain
- Build systems designed to be deployed easily into multiple environments, able to detect/tolerate failures, with independently updatable components
- Ensure production state can be reproduced automatically from version control (except production data)
- Build intelligence into application and platform to make deployment as simple as possible
Applications designed for PaaS (Heroku, Pivotal Cloud Foundry, GCP, AWS, Azure) can typically be deployed with a single command.
Microsoft Bing Example
Before CD on Bing team: work/life balance satisfaction = 38%.
After implementing CD: work/life balance satisfaction = 75%.
The technical practices reduced stress because deployments stopped being dangerous, manual, late-night events.
Burnout
Definition: Physical, mental, or emotional exhaustion caused by overwork or stress — manifests as helplessness, cynicism, feelings of ineffectiveness.
Scale of problem: Stressful jobs can be as bad for physical health as secondhand smoke and obesity. Job stress costs the US economy $300 billion/year in sick time, long-term disability, and excessive job turnover.
Christina Maslach’s Six Organizational Risk Factors
- Work overload — job demands exceed human limits
- Lack of control — inability to influence decisions affecting your job
- Insufficient rewards — financial, institutional, or social
- Breakdown of community — unsupportive workplace environment
- Absence of fairness — lack of fairness in decision-making
- Value conflicts — mismatch between organizational values and individual values
Maslach’s finding: Most organizations try to fix the person and ignore the work environment. Her research shows fixing the environment has higher likelihood of success. All six factors are things management can change.
Research Findings: Five Predictors of Burnout
-
Organizational culture — strong burnout found in pathological, power-oriented cultures. Create blame-free environment, learn from failures, communicate shared purpose.
-
Deployment pain — complex, painful after-hours deployments contribute to stress and lack of control.
-
Effectiveness of leaders — effective leaders limit WIP, eliminate roadblocks. Ineffective leaders → more burnout.
-
Organizational investment in DevOps — investing in skills and capabilities reduces burnout. Provide training, support, time.
-
Organizational performance — Lean management + CD improve delivery performance → organizational performance → create space for creative work during work hours, not after.
Values Alignment Matters
When organizational values (the real, lived values, not the mission statement) and individual values don’t align → burnout accelerates.
“If the organizational values felt by employees differ from the official values of the organization — the mission statements printed on pieces of paper — it will be the everyday, lived values that count.”
How to Prevent/Reduce Burnout
For managers:
- Foster respectful, supportive work environment that emphasizes learning from failures, not blaming
- Communicate a strong sense of purpose
- Invest in employee development
- Ask employees what prevents them from achieving objectives — then fix those things
- Give employees time, space, and resources to experiment and learn
- Give employees authority to make decisions that affect their work, especially where they’re responsible for outcomes
The Summary Model
Technical + Lean Practices → Reduced Deployment Pain + Reduced Burnout
↓
Sustainable Software Delivery
“Not only do investments in technology make our software development and delivery better, they make the work lives of our professionals better.”