It's all based on assumptions isn't it? I think it's much simpler than that. When a developer thinks he would like to make something work in a specific way, he won't tell upfront what it will do to a large crowd, as he doesn't know if it will work out properly. Once it does work then he can tell what it does, because then he knows for sure.
It would be really unprofessionally to keep on telling things you will be implementing and then turn out to be impossible to do that way. Not only that but he will loose all credibility.