You are on page 1of 20

AGILE SOFTWARE

TECHNICAL SEMINAR
PRESENTED BY P.TULASI

08J11A1238

INTRODUCTION
Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life cycle of the project. Most agile teams are located in a single open office sometimes referred to as a bullpen.

CHARACTERISTICS
MODULARITY

Iterative
TIME-BOUND

Incremental
CONVERGENT

People-oriented
COLLABORATIVE

COMPARISON WITH OTHER METHODS


Adaptive methods focus on adapting quickly to changing realities. When the needs of a project change, an adaptive team changes as well. Predictive methods, in contrast, focus on planning the future in detail.

COMPARISON WITH OTHER METHODS


Formal methods, in contrast to adaptive and predictive methods, focus on computer science theory with a wide array of types of proves. Formal methods are dependent on a tool-driven approach and can be combined with other development approaches

EXTREME PROGRAMMING (XP)


Most prominent Agile Software development method Prescribes a set of daily stakeholder practices Extreme levels of practicing leads to more responsive software. Changes are more realistic, natural, inescapable.

EXTREME PROGRAMMING (XP)


Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology (others: Scrum,) Developed in reaction to high ceremony methodologies

XP: WHY?
Previously:
Get all the requirements before starting design Resist changes: they will lengthen schedule Build a change control process to ensure that proposed changes are looked at carefully and no change is made without intense scrutiny Deliver a product that is obsolete on release

XP Practices

*
Determine what to do next

*Need is to steer the project *Exact prediction (which is difficult)


is not necessary

*
*XP Release Planning

*XP Iteration Planning

* Customer presents required features * Programmers estimate difficulty * Imprecise but revised regularly * Two week iterations * Customer presents features required * Programmers break features down into tasks * Team members sign up for tasks * Running software at end of each iteration

XP PRACTICES: WHOLE TEAM

All contributors to an XP project are one team Must include a business representative--the Customer
Provides requirements

Sets priorities
Steers project

Team members are programmers, testers, analysts, coach, manager Best XP teams have no specialists

XP PRACTICES: TEST-DRIVEN DEVELOPMENT


Teams practice TDD by working in short cycles of adding a test, and then making it work Easy to produce code with 100 percent test coverage These programmer tests or unit tests are all collected together Each time a pair releases code to the repository, every test must run correctly

Communication and coordination between project members should be enabled at all times. For example, scattering of programmers on two floors or even on one floor is intolerable for XP

XP Criticism
Detailed specifications are not written

Constant refactoring
Customer availability 12 practices are too interdependent

SCRUM
The Scrum approach has been developed for managing the systems development process. Scrum concentrates on how the team members should function in order to produce the system flexibly in a constantly changing environment

SUITABILITY OF AGILE METHODS


AGILE HOME GROUND

Senior developers Requirements change very often Small number of developers PLAN-DRIVEN HOME GROUND
Junior developers
Requirements don't change too often

Large number of developers

CONCLUSION
Studies have shown that traditional plandriven software development methodologies are not used in practice. The conclusion was that this is the case when software development is Incremental , Cooperative ,Straight forward (the method itself is easy to learn and to modify, well documented), and Adaptive (able to make last moment changes)

You might also like