One of my favorite aphorisms about software development:
software development is not a product-producing activity, it is a knowledge-acquiring activity
… writes Phillip G. Armour in “The Five Orders of Ignorance“. The paper itself is unbelievably wise, so I’ll report on what I made out of it later.
We need to understand the task so well that we can teach even a computer to do it. (sounds too good to be mine, but I can’t think of the source right now)
So, if you ever wonder about my saying “in order to build that product, we need to learn more about X”, this is the core thought.