Agile Software Development plays a quintessential
part in modern day software development. The term Agile
refers to frequent reassessment and adaptation of plans and
techniques and dividing tasks into shorter tasks for
efficiency. Agile Software Development differs considerably
from Traditional Software Development Methodology. Agile
methodology aims to deliver features of a software project in
small steps within a short duration of time (i.e., iterations).
Hence, it becomes necessary to use agile software
development methodology in todays’ fast-paced
revolutionizing software industry. This paper discusses the
important subtopics of Agile Software Development which
gathered by reviewing/surveying of research papers. First, is
the Agile Planning Life Cycle which consists of various stages
such as pre-planning, planning, release planning and product
backlog management. In the next section, principles such as
Scrum, Extreme Programming, Kanban and Lean are
discussed. The last section comprises the impact of Agile
principles on software quality.