Maintainability: One Story and Three Concerns
Published on Jan 31, 2012 (updated Feb 5, 2024), filed under development, maintainability (feed). (Share this on Mastodon or Bluesky?)
This and many other posts are also available as a pretty, well-behaved ebook: On Web Development.
To make this a little story, for a long time in my career I wasnât very concerned about maintainability.
I was maintaining projects but didnât have an idea about whether what I maintained was actually effective to maintain. I got a sense that things werenât quite right and that I was spending too much time on maintenance, but that didnât lead me anywhere.
At some point I noticed that there were a few things that made projects easier to maintain, and that there were other things you simply never want to deal with.
Then I got the suspicion that hardly any web developer or designer had ever done a CSS-only redesign. I still have this suspicion today. There are reasons why a redesign cannot just be done by updating style sheets, primarily due to content and hence structural changes. But more often than not it would be possible, if maintainability was a priority and something that developers would be taught, to just update style sheets. (The small number of CSS-only redesigns may well be seen as an embarrassment for our industry.)
When looking at other sites more closely I noticed that more things were happening that shouldnât be happening at all, contributing to never even getting close to something like a CSS redesign.
As there wasnât much useful information out there on how to make websites more maintainableâclearly not helping the situation at handâ, I then compiled a guide on maintainability, promoted what appeared to be useful in order to write more maintainable code, and created tools to identify maintainability issues.
Now, since there is a general understanding of why good maintainability is important Iâve been wondering about other causes for the problems we can observe:
The prevalent mindset appears to be close to âfire and forgetâ as people oftentimes donât appear to care whether, how, and who is going to work on everything in a few days, months, or years.
Especially developers seem to overestimate the power of technology when all too eagerly referring to that âthis is not a problem because weâd only change a template.â (Maintenance is never âjust changing a template,â and unnecessary changes are unnecessary changes.)
Developers may have gotten into the habit of preferring âconstruction kits,â overlooking or dismissing the power of tailored solutions, and they appear to forget about the craft of web development.
Consequentially, our industry, in well some shortsightedness, appears to be wasting hours and dollars by not paying attention to maintainability. Based on my observations and estimates, the lack of attention makes any rather complex web project about 50% more expensive over the first one or two design and code iterations alone.
Inadvertently Iâve just alluded to another reason for the whole drama, beside lack of documentation and education: There is no data documenting the cost of our industryâs current practices. Youâd need to test against the âideal worldâ which we know doesnât exist but in our heads.
The point is this: Focus on maintainability. It may easily be the biggest untapped cost saver there is for our industry.
About Me
Iâm Jens (long: Jens Oliver Meiert), and Iâm a web developer, manager, and author. Iâve been working as a technical lead and engineering manager for companies youâve never heard of and companies you use every day, Iâm an occasional contributor to web standards (like HTML, CSS, WCAG), and I write and review books for OâReilly and Frontend Dogma.
I love trying things, not only in web development and engineering management, but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (I value you being critical, interpreting charitably, and giving feedback.)