How to Not Die by a Thousand Cuts. Or, How to Think About Software Quality
9 hours ago
- Quality is the experience of process, performing with grace and leaving things better than found.
- Software products are pure concept, infinitely malleable, and require constant maintenance due to changing world.
- Death by a thousand cuts metaphor applies to software: minor cuts (hotfixes, complaints, crashes) accumulate and degrade quality.
- Linear software workflows (Analysis → Product → UX → Dev → QA → Prod) concentrate risk at early stages and delay feedback, compounding debt.
- Quality responsibility belongs to all functions involved in product lifecycle, not just a dedicated QA team.
- Destroying quality includes mislabeling testing as QA, blaming individuals, creating blame culture, and normalizing deviance.
- Creating quality requires designing high-quality organizational systems and culture, co-evolved by stakeholders, without formulaic fixes.
- Perspective is crucial; seeking diverse, challenging viewpoints can improve quality outcomes.
- Constructive suffering is key to improvement—recovering fitness after slacking involves persistent effort and mindset shifts.
- Resources include systems thinking, failure analysis, collaborative practices, and self-improvement materials.