oliverdavies.uk/content/node.a8753236-c6ec-4eab-88c0-cf1939cf0333.yml

92 lines
3.8 KiB
YAML
Raw Normal View History

2025-07-10 00:14:12 +01:00
uuid:
- value: a8753236-c6ec-4eab-88c0-cf1939cf0333
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:24+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: |
Fail fast, fix fast
created:
- value: '2023-12-17T00:00:00+00:00'
changed:
- value: '2025-05-11T09:00:24+00:00'
promote:
- value: false
sticky:
- value: false
default_langcode:
- value: true
revision_translation_affected:
- value: true
path:
- alias: /daily/2023/12/17/fail-fast-fix-fast
langcode: en
body:
- value: |
<p>I recently listened to a podcast that discussed Elon Musk and quoted something like, "If 20% of attempts aren't failing, you aren't taking enough risk".</p>
<p>In a software context, I'm not advocating that one in five production releases should fail, but I like trying new ideas and approaches.</p>
<p>If you're releasing small changes regularly or practising continuous deployment, changes are easy to revert if there's a problem or the smaller the deployment and the more recently the code was written, then it should be easier to resolve the issue and "fix forward" instead of rolling back.</p>
<p>Using feature flags lets you quickly turn off a feature flag while investigating and resolving the issue without needing another deployment.</p>
<p>If you have an appropriate plan to follow in the case of an issue, that mitigates the risk and minimises the impact of a potential issue - making it quicker to resolve and restore the service.</p>
<p>Two of the DORA metrics refer to failure rate and restoration time:</p>
<ul>
<li>Deployment frequency</li>
<li>Lead time for changes</li>
<li>Change failure rate</li>
<li>Time to restore service</li>
</ul>
<p>Then, it depends on your organisation's tolerance for risk and what's acceptable.</p>
<p>But, the more frequent the releases, the lower the failure rate and the quicker it will be to restore the service if there is an issue.</p>
format: full_html
processed: |
<p>I recently listened to a podcast that discussed Elon Musk and quoted something like, "If 20% of attempts aren't failing, you aren't taking enough risk".</p>
<p>In a software context, I'm not advocating that one in five production releases should fail, but I like trying new ideas and approaches.</p>
<p>If you're releasing small changes regularly or practising continuous deployment, changes are easy to revert if there's a problem or the smaller the deployment and the more recently the code was written, then it should be easier to resolve the issue and "fix forward" instead of rolling back.</p>
<p>Using feature flags lets you quickly turn off a feature flag while investigating and resolving the issue without needing another deployment.</p>
<p>If you have an appropriate plan to follow in the case of an issue, that mitigates the risk and minimises the impact of a potential issue - making it quicker to resolve and restore the service.</p>
<p>Two of the DORA metrics refer to failure rate and restoration time:</p>
<ul>
<li>Deployment frequency</li>
<li>Lead time for changes</li>
<li>Change failure rate</li>
<li>Time to restore service</li>
</ul>
<p>Then, it depends on your organisation's tolerance for risk and what's acceptable.</p>
<p>But, the more frequent the releases, the lower the failure rate and the quicker it will be to restore the service if there is an issue.</p>
summary: null
field_daily_email_cta: { }