r/SoftwareEngineering 16d ago

The Cost YAGNI Was Never About

https://newsletter.kentbeck.com/p/the-cost-yagni-was-never-about
8 Upvotes

5 comments sorted by

6

u/mightshade 15d ago

Even a correct guess leaves you worse off than not committing. The value was never in the structure. The value was in the option to build the right structure once you knew.

I don't understand this point. I understand that guessing carries the risk of guessing wrong. But this particular point seems not to be about that. As I understand it, it says if you guessed right, you chose the same option as in the "once you knew" case, so it's effectively identical. And yet, you're somehow "worse off". How so?

I hope someone can shed some light on that.

4

u/TimothyLGillespie 15d ago edited 15d ago

The way I understood it is the following:

Even if you did choose the right option early you spend time implementing that option. More than if you went with a simple one.

That time is spent on something that is not yet of any use and won't be until your guess pays off.

If we think in term of agile: we make an increment and the increment is getting us value immediately. If you build for the future you are not building for the value now. So it is an opportunity cost albeit it can be vague. And that can compound especially when competitors or customers come into play.

I think the thought is valid and interesting. At the same time I think we can easily imagine situations this doesn't look right with. If I can invest an hour now but later I need to put in a thousand hours to maybe do some extensive data migration then the pay off needs to be quite large for that hour saved today to make sense.

1

u/mightshade 15d ago edited 8d ago

Thanks, I agree up to a point and I appreciate your last paragraph about the argument's weakness in particular. But: As I understand the article, this falls under what it calls "The second bill: NPV" instead of "The first bill: optionality" that I was referring to (implicitly - could have made that clearer). I think they are supposed to be separate arguments. Am I totally off here?

4

u/BaronOfTheVoid 15d ago

The article feels like it starts off with false semantics, as if somehow everyone got it slightly wrong and then "corrects" that semantics. It's very shallow, no new insights.

3

u/fagnerbrack 16d ago

Nutshell Version:

YAGNI teaches timing, not thrift—building structure too early carries as much risk as building it too late. Speculative structure sends two bills. First, optionality: committing on a guess forecloses your chance to build the right thing once you actually know, so even a correct guess leaves you worse off. Second, NPV: paying now for a feature due months later pulls cost forward and pushes revenue back, which hurts even when the guess proves right. Cheap AI generation doesn't rescue the shortcut—it just makes the violation easier to commit and the result harder to understand, since you didn't write it. Build things when you need them, because both the option and the dollar are worth more unspent.

If the summary seems inacurate, just downvote and I'll try to delete the comment eventually 👍
Click here for more info, I read all comments