A lot of “certain” developers just don’t like change. They’ll stick to their architecture no matter what, and certainly regardless of the requirements change. Doing any less would compromise the “purity” their design.
The lead developer on John’s team is like this and was faced with “a really ridiculous change request.” The spare parts catalogue they were building needed to manage assemblies – i.e. a grouping of parts – as well as individual parts. The following representative line should give you an idea of how this was implemented...
strSql = "SELECT Part.ID, Part.Description, Part.IsNotPart FROM Part"
John added, “I’m proud to say that this change was introduced long before the application ever went online.”