Each ProgrammerTest in your TestSuite is an experiment describing facts which the theory of your implementation must take into account. The scientific process (or "method" or whatever) consists of: * observe * document * experiment * publish * reproduce * model * repeat The TestFirst we operate on the Great Implementation in the Sky takes centuries to reach the next version. But computers are designed to be implementation platforms. So we get a simpler cycle that takes only hours: * UserStory * CustomerTest * TestDrivenDevelopment * ContinuousIntegration * DailyBuild * RefactorMercilessly * FrequentReleases Those two cycles are perfectly parallel.