Sam Gentile has an absolutely awesome post on the importance of the role of the Software Architect even in Agile based development. As Chief Software Architect here at Mimeo, this obviously touches close to home. We’ve adopted Agile, but I still make sure that we budget time for architecture tasks for each iteration. As Sam points out, architecture isn’t alwyas about Big Design Up Front. He also points out that some types of generic architecture tasks transcend projects and, thus, iterations (such as logging, exception handling, etc.). So what I do there is make sure we budget time for these specific tasks into each iteration that involves changes that might need those tasks fulfilled. It’s like the bug fixing window where you always make sure to set aside a relative block of time for fixing bugs because you know you’re going to need it… same thing should go for architecture.