agile software devlopment

23
SUBMITTED BY  SAJJAN KUMAR BARLA  REGD.NO.0821227050 GROUP-B  Agile software development

Upload: sajjan-kumar-barla

Post on 08-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 1/23

S U B M I T T E D B Y  

S A J J A N K U M A R B A R L A  

R E G D . N O . 0 8 2 1 2 2 7 0 5 0

G R O U P - B

 Agile softwaredevelopment

Page 2: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 2/23

Introduction

y  Agility is dynamic, context-specific, aggressively 

change-embracing and growth oriented.

Page 3: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 3/23

Definition

y Agile software development is a group of software development methodologies based oniterative and incremental development, where

requirements and solutions evolve throughcollaboration between self-organizing, cross-functional teams.

Page 4: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 4/23

Self-organization is the process where a structureor pattern appears in a system without a centralauthority or external element imposing it through

planning. A cross-functional team is a group of people with

different functional expertise working toward acommon goal.

Page 5: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 5/23

Page 6: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 6/23

Predecessors

y Incremental software development methods have been traced back to 1957.

y In 1974, a paper by E. A. Edmonds introduced an

adaptive software development process.y So-called lightweight software development

methods evolved in the mid-1990s as a reactionagainst heavyweight methods.

Page 7: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 7/23

lightweight methodology 

y  A lightweight methodology is a software developmentmethodology which has only a few rules and practices or ones which are easy to follow. In contrast, a complex methodology  with many rules is considered a "heavyweight methodology".

Some examples of lightweight methodologies are:y  Adaptive Software Development by Jim Highsmith (1995)

y Crystal Clear (1996).

y Extreme Programming (XP)(1996) .

y FeatureDrivenDevelopment (FDD) (1995)

y ICONIX .

These are now typically referred to as agile methodologies, afterthe Agile Manifesto published in 2001.

Page 8: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 8/23

Page 9: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 9/23

 Agile Manifesto

y  Agile Manifesto reads, in its entirety, as follows«

y  We are uncovering better ways of developing software by doing it and helping others do it. Through this work we

have come to value:y Individuals and interactions over processes and tools

 Working software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

Page 10: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 10/23

 Agile Manifesto

Twelve principles underlie the Agile Manifesto, including:

y Customer satisfaction by rapid delivery of useful software

y  Welcome changing requirements, even late in development

y  Working software is delivered frequently (weeks rather than months)

y

 Working software is the principal measure of progress.y Sustainable development, able to maintain a constant pace

y Close, daily co-operation between business people and developers

y Face-to-face conversation is the best form of communication (co-location)

y Projects are built around motivated individuals, who should be trustedy Continuous attention to technical excellence and good design

y Simplicity 

y Self-organizing teams

y Regular adaptation to changing circumstances

Page 11: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 11/23

Characteristics

y There are many specific agile development methods. Most promotedevelopment, teamwork, collaboration, and process adaptability throughout the life-cycle of the project.

y  Agile methods break tasks into small increments with minimal

planning, and do not directly involve long-term planning. Iterationsare short time frames (time boxes) that typically last from one to four weeks.

y Team composition in an agile project is usually cross-functional andself-organizing without consideration for any existing corporate

hierarchy or the corporate roles of team members.y Team size is typically small (5-9 people) to simplify team comm

Page 12: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 12/23

Comparison with other methods

y  Agile methods lie on the adaptive side of this continuum. Adaptivemethods focus on adapting quickly to changing realities. When theneeds of a project change, an adaptive team changes as well. Anadaptive team cannot report exactly what tasks are being done next week, but only which features are planned for next month. When

asked about a release six months from now, an adaptive team may only be able to report the mission statement for the release, or astatement of expected value vs. cost.

y Predictive methods, in contrast, focus on planning the future indetail. A predictive team can report exactly what features and tasks

are planned for the entire length of the development process.Predictive teams have difficulty changing direction. The plan istypically optimized for the original destination and changingdirection can require completed work to be started over.

Page 13: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 13/23

Risk analysis

gile home ground:

