Abstract
Agile development is a relatively new trend within software development. There exist several agile methods that all are funded on a common set of principles and practices such as active customer engagement in the development process, avoidance of extensive planning in advance, iterative development and continuous testing. Some of the more known and used methods are Extreme Programming, SCRUM and DSDM. These methods may represent a radical change in development philosophy as opposed to traditional approaches such as waterfall-like processes and other plan-based methods. These ideas are met with both enthusiasm and skepticism. The enthusiasts embrace the ideas as they directly address some of the toughest problems of software development. On the other side, the skeptics question the applicability of these principles in a real world context. The solution probably lies in between. .