Keeping Systems Simple

This is a great post about keeping systems simple. It’s aimed at startups, but could easily be applied to design systems.

Ships contain simple systems that are easy to operate and easy to understand, which makes them easy to fix, which means they have less downtime.

If we keep our design systems simple, anyone on the systems team should be able to troubleshoot and fix errors as they occur within products.

Ships contain simple systems that are easy to operate and easy to understand, which makes them easy to fix, which means they have less downtime.

Less complex design systems have less moving parts.

His three principles for simple systems is somethign to keep in mind when creating any kind of system, especially design systems:

  1. Features don’t justify complexity. What good is a complicated flight control system if it grounds an entire fleet of aircraft, or an enterprise marketing platform like Marketo if nobody can run a marketing campaign? Choose tools that are simple to operate over those that promise the most features.
  1. Complex ideas lead to complex implementations. If it takes too long to explain or grasp an idea, then its implementation will be complex, and it will take too long to fix when something inevitably breaks.
  1. Modifications before additions. When new requirements come up, the tendency is to add layers on top of the existing system—by way of additional steps or integrations. Instead, see if the system’s core can be modified to meet the new requirements.