Software-as-investment vs firefighting trap
Losen's platform team cut chronic firefighting by reclassifying software as investment, not cost DevOpsDays ZurichTL;DW
- Firefighting loop: complexity creates more firefighting; faster work spins the loop faster. It's a system problem, not a people problem.
- Shift mindset from software-as-cost to software-as-investment. Change equals capability, not risk. Adaptability, not stability, is the goal.
- Limit work-in-progress with hard caps—Losen reduced from 7–8 concurrent items to far fewer. Three things done beats seven half-done.
- Protect team capacity mid-week for systems work, not Friday afternoons. If everything is urgent, nothing improves.
- Measure flow, not heroics: time-to-production, predictability, surprise frequency. Stop counting tickets closed.
- Design for safe change: eliminate cross-team dependencies, validate data internally, use reverse proxies to decouple partners.
- Kill the hero pattern by building shared ownership and safe inquiry. When team members ask 'I don't understand this,' systems get documented and simplified.
- Make systems easier to understand so multiple people can change them. Ship small, frequent changes instead of big risky releases.
- Build trust early: make it safe to say 'I don't understand.' Unasked questions mean systems stay unexplained and complex forever.
- Change what you optimize for explicitly. Your system is perfectly designed to produce your current results. Name the optimization, then change it.
TL;DW
- Firefighting loop: complexity creates more firefighting; faster work spins the loop faster. It's a system problem, not a people problem.
- Shift mindset from software-as-cost to software-as-investment. Change equals capability, not risk. Adaptability, not stability, is the goal.
- Limit work-in-progress with hard caps—Losen reduced from 7–8 concurrent items to far fewer. Three things done beats seven half-done.
- Protect team capacity mid-week for systems work, not Friday afternoons. If everything is urgent, nothing improves.
- Measure flow, not heroics: time-to-production, predictability, surprise frequency. Stop counting tickets closed.
- Design for safe change: eliminate cross-team dependencies, validate data internally, use reverse proxies to decouple partners.
- Kill the hero pattern by building shared ownership and safe inquiry. When team members ask 'I don't understand this,' systems get documented and simplified.
- Make systems easier to understand so multiple people can change them. Ship small, frequent changes instead of big risky releases.
- Build trust early: make it safe to say 'I don't understand.' Unasked questions mean systems stay unexplained and complex forever.
- Change what you optimize for explicitly. Your system is perfectly designed to produce your current results. Name the optimization, then change it.
Olga Kristjansdottir at DevOpsDays Zurich outlines five operational shifts—WIP limits, deployment-frequency metrics, dependency untangling, shared ownership—that broke a vicious loop where urgent patches added complexity and bred more incidents, illustrated by an 18-year-old router activation bug finally fixed at root cause.
