Agile development and traditional architecture – an oxymoron?
The perception of paradox came out of contrasting approaches adopted by Agile software development and the waterfall model. While Agile software developments are heavily rooted in iterative development, traditional developments follow rigid sequential steps.
To comprehend the cause of this perception, it is imperative to define what we mean by software architecture and its purpose.
Architecture as a continuum
Architecture is often misunderstood and misused in the software industry. There are many architecture definitions referenced in the document What is Your Definition of Architecture, published by the Software Engineering Institute at Carnegie Mellon University.
The very first definition of architecture came from Fred Brooks, writing about computer architecture in his book, Planning a Computer System: Project Stretch 1962, inspired by structural engineering: