7 years ago when I started my career, My first project we sat down and designed the program and interfaces.
Today, we implement features using best practices, never sitting down to design and end up accumulating technical debt that we don't have funds or time to go back and fix.
Time to market is proportional to time to obsoletence. We don't design for longevity anymore :(