Addressing Friction in Software Development
The text discusses the concept of "friction" as defined by Clausewitz in the context of software development. Friction refers to the difference between theory and reality, and it manifests in various ways such as API malfunctions, changing requirements, and tooling issues. The text also explores how friction compounds over time and offers strategies to address it, including smaller scopes and shorter iterations, more autonomy, redundancy, better planning, automation, experience, gaming, and checklists. It raises questions about subcategorizing sources of friction, how other fields handle friction, finding the balance between addressing friction and efficiency, and the importance of considering friction in individual projects.