Favouring simplicity before generality acts as a tiebreaker between otherwise equally viable design alternatives. When there are two possible solutions, favour the one that is simpler and based on concrete need rather than the more intricate one that boasts of generality. Of course, it is entirely possible (and, it often seems, more than a little likely) that the simpler solution will turn out to be the more general one in practice. And if that doesn’t turn out to be the case, it will be easier to change th

Source: Simplicity Before Generality, Use Before Reuse – Kevlin Henney – Medium