Don't pre-optimise and over-customise

I've been re-watching a livestream series from a few years ago, showing a SaaS product being built.

The series was created from two full-day live streams to create a minimum viable product (MVP) version of the application.

Several times, things like this were said:

  • This will eventually need to be customisable.
  • When we have multiple users, but now we only have one.
  • Let's hard-code this for now and refactor it later.
  • This isn't pixel-perfect, but let's move on.

Here's the thing

As they focused on creating an MVP version, they added these things to a to-do list or wrote comments in the code to revisit it later rather than slowing down the initial development and pre-optimising the code for use cases that didn't exist yet.

If there's only one user, there's no need to write code to handle multiple users.

Later, once the application is launched, that feature can be added.

And, because they were writing automated tests, they'd be able to refactor and extend the code and not worry about breaking it as the tests would confirm that the functionality still worked.

- Oliver

Was this interesting?

Sign up here and get more like this delivered straight to your inbox every day.

About me

Picture of Oliver

I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.