Agile Manifesto
Individuals and interactions over processes and toolsWorking software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Examples of agile software development methods
1. Extreme programming
Extreme Programming (XP) has evolved from the problems caused by the long development cycles of traditional development models. It is composed with five phases (Exploration, Planning, Release, Productionizing, Maintenance, and Death). This method is famous for short iterations (even may be couple of iterations per day) pair programming and often interaction with the customer.Reference:
http://www.extremeprogramming.org/rules.html
Agile software development methods Review and analysis by Pekka Abrahamsson, Outi Salo & Jussi Ronkainen Viri Electronics Juhani Warsta - University of Oulu
2. Scrum
Getting lot of terminology form rugby, this concentrates on putting out a release. The Scrum development process concentrates on organization sprints. Prior to each sprint begins, the group plans the sprint, identifying the backlog items and assigning sets of programmers to these items. Teams develop, wrap, review, and adjust each of the backlog items. Scrum talks about roles like scrum master, product owner, scrum team, customer, management.Reference:
http://www.mountaingoatsoftware.com/topics/scrum
http://scrummethodology.com/
An Introduction to Agile Software Development - Serena
3. Feature Driven Development (FFD)
Each of before methods had some difficulties with large project, as a solution FFD comes in. while just as applicable for small teams, Jeff designed FDD from the ground up to work for a larger team. Composed with five steps they are Develop an overall model, Build a features list, Plan by feature, Design by feature, Build by feature.Reference:
http://agile.dzone.com/articles/introduction-feature-driven
http://infolific.com/technology/methodologies/feature-driven-development/
http://en.wikipedia.org/wiki/Feature_Driven_Development
How They sync with Agile Manifesto
Here will explain it using 3rd, and 4th points in agile manifesto.
Customer collaboration over contract negotiation
|
Responding to change over following a plan
|
|
Extreme Programming
|
We know that
there is lot of iterations in the extreme programming. After each of this iteration,
there is a small release. This is in order to get the customer feedback.
Otherwise, there is no use of doing it in such a small chunks.
|
Keeping ever
release small and having stand up meetings allow changes to occur. Avoids lot
of up front design and over design.
|
Scrum
|
In scrum, we have a project owner
role, which is selected by scrum master, customer and management. He has the
responsibility of taking final decisions. So there we can see the customer
collaboration.
|
Project owner can edit and re-prioritize
product backlog at anytime. If there is a change sprint can be terminated or
system can be tweaked midway of a sprint.
|
Future Driven Development
|
Regular
builds ensure there is always an up to date system that can be demonstrated
to the client and helps highlighting integration errors of source code for
the features early.
|
Regular
builds helps highlighting integration errors of source code for the features
early, and it means it allow changes. Developing by Feature makes it easier to deliver correct
functions and to extend or modify the system.
|
No comments:
Post a Comment