Agile software development is a collaborative and iterative process through which software development teams deliver ‘chunks’ of customized software at a time. These chunks of software can be tested and modified to meet changing business needs during the development cycle. Agile software development requires adaptive planning and design, continuous implementation and advancements, and rapid response to external market conditions.