Post on 09-Apr-2018
transcript
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
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
中文
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
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
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
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
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
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.
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
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 •
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