Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,13 @@
# Git Practice
A simple project to practice a few git/github workflows. Replace the contents of this file with the contents indicated in the [instructions](./instructions.md).
# Technical Debt and the Cost of Changing Software

**Article:** [Technical Debt](https://martinfowler.com/bliki/TechnicalDebt.html) by Martin Fowler

## What I Find Interesting

What I find interesting about this article is that code quality affects how quickly a team can deliver future changes, even when the software already works. Fowler describes the extra effort caused by confusing code as interest on technical debt. That makes the tradeoff between shipping a feature and cleaning up its implementation easier to understand. A shortcut might save time today, but if every later change requires working around it, the team keeps paying for that decision. I think this is a useful way to discuss maintainability because it connects code structure to the actual work needed to develop a project.

I also like the idea of improving code gradually in the areas that change most often. An awkward module that rarely changes may be less urgent than one that slows down every new feature. For a team project, this suggests making small, focused improvements as part of regular development instead of waiting for a complete rewrite. I would want those improvements to be easy for teammates to review, with clear commits and pull requests explaining why the changes help.

## Comment from Krishiv Seth

The interest metaphor is the part of Fowler's article I keep coming back to. Debt on a file that changes every week costs a lot. Debt on a file nobody has opened since 2019 costs close to nothing, so cleaning that file up is wasted work even though the code is ugly. That gives a team a real answer to the question "should we refactor this?" Ask whether the mess slows down the change you are about to make this sprint. If the answer is no, leave the mess alone. In a team project I would put that reasoning in the pull request itself, with one line naming which upcoming feature the cleanup makes easier.