Software rot, or code rot, refers to software becoming less responsive or buggier through time due to the interaction of legacy code with an evolving digital environment. This happens when the codebase is not updated, that is, when bugs are not fixed and software is not made compatible with newer operating systems, drivers, and the like. Code written carelessly with little thought for readability, maintenance and extension will rot faster than code written with a long term view. It’s not necessarily that the former is worse – that would depend on whether the software is to be used and updated in the future; sometimes all that’s required is a quick solution – just that the latter will be easier to build on in the long term, and would thus degrade slower.
I think the metaphor can be extended to the world of design, especially to software and Web design. Design rot is when a design goes out of style, or becomes less usable through newer interfaces due to the constraints of original assumptions. Redesigns are often a symptom of design rot – previous work needing to be swept aside to make way for something new, something better. There are chiefly two reasons behind a redesign: either the needs of the subject have drastically changed, or the design has become dated in some way. The former lies outside the hands of the designer, the latter is design rot. I doubt design theory moves so quickly that it makes so much work obsolete all of the time, rather I think oftentimes the fault lies in the original designs that have incorporated many elements prone to quick degradation.
Style trends degrade most quickly. Incorporating the latest fashion into your design by definition stamps it with a use by date. However much you like the style at the moment, as time passes and trends shift, and they surely will, that same look will begin to feel old and dated. Even if the rest of your work is good, the presence of an unfashionable look will burden it with design rot. Other things that will degrade: anything that is tailored to work with a specific piece of technology, or strong assumptions on how your design will be consumed. The former is things like browser hacks, the latter is things like fixed width designs targeting specific devices or resolutions.
Just like code rot, design rot can be minimized, if not prevented. Avoiding style trends and focusing on a look that embodies the subject is a sure way to make the work last. Unless the subject changes, the style representing it will remain as relevant as ever. Instead of chasing after exciting trends, focus on fundamental principles of good typography and layout. These principles will ensure your work will look just as good in a hundred years as it does today. If working on the Web, these principles must be adapted to the fluidity of the medium. This means avoiding assumptions on the browser or the screen size of the end user. Standards compliant, responsive designs, with clearly laid out code are future proof.
The work of a designer is the sum of a myriad choices. When you make each choice, ask yourself on what basis your decision is made. Is it made on sound principles that will remain the same in years to come or on a desire to emulate a new trend? Will it help make the work future proof by supporting new devices, or is it tailored only for today? Choose that which is strong and adaptable, avoid that which is destined to rot.