Lecture 6 - Agile Software Development
Lecture 6 - Agile Software Development
Muhammad Nasir
[email protected]
Agenda
Agile Software Development
The Manifesto for Agile Software Development
What is “Agility”?
Agility and the Cost of Change
An Agile Process
Agility Principles
Agile Software Development
In the modern economy, it is often difficult or impossible to predict
how a software system will evolve as time passes.
Market conditions change rapidly, end-user needs evolve, and new
competitive threats emerge without warning.
In many situations, you won’t be able to define requirements fully
before the project begins.
You must be agile enough to respond to a changing business
environment.
And change is expensive.
Particularly if it is uncontrolled or poorly managed.
One of the most compelling characteristics of the agile approach is
its ability to reduce the costs of change throughout the software
process.
The Manifesto for
Agile Software Development
“We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
• Individuals and interactions over processes and
tools
• Working software over comprehensive
documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on the right,
we value the items on the left more.”
Kent Beck et al, 2001
What is “Agility”?
Effective (rapid and adaptive) response to
change!
Effective communication among all stakeholders!