One of the most fascinating things about software architecture is how choices in the past can have such a strong influence on the system for years to come.
You might make a decision that seems trivial at the time, but new features get layered on top of your design's assumptions.
These bakediin constraints limit how you can evolve the system,...