• I think I'd agree with the last comment. Agile doesn't mean somehow losing control or making changes that are not well thought through and tested. I used to work on an app where we used a lot of Agile techniques (though didn't call it Agile) in the early 2001 timeframe. We handled SQL changes in line with the .NET changes and managed to maintain a lot of stability in our application.

    Agile doesn't mean ad hoc, it means frequent changes in response to needs. Things can still be very well engineered.