Hello all, I am starting my graduate thesis and the subject will be "agile architectures"
Basically, it will start with a description of traditional software development methologies, and the subsequent birth of agile methodologies, finishing with recommendations and a design of a flexible application architecture easily adaptable to the inherent changes in software construction.
My question is, what patterns and design practices would you recommend for such an architecture? I'm interested in patterns that allow for maximization of class decoupling like dependency injection, high maintanability, and maximum abstraction from the specific problem.