There are several ways of outlining the methodology used for scientific inquiry but it generally consists of the following basic steps:
1) Observe, collect data and ask critical questions
2) Formulate hypothetical explanations to answer tose critical questions
3) Make predictions from the hypotheses, i.e. develop a theory
4) Experiments (tests) of all of the above
In practice this method works as follows: given a theory of some phenomenon in the world we test it with experiments checking if the responses of the world correspond to the predictions of the current theory. Discrepancies give rise to an iterative cycle of theory refinement as new hypotheses are formulated and new experiments are performed.
With TDD , frequent micro-iterations are used to develop software:
1) Choose an area of the software design to work on.
2) A concrete example, as an executable test to drive the development, is designed, written and shown to fail
3) The code is extended to pass the test (while continuing to pass all other existing tests)
4) The code and tests are refactored to eliminate redundancy
Where I have made an effort to provide an analogy between the "four steps" of the scientific method and the "four steps" in TDD.
Note that tests in TDD take the role of experiments, while design takes the role of theory. Experimental reproducibility is managed through continued use of automated tests to ensure that the theory has not been broken. The program theory is driven through experimentation with tests. The theory is refined to fit the tests, with refactoring to ensure suitable generality.
It would seem that at first glance that the scientific method fits TDD rather well and, perhaps, there is value in using the scientific method as a methaphor to understand some aspects of TDD.
 K. Beck. Test Driven Development: By Example. Addison Wesley, 2002.
 R. Mugridge, Test Driven Development and the Scientific Method, procs. XP2003, Genova, Italy, 2003