According to Scott W. Ambler, respected authority in the agile methods community, agile software development is an iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner with "just enough" ceremony that produces high quality software which meets the changing needs of its stakeholders. Agile methods refer to a collection of "ligthweight" software development methodologies that are basically aimed at minimising risk and achieving customer satisfaction through a short feedback loop.