92 lines
3.8 KiB
YAML
92 lines
3.8 KiB
YAML
|
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: { }
|