Jens Oliver Meiert

Use my latest work: latest tech booklatest non-tech booklatest toollatest major tool update

Web Development Principles: Develop for What Is, Not What Could Be

Published on Jun聽7, 2011 (updated Dec聽14, 2024), filed under . (Share this post, e.g. on Mastodon or on聽Bluesky.)

This and 133 other posts are also available as a well-behaved ebook: On Web Development.

For any given project, web developers fare best when focusing on what is, not what could be. To fend off misunderstandings, that focus includes what absolutely will be.

The reason for this principle is that you are not a psychic. That is, you may think that your site might feature a 12-column grid in the future, but if the mocks in front of you say it鈥檚 8, it鈥檚 8, not 12. If it only has one page type you don鈥檛 need two. If it doesn鈥檛 use tables you don鈥檛 need to style tables. Again: Ignoring what could be doesn鈥檛 mean ignoring what will be, and that means if the designers you are working with are assuring you that the next site iteration will sport 12 columns, it would not be smart to ignore such probability.

Cost, Complexity, Technical Debt

What happens when you are not focusing on what is is that you are increasing cost, are introducing complexity and, eventually, technical debt right from the start. That is, documenting and explaining all the extra features you included in your site鈥檚 prototype cost money by the work you鈥檙e spending on it, then by its implementation, and also by the added maintenance cost going forward. Developing for what could be will make it more difficult (note: more difficult does not necessarily mean difficult鈥攖his distinction is important) to work with your project. Eventually, though we touched this with added maintenance cost, you are forced to carry around stuff that is not used at all and that hence just stands in the way when working on what is actually relevant.

Having an eye on what is reflects empiricism, which also informs the tailor metaphor I introduced around frameworks: You want to strive for the best possible solution and that means tailoring to actual needs. A good tailor will give you a little bit of extra room for your belly鈥攁nd so will you give your design and code some room to grow or shrink a little鈥攂ut he will not hand you a tent just in case you gain 100 pounds.

_ People working with me and people following my posts have heard me say this a few times: A good part of web development is about dealing with probabilities. You know that I鈥檝e covered other principles in the past鈥攕ee the most popular posts of this site鈥攁nd that it鈥檚 likely that I鈥檓 going to talk about principles again.

Update (December 14, 2024)

I only realized later how this thinking corresponded with YAGNI.

About Me

Jens Oliver Meiert, on March 2, 2026.

I鈥檓 Jens (long: Jens Oliver Meiert), and I鈥檓 an engineering lead, guerrilla philosopher, and indie publisher. I鈥檝e worked as a technical lead and engineering manager for companies you use every day (like Google) and companies you鈥檝e never heard of, I鈥檓 an occasional contributor to web standards (like HTML, CSS, WCAG), and I write and review books for O鈥橰eilly and Frontend Dogma.

I love trying things, not only in web development and engineering management, but also with respect to politics and philosophy. Here on meiert.com I talk about some of my experiences and perspectives. (Please share feedback: Interpret charitably, but do be critical.)