Perfection gets a bad rap in software development. It's often even used disparagingly to justify YAGNI 's evil twin: crappy code, as in, "We're not after perfection here, we just need this thing to work!" Without perfection, there would be a lot less merciless refactoring , but...