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