You are on page 1of 9

2.

2 Software Process Models

Agile
Methodology

Agile Methodology

Emphasis on flexibility in producing software


quickly and capably

is a group of software development


methods based on iterative and incremental
development, where requirements and solutions
evolve through collaboration between selforganizing, cross-functional teams.

Agile Software
Process

Benefits of Agile
Methodology
1. Delivers highest business values early
on in the project
2. Promotes customer satisfaction
3. Provides customer driven approach
4. Focuses on speed of delivery
5. Provides openness and visibility to
customers
6. Removes impediments in a prioritized
and systematic manner
7. Improves employee retention by
empowering employees and by promoting
self-management, team communication,
learning, and value-building

Agile Manifesto
Individuals and interactions over
processes and tools
Working
software
over
comprehensive documentation
Customer
collaboration
contract negotiation

over

Responding to
following a plan

over

change

while there is value in the items on the right, we value the items on the
left more.

12 Principles of Agile
Customer satisfaction
Manifesto
Welcome changing requirements
Working software is delivered frequently
Working software is the principal measure of progress
Sustainable development
Close
Face-to-face conversation is the best form of communication
Projects are built around motivated individuals
Continuous attention to technical excellence and good design
Simplicity
Self-organizing teams
Regular adaptation to changing circumstances

Characteristics of Agile
Method
Modularity

Modularity is a key element of any good process. Modularity allows a process to b


broken into components called activities.

Iterative
Short cycle is repeated many times to refine the deliverables.

Time Bound
Setting time limits in every Iteration and scheduling them accordingly.

Parsimony
require a minimal number of activities necessary to mitigate risks and achieve
their goals.

Adaptive

During an iteration, new risks may be exposed which require some activities that
were not planned.

Characteristics of Agile
Method
Incremental
Cont.

An agile process does not try to build the entire system at once. Instead, it partiti
the nontrivial system into increments which may be developed in parallel, at different
times, and at different rates..

Convergent

Convergence states that we are actively attacking all of the risks worth attacking

People Oriented
Agile processes favor people over process and technology.

Collaborative
Agile processes foster communication among team members.

Examples of Agile Process


oExtreme Programming(XP)
Is a software development methodology which is intended to improve software quality and
responsiveness to changing customer requirements.
As a type of agile software development, it advocates frequent releases in short
development cycles (time boxing), which is intended to improve productivity and introduced
checkpoints where new customer requirements can be adopted.

oScrum Development
is an iterative and incremental agile software development method for managing software
projects and product or application development.

oCrystal Clear
can be applied to teams of up to 6 or 8 co-located developers working on systems that are
not life-critical. The Crystal family of methodologies focus on efficiency and habitability as
components of project safety.
Crystal Clear focuses on people, not processes or artifacts.

You might also like