This will be a short article using an analogy to get the point across in a way more people can understand.
My wife and I have been saving up for a year (or more) to get new kitchen appliances. We are looking into a 4-piece set – an electric range, dishwasher, overhead microwave, and refrigerator.
We have a skinny galley kitchen in our townhouse, and the space for the fridge is small, so we’re limited on the fridge we can get, not just by price, but the width has to be 32″ max (which is pretty small) and we care a little about the depth, but I think we’d get over that for a new fridge.
We’ve been looking and pricing and this past weekend we thought we had the perfect set, a great sale going on…we were ready to buy. I’m glad we measured the fridge, because it was 3 inches too wide.
One thing we could semi-reasonably do is get a smaller lower cabinet that is next to the fridge and cut the countertop down to fit. However, that raises other issues. Our trash can would no longer fit in there and our Keurig would be taking up almost the whole top. With the small galley kitchen, putting the trash can outside of that space isn’t really an option – we already hit the door of the fridge against the wall, and if there was a trash can there, it would be really tight. We also wouldn’t be able to get into the cabinets on the other side of the kitchen.
The additional work, expense, and figuring out how to solve those issues has led us back to the drawing board.
So, what does that have to do with a solid code foundation on a website? Well, the principles are the same. Notice how I didn’t talk about the microwave, range, or dishwasher being an issue. Those are all standard fit replacements, no big deal. The fridge is a “standard”, but doesn’t give us much wiggle room in the future (the future being now). We’re limited in our future choices. If the original layout of the kitchen would have allotted for some growth, then we would be able to choose from a much larger selection of refrigerators.
There are always going to be limitations, you can’t always predict the direction or growth of your website, but with a solid foundation, you’ll be in a better place to more quickly implement enhancements without affecting as many other parts of the website. A quicker and easier (for us) turn around reduces costs. So, it’s a win-win situation. It’s easier for us to implement your ideas and it’s less expensive for you.