+ All Categories
Home > Documents > Agile Software Development - Wikipedia, The Free Encyclopedia

Agile Software Development - Wikipedia, The Free Encyclopedia

Date post: 09-Apr-2018
Category:
Upload: hany-el-noaman
View: 222 times
Download: 0 times
Share this document with a friend
11
 Agile software development - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Agile_softw are_development[12/22/2010 2:00:31 AM] Agile software development Please read: An urge nt appea l from Wikipedia founder  Jimm y W ales Softw are development process Activities and steps Requirements ·  Specification Architecture ·  Design Implementation ·  Testing Deployment ·  Maintenance Methodologies Agile ·  Cleanroom ·  Iterative RAD ·  RUP ·  Spiral Waterfall ·  XP ·  Lean Scrum ·  V-Model ·  TDD Supporting disciplines Configuration management Documentation Quality assurance (SQA) Project management User experience design Tools Compiler ·  Debugger ·  Profiler GUI designer ·  IDE v d  e From Wikipedia, the free encyclopedia This article may be written from a fan' s point of view , rather than a neutral point of  view . Please clean it up to conform to a higher standard of quality, and to make it neutral in tone. (August 2010) This article may require cleanup  to m eet Wi kipedia' s quality st andar ds . Please improve this article if you can. The talk page may contain suggestions. (August 2010) Agile softw are devel opment is a group of software development methodologies based on iterative and incremental development , where requirements and solutions evolve through collaboration between self-organizing, cross- functional teams. The Agile Manifesto [ 1] introduced the term in 2001. Contents  [ hide] 1 History 1.1 Predecessors 1.2 Agile Manifesto 2 Characteristics 3 Comparison with other methods 3.1 Other iterative development methods 3.2 Cowboy coding 4 Agile methods 4.1 Method tailoring 5 Measuring agility Read Edit View history Log in / create account Article Discussion Interaction Toolbox Print/export Languages Main page Contents Featured content Current events Random article Donate to Wikipedia Help About Wikipedia Community portal Recent changes Contact Wikipedia Български Català Dansk Deutsch Español Français 한국어 Italiano עבריתLatviešu Lietuvių Nederlands 日本語 Polski Português Română Русский Slovenščina Српски / Srpski Srpskohrvatski / Српскохрватски Suomi Svenska Search
Transcript
Page 1: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 1/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

Agile software development

Please r ead:An urgent appeal

f romWik ipedia founder  

J imm y Wales

Sof tw are deve lopmentprocess

Act iv i t ies and s teps

Requirements · Specification

Architecture ·  Design

Implementation ·  Testing

Deployment ·  Maintenance

Methodologies

Agi le ·  Cleanroom ·  Iterative

RAD · RUP · Spiral

Waterfall ·  XP  ·  Lean

Scrum · V-Model ·  TDD

Suppor t ing d isc ip l ines

Configuration management

Documentation

Quality assurance (SQA)

Project management

User experience design

Tools

Compiler ·  Debugger · Profiler

GUI designer ·  IDE

v • d 

From Wikipedia, the free encyclopedia

This article m ay be w r i t t enf r om a fan 's po in t o f v iew ,

ra ther than a neut ra l po int o f  

v iew . Please clean it up to

conform to a higher standard of

quality, and to make it neutral in

tone. (August 2010)

This article may requ ire

c leanup to m eet Wik iped ia 's

qua l i t y s t andards. Please

improve this article if you can. Thetalk page may contain suggestions.

(August 2010)

Agi le so f tw are deve lopment is a group of software

development methodologies based on iterative and

incremental development, where requirements and solutions

evolve through collaboration between self-organizing, cross-

functional teams. The Agile Manifesto [1] introduced the term

in 2001.

Contents  [hide]

1 History

1.1 Predecessors

1.2 Agile Manifesto

2 Characteristics

3 Comparison with other methods

3.1 Other iterative development methods

3.2 Cowboy coding

4 Agile methods

4.1 Method tailoring

5 Measuring agility

Read Edit View history

Log in / create acc

Article Discussion

Interaction

Toolbox

Print/export

Languages

Main page

Contents

Featured content

Current events

Random article

Donate to Wikipedia

Help

About Wikipedia

Community portalRecent changes

Contact Wikipedia

Български

Català

Dansk

DeutschEspañol

Français

한국어

