There’s a lot of interesting content in this article. It goes into a number of great specifics to illustrate the problem at hand and various ways projects work to avoid or deal with it. My personal experience is mostly with client work that doesn’t usually fall victim to issues like this, but in the bigger picture I work with WordPress, which has it’s own stance that works well for me. Getting more specific with that, I’ve had to deal with the issue firsthand when it comes to various WordPress plugins I’ve written. Plugin development has been a fantastic learning experience for me, but I found a number of times that I made knee-jerk implementation decisions that bit me later on, and I now know that you can’t really rush through things like that and instead need to take the time to look at the bigger impact your “quick” decisions will have now that any number of people are using and depending on your code.