Just curious to understand where do people prefer spend most of their time. Do you prefer a near perfect architecture before moving on to code, or do you start code with a bare-bones design. Do you write tests as you code or do you write tests after the code it done.