Agile Software Development
Software Development Methodologies
❖ A software development methodology is a set of rules, practices and processes that are
used to create a software system.
Software Development Lifecycle Examples
➢ Requirements: Emphasis on planning, scheduling, tight control over every stage using
extensive documentation and formal reviews.
Each cycle consists of the identification of stockholders, their win conditions, review and
commitment. Agile Methodologies
❖ Agile methodologies attempt to compromise between little or no process and emphasis
on process (heavyweight software development).
❖ Agile methods are adaptive rather than predictive.
❖ Agile methods are people-oriented rather than process oriented.
Principles of Manifesto
❖ Individuals and interactions over processes and tools.
❖ Working software over comprehensive documentation.
❖ Customer collaboration over contract negotiation.
❖ Responding to change over following a plan.
❖ Customer satisfaction by rapid delivery of useful software.
❖ Welcome changing requirements, even late in development.
❖ Working software is delivered frequently (weeks rather than months)
❖ Working program is the principle measure of progress.
❖ Sustainable developments, able to maintain a constant pace.
❖ Close, daily co-operation between business people and developers.
❖ Face-to-face conversation is the best form of communication (co-location).
❖ Projects are built around motivated individuals, who should be trusted.
❖ Continuous attention to technical excellence and good design.
❖ Self-organizing teams.
❖ Regular adaptation to changing circumstances.
One of the first agile methodologies, Extreme programming(EX) is a software development
process that is organized aro