Somehow, some people have gotten the idea that design is somehow inimical to Agile. That's not true. It's always helpful to think about things before you do them. The question is not whether or not you should think in advance, it's how far in advance should the thinking occur. Hours? Days? Months? The problem with shorter periods is that you may get something wrong and have to redo it. Nonetheless, the most Agile shops tend to design in short (a few hours max) bursts literally just before imp...