“Living systems are never in equilibrium. They are inherently unstable. They may seem stable, but they’re not. Everything is moving and changing. In a sense, everything is on the edge of chaos.”
― Michael Crichton, Jurassic Park
I like to keep this quote in mind when thinking about website development. A simple system is closer to stability whereas a complex system is not; it is closer to the edge of chaos and entropy.
In software engineering, Cyclomatic Complexity is a metric which concerns itself with the number of ‘moving parts’ in a piece of code. These moving parts are usually points within some control flow (if, else, while, etc.), and the more of them we find, the greater our Cyclomatic Complexity. Naturally, we want to keep our Cyclomatic Complexity as low as possible, as greater complexity means that, among other things;
– code is harder to read
– there are more potential points of failure
– code is harder to modify, maintain, or reuse
– possibility to introduce bugs gets higher
– code is more difficult to test.
Limiting complexity during development allows you and all the team to avoid getting too crazy and most of all, get the job done properly.
When dealing with code, we should always aim to make things DRY (Don’t Repeat Yourself). DRY code usually means two things:
– Less actual code; meaning smaller file sizes, less for the user to have to download, more efficient code, etc.
– Less to have to maintain; not repeating yourself means that you can make fewer changes to your codebase.
We often find that we spend a large amount of our time reading, maintaining, and refactoring existing code. This is the reason why focus, from the early stages, on things like information architecture, usability, user journey, functionalities, scalability, budget, etc. is a key concept and a winning strategy.
At Ignite, we always try to reduce complex tasks to small and simple chunks, so we can deliver high quality websites that are stable, solid and maintainable because building a website quickly is easy; looking after it is not.
If you want to find out more about how we can build a solid, stable and maintainable website for your business, please get in touch.