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 self-
organizing, 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 over


contract negotiation

Responding to change over


following a plan
while there is value in the items on the right, we value the items on the
left more.
12 Principles of Agile
Manifesto
Customer satisfaction
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
Modularity
Method
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
Incremental
Method
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