Exploration and Then Exploitation Development
Fleeting- see,
When you write code, you barely have a clear vision of what done means. And even if you have one, chances are you’ll realize it was actually not that realistic.
I believe we code by first exploring, trying things and writing dumb code, then consolidating (exploitation) once things become clear, writing tests that show what the system should do so as to (re-)write the code more appropriately.