One of the challenges with the way people have implemented agile is that they believe in the concept of eventual architecture. Basically they skip the necessary steps of architecting for functional requirements by writing it off as waterfall. So many teams implement the concept of "Sprint Zero" where the product owner gives his/her vision of what the future state of the product might look like. This gives the architects the ability to build in architecture user stories into the backlog and into sprints. Unfortunately, there are "architects" who love buzzwords and tinkering with what is hot. No matter what the product does, they want to implement the latest greatest technologies at all costs. The end result is usually an over engineered, complex, expensive and hard to maintain product. But hey, looks good on the LinkedIn profile!