Presentation is loading. Please wait.

Presentation is loading. Please wait.

AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes.

Similar presentations


Presentation on theme: "AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes."— Presentation transcript:

1 AGILE SOFTWARE DEVELOPMENT

2 Agile software development : Agile software development refers to a group of software development methodologies that promotes development iterations, open collaboration, and process adaptability throughout the life-cycle of the project. It chooses to do things in small increments, with minimal planning, rather than plan at length.

3 Introduction The catch line for Agile software development is Develop quickly, deliver often There are many agile development methods; most minimize risk by developing software in multiple repetitions (or 'iterations') of short time frames (known as 'timeboxes'). Software developed during one unit of time is referred to as an iteration, which typically lasts from two to four weeks. Each iteration passes through a full software development cycle

4 Agile methods emphasize face-to-face communication over written documents. Most agile teams are located in a single open office to facilitate such communication. One agile management framework, Scrum, advocates a team size of 5 to 9. Teams larger than 9 should be split into smaller teams to help make team communication and team collaboration easier.

5

6 Agile Manifesto Agile Manifesto is a statement of the principles that underpin agile software development It was drafted from 11 to 13 February 2001, at The Lodge at the Snowbird ski resort in the Wasatch Range of mountains in Utah, where representatives of various new methodologies such as Extreme Programming, Scrum etc.. met to discuss the need for lighter alternatives to the traditional heavyweight methodologies.

7 Principles behind agile methods Some of the principles behind the Agile Manifesto are: Customer satisfaction by rapid, continuous delivery of useful software Working software is delivered frequently (weeks rather than months) Working software is the principal measure of progress Even late changes in requirements are welcomed Close, daily cooperation 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 Simplicity Self-organizing teams Regular adaptation to changing circumstances

8 Comparison with other methods Agile methods are sometimes characterized as being at the opposite end of the spectrum from "plan-driven" or "disciplined" methods. Contrasted with other iterative development methods Most agile methods share other iterative and incremental development method. Agile development differs from other development models: in this model time periods are measured in weeks rather than months and work is performed in a highly collaborative manner. Most agile methods also differ by treating their time period as a strict timebox.

9

10 Heavy Weight Methodologies These are considered to be bureaucratic or “predictive” in nature. It is based on a sequential series of steps These are so laborious and development actually slows down.

11 Advantages of light weight methodologies They accommodate changes well Project teams are smaller Feedback is almost instantaneous Rely on working team environment

12 Contrasted with the waterfall model Agile development has little in common with the waterfall model. As of 2008, the waterfall model is still in common use. The waterfall model is the most predictive of the methods, stepping through requirements capture, analysis, design, coding, and testing in a strict, pre-planned sequence. The main problem with the waterfall model is the inflexible division of a project into separate stages Agile methods, in contrast, produce completely developed and tested features (but a very small subset of the whole) every few weeks

13 Contrasted with "cowboy coding" Cowboy coding is the absence of a defined method: team members do whatever they feel is right. Agile development's frequent re-evaluation of plans, emphasis on face-to-face communication, and relatively sparse use of documents sometimes causes people to confuse it with cowboy coding.

14 Agile methods Some of the well-known agile software development methods: Scrum Agile Modeling Agile Unified Process (AUP) Agile Data Method Test Driven Development (TDD) Feature Driven Development (FDD) Behavior Driven Development (BDD) Essential Unified Process(EssUP) Extreme programming (XP) DSDM Other approaches: Software Development Rhythms Agile Documentation Microsoft Solutions Framework (MSF) Database refactoring Lean software development

15

16


Download ppt "AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes."

Similar presentations


Ads by Google