we produce both: code and knowledge

Being a product owner recently I had a discussion with one of the key developers in my team: I reported back an issue (as a user story) and he claims that previously we had agreed on a different solution and now I am changing my mind, and these changes will take quite a big effort.

I understand his concerns, developers don't like to re-work. Who likes?
But my reply is that the time spent on this curve is not wasted, rather it is spent on producing the knowledge.

We produce both: code and knowledge, and this is what software is.

The waste is when no knowledge, no code or no other useful artifacts are produced, otherwise it is investment.