Websites are software

I know of too many cases where a website has been shipped and then left dormant until it’s time to redesign in two or more years. A website should be a living, breathing thing and this situation is so easily avoided by applying a few well-established software design principles.

I’m an advocate of applying software development protocols to all kinds of problems. I’m obsessive about keeping lists, setting deadlines and monitoring progress—even when it comes to the most basic household chores or errands. There’s no reason not to apply this thinking to websites.

Version Control and Issue Tracking

It doesn’t matter if your site is a single page or a thousand, you should be running it through version control. Beside all of the backup and collaboration advantages, version control is a constant reminder of how much and how often you are (not) committing to your project.

Log bugs for yourself. Tag them. Give them a priority and attach them to milestones with assigned deliverable dates. Not everything has to be fixed immediately, but planning small and major updates in releasable groups is a very good idea.

Public Release Notes with Semantic Versioning

Many software vendors keep a public list of what and when things are changed. Doing so for your website will force you to remember that people can actually see how long it’s been since you released any work and is a nice incentive to keep shipping. You should label each release with a semantic version number. Not everyone uses this standard, but having some order to the way you release and document updates is great for consistently shipping.

The most important thing is to keep organised and remember that good software is regularly maintained and constantly refined with small bite-sized updates rather than long periods of dormancy followed by major overhauls. Most of us understand this already, so we should apply the same thinking to websites and other digital goods.