# 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. [[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 [[Emacs]] good consumer software? Or do general consumers prefer things like [[Windows]]?