oliverdavies.uk/content/node.a3fe3b6f-af2b-4740-9ffc-1c93f1bc868c.yml

121 lines
5.1 KiB
YAML

uuid:
- value: a3fe3b6f-af2b-4740-9ffc-1c93f1bc868c
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:50+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: |
What is the cost of a bug?
created:
- value: '2022-12-29T00:00:00+00:00'
changed:
- value: '2025-05-11T09:00:50+00:00'
promote:
- value: false
sticky:
- value: false
default_langcode:
- value: true
revision_translation_affected:
- value: true
path:
- alias: /daily/2022/12/29/what-is-the-cost-of-a-bug
langcode: en
body:
- value: |
<p>All software has bugs, but each has a different cost depending on when and where it's found.</p>
<h2 id="in-production">In production</h2>
<p>If a bug was found in production, it was probably found by a user, will time to replicate, diagnose and fix, and could have caused some reputational or financial damage.</p>
<p>You'd need to create a ticket and schedule the work, meaning you're not working on something else.</p>
<p>Cost: High</p>
<h2 id="in-a-pre-production-environment">In a pre-production environment</h2>
<p>It's likely found by a test analyst or product owner but hidden from the end users and customers.</p>
<p>It will still take time to replicate, diagnose and fix, and you'd still need to create a ticket and schedule the work, as well as the bug potentially blocking releases to production until it's resolved.</p>
<p>Cost: High</p>
<h2 id="in-a-ci-pipeline">In a CI pipeline</h2>
<p>This is likely to be a static analysis or a test failure. It should be quicker to fix though it will need to be done quickly or reverted if you're doing trunk-based development to unblock other Developers.</p>
<p>If you're doing code reviews, you'll need to ensure that the pipeline passes before the review and continues to pass after making any changes.</p>
<p>Cost: Medium</p>
<h2 id="locally">Locally</h2>
<p>If an automated check fails in CI, why not run it locally before you commit and push the change?</p>
<p>If it's a coding standards issue or static analysis failure, you could configure your text editor or IDE to show you issues in real time. Then they can be fixed immediately and not even committed and pushed to a CI pipeline.</p>
<p>If you were working in a pair or mob, could someone else have spotted the issue and suggested a fix?</p>
<p>Cost: Low</p>
<p>The sooner you can find a bug, the less time and cheaper it is to fix, and we can use tools like automated tests and static analysis to help us write fewer bugs and to fix them sooner and faster.</p>
format: full_html
processed: |
<p>All software has bugs, but each has a different cost depending on when and where it's found.</p>
<h2 id="in-production">In production</h2>
<p>If a bug was found in production, it was probably found by a user, will time to replicate, diagnose and fix, and could have caused some reputational or financial damage.</p>
<p>You'd need to create a ticket and schedule the work, meaning you're not working on something else.</p>
<p>Cost: High</p>
<h2 id="in-a-pre-production-environment">In a pre-production environment</h2>
<p>It's likely found by a test analyst or product owner but hidden from the end users and customers.</p>
<p>It will still take time to replicate, diagnose and fix, and you'd still need to create a ticket and schedule the work, as well as the bug potentially blocking releases to production until it's resolved.</p>
<p>Cost: High</p>
<h2 id="in-a-ci-pipeline">In a CI pipeline</h2>
<p>This is likely to be a static analysis or a test failure. It should be quicker to fix though it will need to be done quickly or reverted if you're doing trunk-based development to unblock other Developers.</p>
<p>If you're doing code reviews, you'll need to ensure that the pipeline passes before the review and continues to pass after making any changes.</p>
<p>Cost: Medium</p>
<h2 id="locally">Locally</h2>
<p>If an automated check fails in CI, why not run it locally before you commit and push the change?</p>
<p>If it's a coding standards issue or static analysis failure, you could configure your text editor or IDE to show you issues in real time. Then they can be fixed immediately and not even committed and pushed to a CI pipeline.</p>
<p>If you were working in a pair or mob, could someone else have spotted the issue and suggested a fix?</p>
<p>Cost: Low</p>
<p>The sooner you can find a bug, the less time and cheaper it is to fix, and we can use tools like automated tests and static analysis to help us write fewer bugs and to fix them sooner and faster.</p>
summary: null
field_daily_email_cta: { }