When a developer overcomplicates a piece of software as a mental exercise, or just because it's more fun. Sometimes it is intentional, but oftentimes results from a well-intentioned change done in the name of 'reusability', 'better abstraction' or something similar. - SeanKleinjung Contrast with the idea that one should only DoTheSimplestThingThatCouldPossiblyWork. ---- See GoldPlating ''Heh...I knew that the concept had to already exist, just didn't have any other name for it...'' ---- See also AvoidComplexity CategoryComplexity