logoalt Hacker News

skydhashyesterday at 7:57 PM1 replyview on HN

> And I gave you several examples where people can say that the failure of doing the task according to the requirement of TODAY will only appear later. That's your problem: you see "3 weeks" and you conclude "so it is not today's subject".

Which does not correspond to the stated premise of the article that it’s not a requirement for TODAY. It’s a requirement for 3 WEEKS LATER.

Chet says that B is for 3 weeks later, the author agrees that B is indeed for 3 weeks later. The conflict is that Chet prefers B (correctness) and the author prefers A (simplicity and swiftness, and for the next 3 weeks, correctness).

It’s only YOU that is saying that B could’ve mattered for today or A is incorrect. Nowhere is the article that is stated. You even disagree with Chet (who has asserted the timeframe and has said nothing about A being not useful now.)

And the author has even said (which I quoted in my previous comment) that YAGNI is not about the things you needed for today. If B was part of the requirement for today, there would have been no article.

It’s about what you need today vs what you need in a distant future.

In all your examples, you are bringing things that matters TODAY and try to twist it like someone wrongly asserted them for 3 WEEKS LATER. While the whole time the author and Chet is agreeing that it’s for 3 WEEKS LATER and not TODAY.

Where did you even come up with the understanding that B is for TODAY?


Replies

cauchyesterday at 9:15 PM

> Where did you even come up with the understanding that B is for TODAY?

For the hundredth time, I very well know that the author wanted to create a scenario where Chet is asking for a feature needed in 3 weeks (and that is exactly my point, the fact that he has chosen a poor quote shows that he does not realise that he jumps to conclusions).

But the quote, in the article, is "I could do this simplistic thing now but in 3 weeks that will be insufficient so since we’re going to need this more complicated thing I want to do it now", and it is supposed to represent a scenario. The author tells us what he would do if he is presented with this sentence. Nothing more.

This quote is compatible with a situation where Chet is talking about a problem in today's requirement.

For example: "I could do this simplistic thing now (installing the wrong wheel) but in 3 weeks that will be insufficient (when we will install the engine) so since we’re going to need this more complicated thing (installing the correct wheel) I want to do it now."

I perfectly know that the author want to describe a situation where Chet is refering to something corresponding to a future problem.

What I am saying is that the author choice of quote shows that he thinks, incorrectly, that if someone is saying that quote, it proves that this person is refering to something corresponding to a future problem. This is not true. It does not matter that in the author's head, in this scenario, Chet has a red t-shirt, funny glasses, and happened to talk about a future feature. What matters is that the author does not know that if someone says "3 weeks", it does not imply that this person is talking about a future feature problem.

Let's take another example (I know it's useless, but let's try). Let's imagine the following article "It is really important to correctly addressing male people by "mr" and female people by "miss". Let's take a scenario, someone that I don't know sent me a message and sign "Alex", so, it is very important that I say "Hello sir"."

In this article, it is pretty obvious that the author, in his head, think that Alex is a man. But if you read that, you should say "Hey, no, Alex can also be a female first name". That is important, because it shows that the author was overlooking that unisex first name exists and need special care.

But if someone reacts this way, apparently, you will say "it is obvious that the author meant that Alex is a man, how did you even come up with the idea that Alex is a woman". Do you realise how much this question totally misses the point? Nobody is saying that the author thinks that Alex is a woman, or that it is not obvious that the author thinks that Alex is man. Yes, of course we know that. The point is to highlight that the author failed to notice something important for the subject he is talking about.

So, my point is not that "B is for TODAY", my point is that, if you are in this situation, B may be for today, or may not be for today. Sure, in his head, the author imagine that B is not for today. But it is important to remind that this is a mistake: if you are confronted to this exact quote, don't conclude that B is not for today.

And my point is that a lot of people who are pushing for YAGNI makes this mistake: they apply YAGNI even if the proposal is for today's requirement.

> Chet says that B is for 3 weeks later, the author agrees that B is indeed for 3 weeks later. The conflict is that Chet prefers B (correctness) and the author prefers A (simplicity and swiftness, and for the next 3 weeks, correctness).

Chet does not say that B is for 3 weeks later. Chet says the famous quote. You and the author imagine this scenario with Chet wanting to mean that. The same way the other author is imagining Alex being man. But the exact quote of Chet does not say that. It does not say that B is for 3 weeks later, and I can prove it: "I could do this simplistic thing now (installing the wrong wheel) but in 3 weeks that will be insufficient (when we will install the engine) so since we’re going to need this more complicated thing (installing the correct wheel) I want to do it now", in this quote, that out-loud part is EXACTLY THE SAME, and yet, the wrong wheel is a failure of today's task, of today's requirement. I know it is not what the author had in mind, the same way I know the other author has a man in mind when he was thinking of a person named Alex. But it is still true that this quote is insufficient to know if Chet is talking about today's problem or 3-week-away's problem. And it is important to raise this mistake, because it is an important thing to understand if you want to not apply YAGNI stupidly.