Planning or iteration: Some developers favor detailed upfront planning to avoid messy rewrites, while others prefer iterating and improving mechanics through testing. Modular design power: Splitting ...