Italiano

עברית

Latviešu

Lietuvių

Nederlands

日本語

Polski

Português

Română

Русский

Slovenščina

Српски / Srpski

Srpskohrvatski / Српскохрватски

Suomi

Svenska

Search

Page 2: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 2/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

[e

[e

[e

6 Experience and reception

6.1 Suitability

6.2 Experience reports

7 See also

8 References

9 Further reading

10 External links

History

Predecessors

Incremental software development methods have been traced back to

1957.[2 ] In 1974, a paper by E. A. Edmonds introduced an adaptive

software development process.[3]

So-called "lightweight" software development methods evolved in the mid-

1990s as a reaction against "heavyweight" methods, which were

characterized by their critics as a heavily regulated, regimented,

micromanaged, waterfall model of development. Proponents of lightweight

methods (and now "agile" methods) contend that they are a return to

development practices from early in the history of software development. [2]

Early implementation of lightweight methods include Scrum (1995), Crystal

Clear, Extreme Programming (1996), Adaptive Software Development,

Feature Driven Development, and Dynamic Systems Development Method

(DSDM) (1995). These are now typically referred to as agile methodologies,

after the Agile Manifesto published in 2001.[4 ]

Agi le Man i fes to

In February 2001, 17 software developers [5 ] met at a ski resort in Snowbird, Utah, to discuss

lightweight development methods. They published the "Manifesto for Agile Software Development"

to define the approach now known as agile software development. Some of the manifesto's author

formed the Agile Alliance, a non-profit organization that promotes software development according

the manifesto's principles.

Agile Manifesto reads, in its entirety, as follows:[1]

We are uncovering better ways of developing software by doing it and helping others do

it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left

more.

Twelve principles underlie the Agile Manifesto, including:[6 ]

Customer satisfaction by rapid delivery of useful software

Welcome changing requirements, even late in

development.

Working software is delivered frequently (weeks rather than

Jeff Sutherland, one

of the developers of

the Scrum agile

software developmen

process

Türkçe

Українська

Tiếng Việt

中文

Page 3: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 3/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

[e

months)

Working software is the principal measure of progress

Sustainable development, able to maintain a constant pace

Close, daily cooperation between businesspeople anddevelopers

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

In 2005, a group headed by Alistair Cockburn and Jim Highsmith wrote an addendum of project

management principles, the Declaration of Interdependence,[7 ] to guide software project managem

according to agile development methods.

Characteristics

There are many specific agile development methods. Most

promote development, teamwork, collaboration, and process

adaptability throughout the life-cycle of the project.

Agile methods break tasks into small increments with minimal

planning, and do not directly involve long-term planning.Iterations are short time frames (timeboxes) that typically last

from one to four weeks. Each iteration involves a team working

through a full software development cycle including planning,

requirements analysis, design, coding, unit testing, and

acceptance testing when a working product is demonstrated to

stakeholders. This minimizes overall risk and allows the

project to adapt to changes quickly. Stakeholders produce documentation as required. An iteration

may not add enough functionality to warrant a market release, but the goal is to have an available

release (with minimal bugs) at the end of each iteration.[8 ] Multiple iterations may be required to

release a product or new features.

Team composition in an agile project is usually cross- functional and self-organizing without

consideration for any existing corporate hierarchy or the corporate roles of team members. Team

members normally take responsibility for tasks that deliver the functionality an iteration requires. T

decide individually how to meet an iteration's requirements.

Agile methods emphasize face-to-face communication over written documents when the team is a

the same location. Most agile teams work in a single open office (called a bullpen), which facilitate

such communication. Team size is typically small (5-9 people) to simplify team communication and

team collaboration. Larger development efforts may be delivered by multiple teams working toward

common goal or on different parts of an effort. This may require a coordination of priorities across

Agile software development poster

Pair programming, an XP

development technique used by agile

Page 4: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 4/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

[e

teams. When a team works in different locations, they maintain daily contact through

videoconferencing, voice, e-mail, etc.

No matter what development disciplines are required, each agile team will contain a customer

representative. This person is appointed by stakeholders to act on their behalf and makes a perso

commitment to being available for developers to answer mid-iteration problem-domain questions. A

the end of each iteration, stakeholders and the customer representative review progress and re-

evaluate priorities with a view to optimizing the return on investment (ROI) and ensuring alignment

with customer needs and company goals.

Most agile implementations use a routine and formal daily face-to-face communication among team

members. This specifically includes the customer representative and any interested stakeholders a

observers. In a brief session, team members report to each other what they did the previous day,

what they intend to do today, and what their roadblocks are. This face-to-face communication

exposes problems as they arise.

Agile development emphasizes working software as the primary measure of progress. This, combin

with the preference for face-to-face communication, produces less written documentation than oth

methods. The agile method encourages stakeholders to prioritize wants with other iteration outcom

based exclusively on business value perceived at the beginning of the iteration.

Specific tools and techniques such as continuous integration, automated or xUnit test, pair

programming, test driven development, design patterns, domain-driven design, code refactoring another techniques are often used to improve quality and enhance project agility.

Comparison with other methods

This section needs addi t ional c i ta t ions for  ver i f i ca t ion.

Please help improve this article by adding reliable references. Unsourced

material may be challenged and removed. (August 2010)

Agile methods are sometimes characterized as being at the opposite end of the spectrum from "pla

driven" or "disciplined" methods. This distinction may be misleading, as agile methods are not

necessarily "unplanned" or "undisciplined". Agile teams may employ highly disciplined formalmethods. A more accurate distinction is that methods exist on a continuum from "adaptive" to

"predictive".[9 ] Agile methods lie on the "adaptive" side of this continuum.

Adaptive methods focus on adapting quickly to changing realities. When the needs of a project

change, an adaptive team changes as well. An adaptive team will have difficulty describing exactly

what will happen in the future. The further away a date is, the more vague an adaptive method wi

be about what will happen on that date. An adaptive team can not report exactly what tasks are be

done next week, but only which features are planned for next month. When asked about a release

months from now, an adaptive team may only be able to report the mission statement for the relea

or a statement of expected value vs. cost.

Predictive methods, in contrast, focus on planning the future in detail. A predictive team can reportexactly what features and tasks are planned for the entire length of the development process.

Predictive teams have difficulty changing direction. The plan is typically optimized for the original

destination and changing direction can require completed work to be started over. Predictive teams

will often institute a change control board to ensure that only the most valuable changes are

considered.

Formal methods, in contrast to adaptive and predictive methods, focus on computer science theory

with a wide array of types of provers. A formal method attempts to prove the absence of errors wit

some level of determinism. Some formal methods are based on model checking and provide count

examples for code that cannot be proven. Generally, mathematical models (often supported throug

Page 5: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 5/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

[e

[e

[e

[e

special languages see SPIN model checker) map to assertions about requirements. Formal metho

are dependent on a tool driven approach, and may be combined with other development approach

Some provers do not easily scale. Like agile methods, manifestos relevant to high integrity software

have been proposed in Crosstalk .

Agile methods have much in common with the "Rapid Application Development" techniques from th

1980/90s as espoused by James Martin and others.

Other i t e ra t ive deve lopment met hods

This section does not c i t e  any re fe rences or sources .

Please help improve this article by adding citations to reliable sources.

Unsourced material may be challenged and removed. (August 2010)

Most agile methods share other iterative and incremental development methods' emphasis on

building releasable software in short time periods. Agile development differs from other developme

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 timebox.

Cow boy cod ing

This section does not c i t e  any re fe rences or sources .

Please help improve this article by adding citations to reliable sources.

Unsourced material may be challenged and removed. (August 2010)

Cowboy coding is a (usually derogatory) term for software development without a defined or

structured method: team members do whatever they feel is right.[citation needed ] The Agile approach

sometimes confused with cowboy coding due to its frequent re-evaluation of plans, emphasis on

face-to-face communication, and relatively sparse use of documentation. However, Agile teams ma

follow clearly defined, even rigid processes and controls (e.g., deadlines for completion of

coding/testing); it is likely the flexibility and adaptability of the overall methodology which causes th

confusion. The degradation of such controls or procedures can lead to activities that are often

categorized as cowboy coding.[citation needed ]

Agile methods

Well-known agile software development methods include:

Agile Modeling

Agile Unified Process (AUP)

Dynamic Systems Development Method (DSDM)

Essential Unified Process (EssUP)

Extreme Programming (XP)

Feature Driven Development (FDD)Open Unified Process (OpenUP)

Scrum

Velocity tracking

Method t a i lo r ing

In the literature, different terms refer to the notion of method adaptation, including ‘method tailoring

‘method fragment adaptation’ and ‘situational method engineering’. Method tailoring is defined as:

A process or capability in which human agents through responsive changes in, and

Page 6: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 6/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

[e

[e

dynamic interplays between contexts, intentions, and method fragments determine a

system development approach for a specific project situation. [10]

Potentially, almost all agile methods are suitable for method tailoring. Even the DSDM method is

being used for this purpose and has been successfully tailored in a CMM context.[11] Situation-

appropriateness can be considered as a distinguishing characteristic between agile methods and

traditional software development methods, with the latter being relatively much more rigid and

prescriptive. The practical implication is that agile methods allow project teams to adapt working

practices according to the needs of individual projects. Practices are concrete activities and produc

that are part of a method framework. At a more extreme level, the philosophy behind the method,

consisting of a number of principles, could be adapted (Aydin, 2004).[10]

Extreme Programming (XP) makes the need for method adaptation explicit. One of the fundament

ideas of XP is that no one process fits every project, but rather that practices should be tailored to

the needs of individual projects. Partial adoption of XP practices, as suggested by Beck, has been

reported on several occasions.[12] A tailoring practice is proposed by Mehdi Mirakhorli which

provides sufficient roadmap and guideline for adapting all the practices. RDP Practice is designed

customizing XP. This practice, first proposed as a long research paper in the APSO workshop at t

ICSE 2008 conference, is currently the only proposed and applicable method for customizing XP.

Although it is specifically a solution for XP, this practice has the capability of extending to other

methodologies. At first glance, this practice seems to be in the category of static method adaptatiobut experiences with RDP Practice says that it can be treated like dynamic method adaptation. Th

distinction between static method adaptation and dynamic method adaptation is subtle.[13] The ke

assumption behind static method adaptation is that the project context is given at the start of a

project and remains fixed during project execution. The result is a static definition of the project

context. Given such a definition, route maps can be used in order to determine which structured

method fragments should be used for that particular project, based on predefined sets of criteria.

Dynamic method adaptation, in contrast, assumes that projects are situated in an emergent contex

An emergent context implies that a project has to deal with emergent factors that affect relevant

conditions but are not predictable. This also means that a project context is not fixed, but changin

during project execution. In such a case prescriptive route maps are not appropriate. The practical

implication of dynamic method adaptation is that project managers often have to modify structured

fragments or even innovate new fragments, during the execution of a project (Aydin et al., 2005). [1

Measuring agility

While agility can be seen as a means to an end, a number of approaches have been proposed to

quantify agility. Agility Index Measurements (AIM) [14] score projects against a number of agility

factors to achieve a total. The similarly-named Agility Measurement Index, [15] scores development

against five dimensions of a software project (duration, risk, novelty, effort, and interaction). Other

techniques are based on measurable goals.[16] Another study using fuzzy mathematics[17] has

suggested that project velocity can be used as a metric of agility. There are agile self assessments

determine whether a team is using agile practices (Nokia test, [18] Karlskrona test,[19] 42 points

test[20]).

While such approaches have been proposed to measure agility, the practical application of such

metrics has yet to be seen.

Experience and reception

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

Agile methods was a survey conducted by Shine Technologies from November 2002 to January

2003.[21] A similar survey conducted in 2006 by Scott Ambler, the Practice Leader for Agile

Page 7: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 7/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

[e

[e

Development with IBM Rational's Methods Group reported similar benefits. [22] In a survey conduc

by VersionOne in 2008, 55% of respondents answered that Agile methods had been successful in

90-100% of cases.[23] Others claim that agile development methods are still too young to require

extensive academic proof of their success.[24]

Sui tab i l i ty

Large-scale agile software development remains an active research area.[25][26]

Agile development has been widely documented (see Experience Reports, below, as well as Beck

pg. 157, and Boehm and Turner [28]) as working well for small (<10 developers) co-located teams.

Some things that can negatively impact the success of an agile project are:

Large-scale development efforts (>20 developers), though scaling strategies [29][dead link ] and

evidence to the contrary[30] have been described.

Distributed development efforts (non-co-located teams). Strategies have been described in

Bridging the Distance [31][dead link ] and Using an Agile Software Process with Offshore 

Development [32]

Forcing an agile process on a development team [33]

Mission-critical systems where failure is not an option at any cost (software for surgical

procedures).Several successful large-scale agile projects have been documented.[where? ] BT has had several

hundred developers situated in the UK, Ireland and India working collaboratively on projects and

using Agile methods.[citation needed ]

Barry Boehm and Richard Turner suggest that risk analysis be used to choose between adaptive

("agile") and predictive ("plan-driven") methods.[28] The authors suggest that each side of the

continuum has its own home ground as follows:

Agile home ground: [28]

Low criticality

Senior developers

Requirements change often

Small number of developers

Culture that thrives on chaos

Plan-driven home ground:[28]

High criticality

Junior developers

Requirements do not change often

Large number of developers

Culture that demands order

Formal methods:

Extreme criticality

Senior developers

Limited requirements, limited features see Wirth's law

Requirements that can be modeled

Extreme quality

Exper ience repor t s

Agile development has been the subject of several conferences. Some of these conferences have

Page 8: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 8/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

[e

[e

had academic backing and included peer-reviewed papers, including a peer-reviewed experience

report track. The experience reports share industry experiences with agile software development.

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

XP (2000,[34] 2001, 2002, 2003, 2004, 2005, 2006,[35] 2010 (proceedings published by IEEE)

[36] )

XP Universe (2001[37])[dead link ]

XP/Agile Universe (2002,[38][dead link ] 2003,[39][dead link ] 2004[40])[dead link ]

Agile Development Conference[41] (2003,2004,2007,2008) (peer-reviewed; proceedings publish

by IEEE)

See also

Agile web development

Code refactoring

Collaborative software development model

Continuous integration

Extreme Programming (XP)

Scrum (development)

Lean software development

Lean Startup

List of software development philosophies

Multi-stage continuous integration

Systems Development Life Cycle

Software Engineering

Software Craftsmanship

References

1. ^ a  b  c  Beck, Kent; et al. (2001).

"Manifesto for Agile Software

Development" . Agile Alliance. Retrieved

2010-06-14.

2. ^ a  b  Gerald M. Weinberg, as quoted in

Larman, Craig; Basili, Victor R. (June

2003). "Iterative and Incremental

Development: A Brief History". Computer 

36 (6): 47–56.

doi:10.1109/MC.2003.1204375 .

ISSN 0018-9162 . "We were doing

incremental development as early as1957, in Los Angeles, under the direction

of Bernie Dimsdale [at IBM's

ServiceBureau Corporation]. He was a

colleague of John von Neumann, so

perhaps he learned it there, or assumed it

as totally natural. I do remember Herb

Jacobs (primarily, though we all

participated) developing a large simulation

for Motorola, where the technique used

06.

17. ^ Kurian, Tisni (2006). "Agility Metrics:

Quantitative Fuzzy Based Approach for

Measuring Agility of a Software Process

ISAM-Proceedings of International 

Conference on Agile 

Manufacturing'06(ICAM-2006) , Norfolk,

U.S.

18. ^  Joe Little (2007-12-02). "Nokia test, A

Scrum specific test" .

Agileconsortium.blogspot.com. Retrieve

2010-06-06.19. ^  Mark Seuffert, Piratson Technologies

Sweden. "Karlskrona test, A generic ag

adoption test" . Piratson.se. Retrieved

2010-06-06.

20. ^  "How agile are you, A Scrum specific

test" . Agile-software-development.com

Retrieved 2010-06-06.

21. ^  "Agile Methodologies Survey Results"

(PDF). Shine Technologies . 2003.

Page 9: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 9/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

was, as far as I can tell .... All of us, as far

as I can remember, thought waterfalling of

a huge project was rather stupid, or at

least ignorant of the realities. I think what

the waterfall description did for us was

make us realize that we were doing

something else, something unnamed

except for 'software development.'".

3. ^ Edmonds, E. A. (1974). "A Process for

the Development of Software for Non-

Technical Users as an Adaptive System".

General Systems  19 : 215–18.

4. ^ Larman, Craig (2004). Agile and 

Iterative Development: A Manager's 

Guide . Addison-Wesley. p. 27.

ISBN 9780131111554

5. ^  Kent Beck, Mike Beedle, Arie van

Bennekum, Alistair Cockburn, Ward

Cunningham, Martin Fowler, James

Grenning, Jim Highsmith, Andrew Hunt,Ron Jeffries, Jon Kern, Brian Marick,

Robert C. Martin, Stephen J. Mellor, Ken

Schwaber, Jeff Sutherland, and Dave

Thomas

6. ^ Beck, Kent; et al. (2001). "Principles

behind the Agile Manifesto" . Agile

Alliance. Retrieved 2010-06-06.

7. ^  Anderson, David (2005). "Declaration of

Interdependence" .

8. ^ Beck, Kent (1999). "Embracing Change

with Extreme Programming". Computer  32

(10): 70–77. doi:10.1109/2.796139 .

9. ^  Boehm, B.; R. Turner (2004). Balancing 

Agility and Discipline: A Guide for the 

Perplexed . Boston, MA: Addison-Wesley.

ISBN 0-321-18612-5. Appendix A, pages

165-194

10. ^ a  b  Aydin, M.N., Harmsen, F., Slooten,

K. v., & Stagwee, R. A. (2004). An Agile

Information Systems Development Method

in use. Turk J Elec Engin, 12(2), 127-13811. ^ Abrahamsson, P., Warsta, J., Siponen,

M.T., & Ronkainen, J. (2003). New

Directions on Agile Methods: A

Comparative Analysis. Proceedings of 

ICSE'03 , 244-254

12. ^ Abrahamsson, P., Salo, O., Ronkainen,

J., & Warsta, J. (2002). Agile Software

Development Methods: Review and

Analysis. VTT Publications 478 a b 

Retrieved 2010-06-03. "95% [stated] th

there was either no effect or a cost

reduction . . . 93% stated that productiv

was better or significantly better . . . 88

stated that quality was better or

significantly better . . . 83% stated that

business satisfaction was better or

significantly better"

22. ^  Ambler, Scott (August 3, 2006). "SurvSays: Agile Works in Practice" . Dr.

Dobb's . Retrieved 2010-06-03. "Only 6

percent indicated that their productivity

was lowered . . . No change in product

was reported by 34 percent of

respondents and 60 percent reported

increased productivity. . . . 66 percent

[responded] that the quality is higher. .

58 percent of organizations report

improved satisfaction, whereas only 3

percent report reduced satisfaction."23. ^  "The State of Agile Development"

(PDF). VersionOne, Inc.. 2008. Retrieve

2010-07-03. "Agile delivers"

24. ^  "Answering the "Where is the Proof

That Agile Methods Work" Question" .

Agilemodeling.com. 2007-01-19. Retrie

2010-04-02.

25. ^  Agile Processes Workshop II Managin

Multiple Concurrent Agile Projects.

Washington: OOPSLA 2002

26. ^  "Supersize Me" in Dr. Dobb's Journal

February 15, 2006.

27. ^  Beck, K. (1999). Extreme Programmi

Explained: Embrace Change . Boston, M

Addison-Wesley. ISBN 0-321-27865-8.

28. ^ a  b  c  d  Boehm, B.; R. Turner (2004).

Balancing Agility and Discipline: A Guid

for the Perplexed . Boston, MA: Addison

Wesley. pp. 55–57. ISBN 0-321-18612

29. ^  "Supersize Me" . Sdmagazine.com.

Retrieved 2010-06-06.30. ^  Schaaf, R.J. (2007). "Agility XL",

Systems and Software Technology

Conference 2007 , Tampa, FL

31. ^  "Bridging the Distance" .

Sdmagazine.com. Retrieved 2010-06-0

32. ^  Martin Fowler. "Using an Agile Softwa

Process with Offshore Development" .

Martinfowler.com. Retrieved 2010-06-06

33. ^  [The Art of Agile Development James

Page 10: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 10/11

e software development - Wikipedia, the free encyclopedia

//en.wikipedia.org/wiki/Agile_software_development[12/22/2010 2:00:31 AM]

[e

[e

[hidev • d • e

L i s t en t o t h i s a r t i c l e (info/dl)

This audio file was created from a

revision of Agile software developme

dated 2010-12-08, and does not refl

subsequent edits to the article. (Audi

help)

More spoken ar t i c les

13. ^ Aydin, M.N., Harmsen, F., Slooten

van K., & Stegwee, R.A. (2005). On the

Adaptation of An Agile Information(Suren)

Systems Development Method. Journal of 

Database Management Special issue on 

Agile Analysis, Design, and 

Implementation, 16(4), 20-24

14. ^  "David Bock's Weblog : Weblog" .

Jroller.com. Retrieved 2010-04-02.

15. ^  "Agility measurement index" .

Doi.acm.org. Retrieved 2010-04-02.

16. ^ Peter Lappo; Henry C.T. Andrew.

"Assessing Agility" . Retrieved 2010-06-

Shore & Shane Warden pg 47]

34. ^  2000

35. ^  "2006" . Virtual.vtt.fi. Retrieved 2010

06-06.

36. ^  "2010" . Xp2010.org. Retrieved 201

06-06.

37. ^  2001

38. ^  2002

39. ^  200340. ^  2004

41. ^  "Agile Development Conference" .

Agile200x.org. Retrieved 2010-06-06.

Further reading

Fowler, Martin. Is Design Dead?  . Appeared in Extreme Programming Explained , G. Succi an

M. Marchesi, ed., Addison-Wesley, Boston. 2001.

Riehle, Dirk. A Comparison of the Value Systems of Adaptive Software Development and Extre

Programming: How Methodologies May Learn From Each Other  . Appeared in Extreme 

Programming Explained , G. Succi and M. Marchesi, ed., Addison-Wesley, Boston. 2001.

M. Stephens, D. Rosenberg. Extreme Programming Refactored: The Case Against XP . Apress

L.P., Berkeley, California. 2003. ( ISBN 1-59059-096-1)

Larman, Craig and Basili, Victor R. Iterative and Incremental Development: A Brief History IEEE

Computer, June 2003

Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile Software Development

Methods: Review and Analysis. VTT Publications 478 .

Cohen, D., Lindvall, M., & Costa, P. (2004). An introduction to agile methods. In Advances in 

Computers (pp. 1–66). New York: Elsevier Science.

Rother, Mike (2009). Toyota Kata  . McGraw-Hill. ISBN 0071635238

External links

Manifesto for Agile Software Development

The Agile Alliance

The Agile Executive

Article Two Ways to Build a Pyramid by John Mayo-

Smith

The New Methodology Martin Fowler's description of

the background to agile methods

Agile Journal - Largest online community focused

specifically on agile development

Agile at the Open Directory Project

Agile Cookbook

Sof tw are Engineer ing

FieldsRequirements analysis • Systems analysis • Software design • Computer programming •

Formal methods • Software testing • Software deployment • Software maintenance

Concepts

Data modeling • Enterprise architecture • Functional specification • Modeling language •

Programming paradigm • Software • Software architecture • Software development methodolog

• Software development process • Software quality • Software quality assurance •

Page 11: Agile Software Development - Wikipedia, The Free Encyclopedia

8/8/2019 Agile Software Development - Wikipedia, The Free Encyclopedia

http://slidepdf.com/reader/full/agile-software-development-wikipedia-the-free-encyclopedia 11/11

e software development - Wikipedia, the free encyclopedia

Privacy policy About Wikipedia Disclaimers

This page was last modified on 20 December 2010 at 10:10.

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms

Use for details.

Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Contact us

Software archaeology • Structured analysis

Orie nt at io ns Ag ile • Aspect-oriented • Object orientation • Ontology • Service orientation • SDLC

Models

Development models

Agi le • Iterative model • RUP • Scrum • Spiral model •

Waterfall model • XP • V-Model • Incremental model •

Prototype model

Other models

Automotive SPICE • CMMI • Data model • Function model •

Information model • Metamodeling • Object model • Systems mo

• View model

Model ing languages IDEF • UML

Sof tware

engineers

Kent Beck • Grady Booch • Fred Brooks • Barry Boehm • Ward Cunningham • Ole-Johan Dah

Tom DeMarco • Martin Fowler • C. A. R. Hoare • Watts Humphrey • Michael A. Jackson •

Ivar Jacobson • Craig Larman • James Martin • Bertrand Meyer • David Parnas •

Winston W. Royce • Colette Rolland • James Rumbaugh • Niklaus Wirth • Edward Yourdon •

Victor Basili

Related f ie lds

Computer science • Computer engineering • Enterprise engineering • History • Management •

Mathematics • Project management • Quality management • Software ergonomics •

Systems engineering

Categories: Software development process | Software project management | Software developmephilosophies | Agile software development


Recommended