Software architecture requires balance. Often, you can focus too much on it, creating robust products that miss customer needs or over-engineer solutions. Conversely, especially in Agile contexts, you can under-engineer things and your product efforts can succumb to relentless refactoring rework. So there’s a balance to strike in architecture, no matter what methodology you use to create your software. In Agile contexts, that balance is often lost. And it usually leans to less over more. In this Advisor, I describe a rule that has helped me successfully strike the right balance between Agile and architecture: chaos is constant, so continuously refactor.