1
563 - The Mandvi Education Society
Institute of Computer Studies – MCA
Subject Code : 3640003
Subject Name : Software Engineering
Prepared By: Dr. Vikas S. Chomal
2
Introduction
Agile software development is a group of software development
methods based on iterative and incremental development, where
requirements and solutions evolve through collaboration between
self-organizing, cross-functional teams.
It promotes adaptive planning, evolutionary development and
delivery, a time-boxed iterative approach, and encourages rapid
and flexible response to change. It is a conceptual framework that
promotes foreseen interactions throughout the development cycle.
Prepared By: Dr. Vikas S. Chomal
3
In contrast to traditional software development methods, agile
developers communicate continuously with business clients, aiming to
deliver working software as frequently as every two weeks during a
project, and welcome changes to the requirement in response to
evolving business needs.
Prepared By: Dr. Vikas S. Chomal
4
Small teams work together with stakeholders to define quick
prototypes, proof of concepts, or other visual means to describe the
problem to be solved. The team defines the requirements for the
iteration, develops the code, and defines and runs integrated test
scripts, and the users verify the results.
Verification occurs much earlier in the development process than it
would with waterfall, allowing stakeholders to fine-tune
requirements while they’re still relatively easy to change.
Prepared By: Dr. Vikas S. Chomal
Figure : Agile Process
5 Prepared By: Dr. Vikas S. Chomal
6
Software engineers and other project stakeholders (managers,
customers, and end users) work together on an agile team – a team
that is self organizing and in control of its own destiny. An agile
team fosters communication and collaboration among all who serve
on it.
Steps that agile software engineering includes are –
communication, planning, modelling, construction and deployment.
Both the customer and software engineer have the same view – the
only really important work product is an operational software
increment that is delivered to the customer on the appropriate
commitment date.
Prepared By: Dr. Vikas S. Chomal