y Low criticality 

y Senior developers

y Requirementschange often

y Small number of developers

y Culture thatthrives on chaos

 P lan-driven homeground:

y High criticality 

y Junior developers

y Requirements donot change often

y Large number of developers

y Culture thatdemands order

 F ormal methods:

y Extreme criticality 

y Senior developers

y Limitedrequirements,limited features ( Wirth's law )

y Requirements thatcan be modeled.

y Extreme quality.

Page 14: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 14/23

 Agile methods

 Well-known agile software development methods include:

y  Agile Modeling

y  Agile Unified Process (AUP)

y D ynamic Systems

Development Method (

DSD

M)y Essential Unified Process (EssUP)

y Extreme Programming (XP)

y Feature Driven Development (FDD)

y

Open Unified Process (OpenUP)y Scrum

y  Velocity tracking

Page 15: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 15/23

Extreme Programming

y Extreme Programming (XP) makes the need formethod adaptation explicit. One of the fundamentalideas of XP is that no one process fits every project,

 but rather that practices should be tailored to theneeds of individual projects.

Page 16: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 16/23

Scrum

y Scrum is an iterative, incremental framework for projectmanagement often seen in agile software development, a typeof software engineering.

y  Although the Scrum approach was originally suggested for

managing product development projects, its use has focusedon the management of software development projects, and itcan be used to run software maintenance teams or as ageneral project/program management approach.

Page 17: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 17/23

Measuring agility 

y  While agility can be seen as a means to an end, a number of approaches have been proposed to quantify agility. Agility Index  M easurements (AIM) score projects against a numberof agility factors to achieve a total. The similarly-named Agility  M easurement Index , scores developments against five

dimensions of a software project (duration, risk, novelty,effort, and interaction). Other techniques are based onmeasurable goals.Another study using fuzzy mathematicshassuggested that project velocity can be used as a metric of agility. There are agile self assessments to determine whethera team is using agile practices (Nokia test, Karlskrona test, 42

points test).y  While such approaches have been proposed to measure

agility, the practical application of such metrics has yet to beseen.

Page 18: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 18/23

Experience and reception

y One of the early studies reporting gains in quality,productivity, and business satisfaction by using Agile methods

 was a survey conducted by different organizations as follows..

Organization Year of survey Benefit

Shine Technology Nov 2002-Jan 2003 Yes

Scott Ambler 2006 Yes

IBM Rational¶s MethodGroup

-do- Yes

 VersionOne 2008 55%(respondant) 90-100%(cases)

Others Too young to requireExtensive Academic proof of their success.

Page 19: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 19/23

Suitability 

y  Agile development has been widely documented as working well for small (<10 developers) co-located teams.

Some things that may negatively impact the success of an agileproject are:

yLarge-scale development efforts (>20 developers), throughscaling strategies and evidence of some large projects have

 been described.

y Distributed development efforts (non-colocated teams).Strategies have been described in  Bridging the Distance and

Using an Agile Software  P rocess with Offshore Development y Forcing an agile process on a development team.

y Mission-critical systems where failure is not an option at any cost (e.g. software for surgical procedures).

Page 20: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 20/23

Experience reports

 As of 2006, experience reports have been or will bepresented at the following conferences:

y XP (2000,2001, 2002, 2003, 2004, 2005, 2006, 2010

(proceedings published by IEEE))y XP Universe (2001)

y XP/Agile Universe (2002, 2003, 2004)

y  Agile Development Conference(2003,2004,2007,2008)

(peer-reviewed; proceedings published by IEEE)

Page 21: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 21/23

Reference

y  www.wikipedia.org

y  www.snip.gob.ni/xdc/Agile/

y Software engineering by Rajib mall.

Page 22: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 22/23

Conclusion

y Agile software development stresses rapiditerations, small and frequent releases, andevolving requirements facilitated by direct user

involvement process.y Large-scale agile software development remains an

active research area.

Page 23: Agile Software devlopment

8/6/2019 Agile Software devlopment

http://slidepdf.com/reader/full/agile-software-devlopment 23/23