This presentation was created for the SATURN conference series and does not necessarily reflect the positions and views of the Software Engineering Institute.
On the surface, software architecture and Agile methods seem to be contradicting forces. On one hand, a perfect architecture is possible only if all requirements were known a priori. And on the other hand, Agile methods emphasize and embrace change. But this contradiction is just a theoretical one because the concept of a perfect architecture is just a theoretical concept. Or, as the Greek philosopher Heraclitus once said, "nothing is permanent except change." For example, requirements specification, technologies, and business goals typically keep changing. An architecture should be flexible enough to adapt to these changes but nonetheless provide a stable baseline. Is such Agile architecture possible, and if so, how can we succeed? This keynote offers one approach to answer this question.
Michael Stal is a principal engineer at Siemens Corporate Research and Technologies, where his research focuses primarily on software architecture and middleware. An experienced speaker and author, Stal coauthored the Pattern-Oriented Software Architecture book series and has been recognized by Microsoft as most valuable professional (MVP)/solution architect.