oliverdavies.uk/content/node.d9e7d2f3-bb82-4e97-9269-d65e6b08d8d9.yml

91 lines
3.5 KiB
YAML

uuid:
- value: d9e7d2f3-bb82-4e97-9269-d65e6b08d8d9
langcode:
- value: en
type:
- target_id: daily_email
target_type: node_type
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
revision_timestamp:
- value: '2025-05-11T09:00:28+00:00'
revision_uid:
- target_type: user
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
revision_log: { }
status:
- value: true
uid:
- target_type: user
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
title:
- value: |
Don't pre-optimise and over-customise
created:
- value: '2023-11-15T00:00:00+00:00'
changed:
- value: '2025-05-11T09:00:28+00:00'
promote:
- value: false
sticky:
- value: false
default_langcode:
- value: true
revision_translation_affected:
- value: true
path:
- alias: /daily/2023/11/15/dont-pre-optimise-and-over-customise
langcode: en
body:
- value: |
<p>I've been re-watching a livestream series from a few years ago, showing a SaaS product being built.</p>
<p>The series was created from two full-day live streams to create a minimum viable product (MVP) version of the application.</p>
<p>Several times, things like this were said:</p>
<ul>
<li>This will eventually need to be customisable.</li>
<li>When we have multiple users, but now we only have one.</li>
<li>Let's hard-code this for now and refactor it later.</li>
<li>This isn't pixel-perfect, but let's move on.</li>
</ul>
<h2 id="here%27s-the-thing">Here's the thing</h2>
<p>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.</p>
<p>If there's only one user, there's no need to write code to handle multiple users.</p>
<p>Later, once the application is launched, that feature can be added.</p>
<p>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.</p>
format: full_html
processed: |
<p>I've been re-watching a livestream series from a few years ago, showing a SaaS product being built.</p>
<p>The series was created from two full-day live streams to create a minimum viable product (MVP) version of the application.</p>
<p>Several times, things like this were said:</p>
<ul>
<li>This will eventually need to be customisable.</li>
<li>When we have multiple users, but now we only have one.</li>
<li>Let's hard-code this for now and refactor it later.</li>
<li>This isn't pixel-perfect, but let's move on.</li>
</ul>
<h2 id="here%27s-the-thing">Here's the thing</h2>
<p>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.</p>
<p>If there's only one user, there's no need to write code to handle multiple users.</p>
<p>Later, once the application is launched, that feature can be added.</p>
<p>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.</p>
summary: null
field_daily_email_cta: { }