Production ownership, putting teams who develop components or services on call for those services, is a best practice for ensuring high-quality software and tightening development feedback loops. Done well, ownership can provide engineers with the power and autonomy that feed our natural desire for agency and high-impact work and can deliver a better experience for users.
But in practice, teams often wind up on call without proper training and safeguards for their well-being. Suddenly changing the responsibilities of a team worsens service reliability, demoralizes the team, and creates incentives to shirk responsibilities. The team members will lack critical skills, struggle to keep up, and not have the time to learn what they’re missing. The problem is one of responsibility without empowerment. Despite the instinct to spend money to solve the problem, purchasing more tooling cannot fill the gaps in our teams’ capabilities or structures. Tools can only help us automate existing workflows rather than teach new skills or adapt processes to solve current problems.