#+title: characteristics of good software design This is the billion dollar question! What makes good software? This could be answered in two ways, and I don't think these are two entirely unrelated questions: * 1. What is well-engineered software? 1. [[file:20210516170837-software_maintainability.org][Software maintainability]]: Every piece of software should require little effort to maintain. * 2. What is good consumer software? This is a big question. What do consumers want? Is [[file:20200709231258-emacs.org][Emacs]] good consumer software? Or do general consumers prefer things like [[file:20210516171925-windows.org][Windows]]?