uuid: - value: 49fff3d4-4c3a-45fb-8b4f-bf528fa6b171 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:05+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: 'Sharp blades and dull blades' created: - value: '2024-10-24T00:00:00+00:00' changed: - value: '2025-05-11T09:00:05+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2024/10/24/sharp-blades-and-dull-blades langcode: en body: - value: |
I'm not a professional Ruby or Rails Developer, but I am a professional test-driven Developer.
I like to see how others do TDD and have been watching videos of Jason Swett's online meetups where he works on his Saturn CI project.
A few times he's mentioned using dull and sharp blades as an alternative metaphor for technical debt.
He's also written an article about it.
Here's an excerpt:
I prefer to think of a software system as a collection of blades.
A dull blade is never preferable to a sharp one. Sometimes it may be better to just cut with the dull blade instead of taking the time to sharpen the blade before cutting, but it’s clear that that’s a compromise. No one would talk about “strategic dull blades” the way they talk about strategic technical debt.
Unlike debt which you can simply choose not to take on, blades unavoidably get dull with use. Having technical debt makes it sound like you did something wrong. But you don’t have to do anything wrong in order to end up with bad code. Often, bad code is simply the result of entropy. The blade metaphor makes it clear that dullness is normal and unavoidable.
If you like this, you can read the whole article.
Do you have other metaphors for technical debt? Reply and let me know.
format: full_html processed: |I'm not a professional Ruby or Rails Developer, but I am a professional test-driven Developer.
I like to see how others do TDD and have been watching videos of Jason Swett's online meetups where he works on his Saturn CI project.
A few times he's mentioned using dull and sharp blades as an alternative metaphor for technical debt.
He's also written an article about it.
Here's an excerpt:
I prefer to think of a software system as a collection of blades.
A dull blade is never preferable to a sharp one. Sometimes it may be better to just cut with the dull blade instead of taking the time to sharpen the blade before cutting, but it’s clear that that’s a compromise. No one would talk about “strategic dull blades” the way they talk about strategic technical debt.
Unlike debt which you can simply choose not to take on, blades unavoidably get dull with use. Having technical debt makes it sound like you did something wrong. But you don’t have to do anything wrong in order to end up with bad code. Often, bad code is simply the result of entropy. The blade metaphor makes it clear that dullness is normal and unavoidable.
If you like this, you can read the whole article.
Do you have other metaphors for technical debt? Reply and let me know.
summary: null field_daily_email_cta: { }