Which is better, an untested theory or not knowing?

Sometimes it seems that it is very hard to admit to not knowing something. It is as if having a convincing tale to tell about something is more important than actually being correct.

Explanations are listened to

Unfortunately this is true even when the explanations are based on pure guesswork, and potentially have no grounding in reality.

Nobody quotes the people who do not know

Most media are interested in the quick soundbite that explains an event, they are not interested in anyone who says that the causes are complex, interrelated and not amenable to a quick fix.

Maybe the best methodology is None of the Above

Most of the methodologies I have seen appear to be just guesses about what might work, but they are presented as it they are the one true solution to all our software development problems. Some methodologies allow for experimentation and as such are partially admitting that they do not know for sure, but it is a rare event for practitioners of any methodology to admit that maybe alternate approaches may be more suitable for a project.

While not advocating a roll your own methodology approach, I do advocate admitting that we do not know what really works for software development projects. Sure we know a few ways to Crash and burn projects, but that is not the same as knowing how to make a project succeed.