Definitions of Agile Software Development and Agility
Maarit Laanti1, Jouni Similä2, and Pekka Abrahamsson3
1
Nitor Delta, Finland
Maarit.Laanti@nitorcreations.com
2
University of Oulu, Finland
Jouni.Simila@oulu.fi
3
Free University of Bozen-Bolzano, Italy
Pekka.Abrahamsson@unibz.it
Abstract. The Agile Manifesto and Agile Principles are typically referred to as
the definitions of "agile" and "agility". However, many other definitions exist in
the literature. Thus the different definitions provide interesting source for research. For each definition we examine where their emphasis is and compare
that to the emphases found in the Agile Principles.
1
The Agile Manifesto as a Definition
Agile Software Development is most typically defined via the “Manifesto for Agile
Software Development” [1, 2]. The Agile Manifesto was formulated in 2001, when
Cockburn invited a group of respected software engineering professionals to ski and
to discuss topical issues in software engineering. Cockburn [2] defines Agile Methods as techniques that allow a team to track rapid changes in people, technology,
and business. He further explains that although the ideas of agile development are
based to some extent on the theory of constraints and Lean Thinking, the agile way of
working was born separately.
The Agile Manifesto is a document that is discussed and argued about a lot. The
argumentation is partially related to how the Agile Manifesto is understood (or not
understood) and whether people agree or do not agree about it. Partially because of
this, a non-profit organization called the Agile Alliance was formed in 2001 to promote the principles and values listed in the Agile Manifesto [4].
Because of the controversy some people have an urge to explain the manifesto and
even some agile experts such as Ambler [5], would like to make some changes or
updates to it. The Agile Manifesto has also been criticized; for example, Coplien has
stated that the Manifesto should talk about Usable software rather than Working software in order better to take the usability aspect into account.
There has also been critiques of the Agile Manifesto, stating that it is “too vague”
to be used as a basis for scientific work. It has been claimed that it lacks a proper
grounding in management theory and philosophy [3]. It has also been stated that even
though there are some methods that are called Agile Methods (such as Scrum and
Extreme Programming), these methods focus heavily on some of the Agile Principles,
but not evenly on all of those. As an alternative, Conboy and Fitzgerald [3] proposed
a conceptual framework of Agile Methods, explaining agility as flexibility which
F. McCaffery, R.V. O'Connor, and R. Messnarz (Eds.): EuroSPI 2013, CCIS 364, pp. 247–258, 2013.
© Springer-Verlag Berlin Heidelberg 2013
248
M. Laanti, J. Similä, and P. Abrahamsson
reflects the robust, proactive, reactive, and temporal dimensions: “the ability of an
entity to proactively, reactively, or inherently embrace change in a timely manner,
through its internal components and its relationships with its environment.”
The problem of the framework proposed by Conboy and Fitzgerald is that it covers
only one aspect of the Agile Manifesto, i.e., the ability to embrace change, while it
leaves the simplicity of processes, incremental deliveries, and the people aspect all
uncovered and unrecognized.
Conboy and Fitzgerald also compare Agile Software Development with Lean
Thinking and the Toyota Production System. Zaninotto was apparently the first one to
make this connection in a keynote talk at the XP2002 conference that discussed the
tie-ins between Agile Methods and Lean Manufacturing [6, 7]. However, we know
from the testimony of Cockburn [2] that the Agile Manifesto was born separately and
independently from Lean Thinking, Lean Manufacturing, and Agile Manufacturing,
although Cockburn admitted in his keynote speech at the ICAM 2005 conference that
some of the signatories of the Agile Manifesto may have known about these methods,
and that might have had an impact on why they decided to call the new paradigm
“Agile Software Development” and not “adaptive software development”, which was
a name suggested earlier by Highsmith [8].
2
What Is Emphasized in Different Agile Definitions
Table 1 contains an analysis of the Agile Principles and where the emphasis is put in
each principle. The first principle places an emphasis on: 1. customer satisfaction, 2.
continuous delivery, 3. value, and 4. early deliveries. The second principle places an
emphasis on 5. adaptability, 6. competitiveness, and customer benefit. Customer benefit (or the customer’s competitive advantage) is close to customer satisfaction, so
those two can be combined into 1. customer satisfaction/benefit. The third principle
places an emphasis on frequent deliveries. This is close to early deliveries, so these
two can be combined into 4. early/frequent deliveries. The fourth principle emphasizes 7. collaboration. The fifth principle places an emphasis on 8. motivated individuals, 9. good environment, 10. support, and 11. trust. The sixth principle places an
emphasis on 12. efficiency and 13. communication. The seventh principle is the only
one on metrics, and places an emphasis on 14. measure progress via deliverables. The
eighth principle emphasizes 15. sustainability and 16. people. The ninth principle
emphasizes 17. focus on technical excellence and 18. good design as an enabler of
agility. The tenth principle emphasizes 19. simplicity and 20. optimize work and the
eleventh 21. self-organization. The twelfth, and last, principle emphasizes 22. built-in
improvement of efficiency and behavior.
Given that the Agile Principles are widely agreed on as defining Agile Software
Development, it would be interesting to compare any other definitions of Agile Software Development and agility against the Agile Principles. The analysis of the emphasis of the Agile Principles is further used as a basis for such a systematic analysis
in this thesis.
Definitions of Agile Software Development and Agility
249
Table 1. Agile Principles and what they emphasize
Agile Principle
Emphasis
Our highest priority is to satisfy the customer through Customer satisfaction,
early and continuous delivery of valuable software.
Continuous
delivery,
value, early deliveries
Welcome changing requirements, even late in develop- Adaptability, competiment. Agile processes harness change for the customer's tiveness, customer benecompetitive advantage.
fit
Deliver working software frequently, from a couple of Frequent deliveries
weeks to a couple of months, with a preference for the
shorter timescale.
Business people and developers must work together daily Collaboration
throughout the project.
Build projects around motivated individuals. Give them Motivated individuals,
the environment and support they need, and trust them to good environment, supget the job done.
port, trust
The most efficient and effective method of conveying Efficiency, communicainformation to and within a development team is face-to- tion
face conversation.
Working software is the primary measure of progress.
Measure progress via
deliverables
Agile processes promote sustainable development. The Sustainability, people
sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good Focus on technical exdesign enhances agility.
cellence,
Simplicity – the art of maximizing the amount of work Simplicity,
optimize
not done –is essential.
work
The best architectures, requirements, and designs emerge Self-organization
from self-organizing teams.
At regular intervals, the team reflects on how to become Built-in improvement of
more effective, then tunes and adjusts its behavior accor- efficiency and behavior
dingly.
3
Tenth Anniversary of the Manifesto
In February 2011 30 leading agile thinkers convened to discuss the manifesto, Out of
the discussions came a consensus that the agile community should:
•
•
•
•
demand technical excellence
promote individual change and lead organizational change
oganize knowledge and promote education
maximize value creation across the entire process [9]
250
M. Laanti, J. Similä, and P. Abrahamsson
When this list of four items is compared with the emphasis of the twelve Agile Principles we can see that a lot of the original emphasis has been lost: there is no mention
of customer satisfaction or benefit, Competitiveness, motivated individuals, a good
environment, support, trust, communication, collaboration, sustainability, people,
simplicity, or self-organization. Other areas of emphasis are now seen as being even
more important, especially the demand for technical excellence.
It should be noted that while the promotion of individual change and leading organizational change is about people, these areas of emphasis are not seen in the same
way as was originally the case in the Agile Principles: the new area of emphasis focuses on the dynamics of the organization (i.e., change), whereas the Agile Principles
are “taking what is given”; building around motivated individuals. The former is a
view of someone developing the organization; the latter (in the Agile Principles) is of
a project manager’s or entrepreneur’s view on selecting the people to be on the team.
The viewpoint on Adaptability is different: where the Agile Principles focus on the
Adaptability of the Requirements, the view in promoting individual change and leading organizational change is on the adaptability of the organization. Thus it can be
seen that this meeting raised promotion of individual change and leading organizational change as a new area. Similarly, the organization of knowledge and promotion
of education can also be seen as a new area.
Continuous delivery, value, early or frequent deliveries, efficiency, measuring
progress via deliverables, and optimizing the work, as well as built-in improvement of
efficiency and behavior, can all be seen as being included in the maximization of
value creation across the entire process.
4
More Definitions
In 1990 the US Congress became concerned about American industrial capability not
matching its competitors, especially Japan. That is why a special technology advisory
board was set up to study how US industry should be developed. Agile Manufacturing, an Agile Competitive Environment, and the Agile Enterprise were proposed by
this group as answers to the question of how to raise competitiveness. [10] In 1994
some of the group members, namely Goldman, Naegel, and Preiss, published a book
called Agile Competitors and Virtual Organizations that was based on this work.
Goldman defines agility as: “a comprehensive response to the business challenges
of profiting from rapidly changing, continually fragmenting, global markets for highquality, high-performance, customer-configured goods and services. It is dynamic,
context-specific, aggressively change-embracing, and growth-oriented. It is not about
improving efficiency, cutting costs, or battening down the business hatches to ride out
fearsome competitive “storms”, it is about succeeding and about winning: about
succeeding in emerging competitive arenas, and about winning profits, market share,
and customers in the very center of the competitive storms many companies now
fear.” [11]
Definitions of Agile Software Development and Agility
251
Interestingly, Cockburn [12] describes this as “the best description he has found for
agility”. Kettunen [13] claims that there is no uniform definition of “Agile Software
Development” but provides a comprehensive list of different definitions of Agile
Software Development, in chronological order. A copy of that table is presented in
Table 2, but a third column is now added in this dissertation work. The third is an
analysis of each agile definition, explaining where the emphasis is in the corresponding definition.
Table 2. Definitions of agile software development [adapted from Kettunen 2009, third column
added]
Source
Cockburn 2001
Anderson 2003
Larman 2003
Schuh 2004
Lyytinen 2006
Subramaniam
2005
Ambler 2007
Definition of agile
Emphasis of the corresponding definition
Being effective and maneuverable. Effective,
steerable,
Use of light-but-sufficient rules of rule-based, people, comproject behavior and the use of hu- munication
man and communication-oriented
rules.
Ability to expedite.
Speed
Rapid and flexible response to Speed, flexibility, responchange.
siveness
Building software by empowering People,
empowerment,
and trusting people. Acknowledging change, feedback, value,
change as a norm, and promoting speed
constant feedback. Producing more
valuable functionality faster.
Discovery and adoption of multiple Delivery, innovations, restypes of Information Systems De- ponsiveness
velopment innovations through garnering and utilizing agile sensing
and response capabilities.
Uses feedback to make constant ad- Feedback,
adaptability,
justments in a highly collaborative collaboration
environment.
Iterative and incremental (evolutio- Iterative, incremental, selfnary) approach to software devel- organizing, less processcollaborative,
opment which is performed in a driven,
highly collaborative manner by self- cost-conscious, speed, cusorganizing teams with “just enough” tomer-driven
ceremony that produces high-quality
software in a cost-effective and
timely manner which meets the
changing needs of its stakeholders.
252
M. Laanti, J. Similä, and P. Abrahamsson
Table 2. (Continued)
Nerur and Bali- Define Agile software development
jepally 2007
via strategic thinking (of uncertainty), holographic organization theory,
“emergent metaphor of design” and
Agile Methods as people-centric,
competent people and their relationships, high customer satisfaction
through quick delivery of quality
software, active participation of
concerned stakeholders; creating and
leveraging change. Evolutionary
delivery through short iterative
cycles, intense collaboration, selforganizing teams and high degree of
developer discretion. Learning,
teamwork, self-organization and
personal empowerment. Responsiveness and flexibility. Interchangeability of roles and jobs based on
autonomy.
IEEE 2007
Capability to accommodate uncertain or changing needs up to a late
stage of the development (until the
start of the last iterative development cycle of the release).
Wikipedia 2007 Conceptual framework for software
engineering that promotes development iterations throughout the lifecycle of the project.
Strategic thinking, uncertainty, chaos theories, holographic
organization,
non-traditional, emergent
design,
people-centric,
competent people and their
relationships, high customer satisfaction, quick
delivery, active participation, creating and leveraging change, short iterative
cycles, intense collaboration, self-organizing teams,
developer
discretion,
learning, teamwork, selforganization,
personal
empowerment,
responsiveness,
flexibility,
heterarchy, role interchangeability and autonomy.
Iterative, responsive
Iterative,
framework
conceptual
Cockburn's [14] definition of Agile Software Development places the emphasis in
such a way that agile is defined as 1) effective, 2) steerable, 3) rule-based, 4) (about)
people, and 5) communication. Only the latter two are the same as can be found in the
Agile Principles; see Table 2.
Anderson [15] places the emphasis only on 1) speed. Besides speed, Larman [16]
also places the emphasis on 2) flexibility and 3) responsiveness. Schuh [17] also places the emphasis on 1) speed, but also on 2) people, 3) empowerment, 4) change, 5)
feedback, and 6) value.
Lyytinen [18] places the emphasis on 1) feedback, 2) adaptability, and 3) collaboration. Subramaniam [19] emphasizes 1) feedback, 2) adaptability, and 3) collaboration. Ambler [20] states that agile is 1) iterative, 2) incremental, 3) self-organizing, 4)
less process-driven, 5) collaborative, 6) cost-conscious, 7) (about) speed, and 8)
customer-driven.
Definitions of Agile Software Development and Agility
253
Nerur and Balijepally [21] state that the field of software development has progressed by leaps and bounds like also 1) strategic thinking facing 2) uncertainty and 3)
non-traditional, 4) emergent design as well as 5) chaos theories and 6) holographic organization theories have and define agile software development by defining Agile Methods as 7) people-centric, 8) competent people and their relationships, 9) high customer
satisfaction through quick delivery of quality software, 10) active participation of concerned stakeholders; 11) creating and leveraging change. Important features are evolutionary delivery through 12) short iterative cycles, 13) intense collaboration, 14) selforganizing teams and high degree of 15) developer discretion. Agile development’s
value depends largely on 16) learning, 17) teamwork, 18) self-organization and 19)
personal empowerment. 20) Responsiveness and 21) flexibility are achieved through
22) “heterarchy” characterized by self-organizing collaborating teams. Holistic teams
encourage 23) interchangeability of roles and jobs based on 24) autonomy.
IEEE [22] states that agile is 1) iterative and 2) responsive, whereas Wikipedia
2007 definition [23] stated that agile is 1) iterative and 2) a conceptual framework.
Those definitions that name only one or two points of emphasis can be considered
narrow. The other definitions partially cover the same points of emphasis as the Agile
Principles (see Table 2.1) but use slightly different terms or viewpoints on agility.
When Cockburn states that agile is about communication – which is also one point of
emphasis in the Agile Principles – Ambler states it is about collaboration. These kinds
of nuances might seem irrelevant, but they can cause confusion in a large organization
when Agile Methods are being used. In practice, people will come and ask what it is
that the organization is aiming to do – and is collaboration better than communication?
Obviously, the length of the definition is not the only measure of its goodness, although the longer the definition is, the more points that are emphasized it can cover.
When the Agile Principles are compared to Goldman’s definition, it can be seen that
there is no single point that is emphasized that can be stated as being the same. Instead
of customer satisfaction or benefit Goldman talks about “customer-configured goods
and services”. Even the contrary is true: while one aspect found in the Agile Principles
is “efficiency”, Goldman [11] states that being agile “is not about efficiency”.
Nerur’s and Balijepally’s [21] definition is broadest of all definitions. They examine
agile software development from the perspective of Agile Methods in general, and
compare the changes that have happened in software development to how other disciplines have changed. This kind of broad view puts Agile Methods into perspective and
thus is very useful read to practitioners; however this paper still lacks for very coincided
definition that would be of practical use. The definition have some common emphases
with Agile Principles however there is also emphases to points missing from other definitions – perhaps rooting to other disciplines than software development.
5
Agile Software Development on the Project Level
In order to understand how we can scale Agile Software Development and achieve
agility we can take a look at the further definitions that are available, especially from
sources that look into agility from a perspective that is wider than that of just one
team.
254
M. Laanti, J. Similä, and P. Abrahamsson
One of these attempts to define agility in a larger context took place in 2005, when
Cockburn gathered a group of project managers together to discuss agility within a
project context and from a project management viewpoint. This gathering resulted in
the Declaration of Interdependence (DOI), which links people, projects, and value
with agile and adaptive approaches. The Declaration of Interdependence states: [24]
We are a community of project leaders that are highly successful at delivering results. To achieve these results:
• We increase return on investment by making continuous flow of value our focus.
• We deliver reliable results by engaging customers in frequent interactions and
shared ownership.
• We expect uncertainty and manage for it through iterations, anticipation, and
adaptation.
• We unleash creativity and innovation by recognizing that individuals are the
ultimate source of value, and creating an environment where they can make a
difference.
• We boost performance through group accountability for results and shared responsibility for team effectiveness.
• We improve effectiveness and reliability through situationally specific strategies,
processes, and practices.
Analyzing the Declaration of Independence gives hints as to how the emphasis of
Agile Methods may change when the viewpoint is changed from a team perspective to
a project perspective. Table 3 contains an analysis of the DOI and states the emphasis
of each statement.
Table 3. Emphasis in agility definition in the Declaration of Interdependence
DOI statement
We increase return on investment by making continuous flow of value our focus.
We deliver reliable results by engaging customers in
frequent interactions and shared ownership.
We expect uncertainty and manage for it through iterations, anticipation, and adaptation.
We unleash creativity and innovation by recognizing
that individuals are the ultimate source of value, and
creating an environment where they can make a difference.
We boost performance through group accountability
for results and shared responsibility for team effectiveness.
We improve effectiveness and reliability through situationally specific strategies, processes, and practices.
Emphasis
Maximizing return on investment, flow of value
Customer
engagement,
delivery accuracy, collaboration
adaptability, proactivity,
anticipation
Innovativeness, people,
environment
Shared responsibility, effectiveness
Reliability, situationality
Definitions of Agile Software Development and Agility
255
The first statement in the DOI places the emphasis on 1) maximizing ROI and 2)
flow of value. The second statement in the DOI emphasizes 3) customer engagement,
4) delivery accuracy, and 5) collaboration. The third statement emphasizes 6) adaptability, 7) proactivity, and 8) anticipation. The fourth statement emphasizes 9) innovativeness, 10) people, and 11) environment. The fifth principle emphasizes 12) shared
responsibility and 13) effectiveness. The sixth principle emphasizes 14) reliability and
15) situationality.
When Table 3 is compared with Table 1 and the emphasis in the Agile Principles it
can be seen that five of these aspects are the same (value, collaboration, adaptability,
people, and environment) but the majority are new (maximizing ROI, delivery accuracy, proactivity, anticipation, innovativeness, reliability, and situationality) or the
viewpoint is slightly different (customer engagement rather than customer satisfaction, shared responsibility rather than self-organization). This raises the question of
whether these differences can be explained just with a different viewpoint, or if the
understanding of Agile Methods has evolved, as the DOI was written four years after
the Agile Manifesto. New points of emphasis (maximizing ROI, delivery accuracy,
proactivity, anticipation, innovativeness, reliability, and situationality) can also be
considered as requirements from the project management level for Agile Methods.
6
More Recent Definitions
Research papers seem to avoid defining Agile Software Development and agility, or
define it via references to a few existing sources, e.g., the definition of Conboy and
Fitzgerald [3], or define agility via the methods researched. Assuming that the understanding of Agile Methods increases as people practice these methods more, it is interesting to see how the definitions have evolved and how the emphasis differs from
the Agile Manifesto and Agile Principles. Since research provides little help in this
respect, the latest agile literature is researched. Advancing Agile Methods seems to be
primarily driven by industry practitioners, not by academic researchers.
Wikipedia [25] defines agile as 1) a group of software development methodologies,
2) iterative, 3) incremental, 4) self-organizing, 5) cross-functional, and 6) evolutionary. Poppendieck [26] defines agile as 1) a system development frame, 2) technical
practices, and 3) effectiveness. Larman and Vodde [27] place the emphasis in agility
as 1) ability to change quicker and easier than the competition. Later [28], Larman
and Vodde define agile via House of Lean, i.e., as systems improvement using Agile
Practices. Appelo states that Agile is context-specific, having its roots in complexity
theory. Leffingwell [29] sees Agile as context-specific processes including a set of
practices bringing business benefits. Cohn [30] does not give a definition of Agile
Software Development but asks the reader to refer to his earlier books. Here, agile is
seen as 1) non-sequential, 2) non-traditional, 3) high-quality, 4) speed, 5) meets user
needs, 6) low-cost, 7) process, 8) productivity, 9) visibility, 10) predictability, and 11)
in-control.
From Table 4 it can be seen that even these recognized gurus do not have a unified
vision of what Agile Software Development is and are struggling with the definition.
256
M. Laanti, J. Similä, and P. Abrahamsson
If the Wikipedia definition is omitted as practical (and thus as an outlier), the rest of
the definitions can be categorized as follows:
• A null definition (agile is agile ; differing from all the previous and succeeding
definitions) Larman’s 2009 [27] recursive definition that agile is agile and a list
of negative statements about what it is not, which contradicts almost all of the succeeding definitions of Agile Software Development and agility.
• Traditional. Cohn’s 2009 definition as a negative statement of what it is not
[30, 29] also aligned himself with the previously discussed (positive) aspects.
• Set of practices. Agile as a set of practices that should be used together with Systems Thinking [31, 28, 26].
• Context-specific. Agile as a context-specific set of processes and practices [29]
which may vary as the problem that we are solving varies, rooted in complexity
theories [32].
Most of the newest definitions of Agile Software Development have stopped talking
about effectiveness, but describe agile rather as a set of practices that you can try
when doing systems improvement. But agile must be more than just a set of practices
that are applied: while the first attempts at putting agile into use in large organizations
were about trying out some practices [24], there was a lot of complaining that agile
must mean a lot more than some teams (or even some individuals) following some
Agile Practices only: for example, you could well do pair coding and still follow a
traditional process.
An organization needs to know when it has become agile. The agile literature defines no point after which an organization has adopted enough practices to be called
agile. Rather, the literature presents various operational models but little guidance as
how to get to that dream state. It has also been stated that agility is rather the mindset
with which to approach the problems at hand, but an organization cannot simply
change to an agile mode by simply stating that it has done so. A large organization
would need something it can develop, deploy, and measure.
Appelo [32] states that most people have got agility wrong, because they have not
understood that agile originates from complexity theories — or rather that they do not
understand complexity theories. Thus any simplistic, linear model (or attempt to
create one) is bound to fail, and we should rather focus on the adaptability, not the
predictability. In fact, conflict is a natural aspect of Complex Systems and a prerequisite for creativity and innovation [32]. This provides an additional challenge for
developing large-scale agile models.
7
Conclusion
In a way, the definitions can also be taken as a promise what Agile Software Development
has to offer. This interpretation would explain how Agile Software Development is sometimes criticized as being a “silver bullet”. It might just be better for the clarity, if we would
start talking about different agile practices and what benefits those do bring instead of
speaking generally about “agile” and “benefits of agile”. Another view on this data is that
Definitions of Agile Software Development and Agility
257
what we understand with “agile” has been developing over time. As new concepts are
born, we have struggle on understanding those until finally enough time has passed and
we become familiar with those concepts with their own terms. [34] This is why we often
create new concepts on the basis of old concepts – e.g. the concept of “airport” is built
upon the concept of “port” although the two have only little in common. As Agile Software Development is an abstract concept, it will likely take even more time before it is
fully understood. The different perceptions that people have on “agile” and “agility” make
deployment of Agile Methods very difficult. The final conclusion is, that people really do
mean different things when they are talking about Agile Software Development and agility. Before creating too many misunderstandings, it might be better just to check what the
other person’s perceptions are. While the other person may completely focus on people’s
interactions within one team and how to create hyper-productive teams the other one may
be worried about optimizing the whole organization as a system or leading the product
development organization from the basis of complexity science.
References
1. Agile Manifesto (2001), http://www.agilemanifesto.org (accessed on July
2011 and May 2012)
2. Cockburn, A.: Two Case Studies Motivating Efficiency as “Spendable” Quantity. In: Proceedings of the International Conference on Agility (2005)
3. Conboy, K., Fitzgerald, B.: Toward a Conceptual Framework for Agile Methods: a Study
of Agility in Different Disciplines. In: Proc. ACM Workshop on Interdisciplinary Software
Engineering Research (WISER), pp. 37–44 (2004)
4. Fowler, M., Highsmith, J.: The Agile Manifesto. Software Development (August 2001)
5. Ambler, S.: Examining the Agile Manifesto (2011),
http://www.ambysoft.com/essays/agileManifesto.html
(accessed on July 2011 and May 2012)
6. Poppendieck, M., Poppendieck, T.: Lean Software Development: An Agile Toolkit. Addison Wesley (2003) ISBN 0-321-15078-3
7. Fowler, M.: Is Design Dead? (2004),
http://www.martinfowler.com/articles/designDead.html (accessed on
July 2011 and May 2012)
8. Highsmith, J.: Adaptive Software Development: A Collaborative Approach to Managing
Complex Systems. Dorset House Publishing Company (1999) ISBN-10: 0932633404
9. Stevens: What is next for the Agile Manifesto (2011),
http://www.dennisstevens.com/2011/02/13/whats-next-for-theagile-manifesto/ (accessed on August 2011 and May 2012)
10. Preiss, K.: Agility – the Origins, the Vision and the Reality. In: Proceedings of the International Conference on Agility (2005)
11. Goldman, S., Naegel, R., Preiss, K.: Agile Competitors and Virtual Organizations: Strategies for Enriching the Customer. Wiley (1994) ISBN 0471286508
12. Cockburn, A.: Agile Software Development: the Cooperative Game, 2nd edn. AddisonWesley (2006) ISBN-10: 0321482751
13. Kettunen, P.: Agile Software Development in Large-Scale New Product Development Organization: Team-Level Perspective. Helsinki University of Technology, Doctoral Dissertation. TKK Dissertations 186 (2009) ISBN 978-952-248-113-9
258
M. Laanti, J. Similä, and P. Abrahamsson
14. Cockburn, A.: Agile Software Development. Addison-Wesley (2001) ISBN-10:
0201699699
15. Anderson, D.J.: Agile Management for Software Engineering: Applying the Theory of
Constraints for Business Results. Prentice Hall (2003) ISBN-10: 0131424602
16. Larman, C.: Agile & Iterative Development. A Manager’s Guide. Addison-Wesley Professional (2003) ISBN-10: 0-13-111155-8
17. Schuh, P.: Integrating Agile Development in the Real World. Charles River Media, Inc.
(2004) ISBN-10: 1584503645
18. Lyytinen, K., Rose, G.M.: Information System Development Agility as Organizational
Learning. European Journal of Information Systems 15, 183–199 (2006)
19. Subramaniam, V., Hunt, A.: Practices of an Agile Developer – Working in the Real World.
The Pragmatic Bookshelf (2005) ISBN-10: 097451408X
20. Ambler, S.W.: Disciplined Agile Software Development: Definition (2007),
http://www.agilemodeling.com/essays/agileSoftware
Development.htm (accessed on November 2007 and May 2012)
21. Nerur, S., Balijepally, V.G.: Theoretical Reflections on Agile Development Methodologies. Communications of the ACM 50(3) (March 2007)
22. IEEE, Draft Recommended Practice for the Customer-Supplier Relationship in Agile
Software Projects. P1648/D5 (2007)
23. Wikipedia,
http://en.wikipedia.org/wiki/Agile_software_development
(accessed on July 2007)
24. DOI, Declaration of Interdependence (2005), http://www.pmdoi.org/ (accessed on
July 2011 and May 2012)
25. Wikipedia,
http://en.wikipedia.org/wiki/Agile_software_development
(accessed on July 2007)
26. Poppendieck, M., Poppendieck, T.: Leading Lean Software Development: Results are Not
the Point. Addison Wesley (2010) ISBN-10: 0-321-62070-4
27. Larman, C., Vodde, B.: Scaling Lean & Agile Development: Thinking and Organizational
Tools for Large-Scale Scrum. Addison Wesley (2009) ISBN-10: 0-321-48096-1
28. Larman, C., Vodde, B.: Practices for Scaling Lean & Agile Development. In: Large, Multisite, and Offshore Product Development with Large-Scale Scrum. Addison-Wesley
(2010) ISBN-10: 0-321-63640-6, ISBN-13: 978-0-321-63640-9
29. Leffingwell, D.: Agile Software Requirements. In: Lean Requirements Practices for
Teams, Programs, and the Enterprise. Addison-Wesley (2011) ISBN-10: 0-321-63584-1,
ISBN-13: 978-0-321-63584-6
30. Cohn, M.: Succeeding with Agile: Software Development using Scrum. Addison-Wesley
(2009) ISBN-10: 0-321-57936-4
31. Senge, P.: The Fifth Discipline. The Art & Practice of the Learning Organization. Random
House Business Books (2006)
32. Appelo, J.: Management 3.0. Leading Agile Developers, Developing Agile Leaders. Addison-Wesley (2011) ISBN-10: 0-321-71247-1, ISBN-13: 978-0-321-71247-9
33. Kähkönen, T.: Agile Methods for Large Organizations – Building Communities of Practice. In: Proc. Agile Development Conf. (ADC), pp. 2–10 (2004)
34. Bassett, P.G.: Framing Software Reuse: Lessons from the Real World. Yourdon Press
Computing Series (1997) ISBN 0-13-327859-X