There are tons of tutorials and materials on this subject and this will not be discussed in detail in this paper because it is not the main topic. However, to assist readers in understanding, some personal viewpoints will be addressed based on the book “The Practical Guide to Enterprise Architecture” . Agile has some interesting best practices such as short iterations, workable deliverables in each iteration, frequent feedback from users for each deliverable and “just barely good enough” documentation. They are also the differences compared to traditional methodologies.
Agile is not about creating lengthy documents and the finest system architecture. Everything is kept at “just barely good enough”. On the other hand; in a Waterfall approach, a rigid documentation system is required, the best system architecture will be produced after the requirement engineering phase. Developers then move on with the implementation and testing. It turns out to be a one-way process that going back stages is not feasible or too costly to be performed, if new requirements are discovered or the team has missed key features when collecting users’ inputs.
 James, et al., The Practical Guide to Enterprise Architecture, Prentice Hall PTR, USA, 2003, chapter 8.
 Sanjiv, A., Managing Agile Projects, Prentice Hall PTR, 2005, p.37.