Content uploaded by Tore Dybå
Author content
All content in this area was uploaded by Tore Dybå on Jun 21, 2014
Content may be subject to copyright.
1 Agile Software Development: An Introduction
and Overview
Torgeir Dingsøyr, Tore Dybå, Nils Brede Moe
Abstract: Agile software development is an important topic in software engineer-
ing and information systems. This chapter provides a characterization and defini-
tion of agile software development, an overview of research through a summary of
existing overview studies, an analysis of the research literature so far, and an in-
troduction to the main themes of this book. The first part of the book provides
foundations and background of agile development. The second part describes find-
ings from studies of agile methods in practice. The third part identifies principal
challenges and discusses new frontiers that agile development methods will meet
in the future.
1.1 Introduction
Agile software development has had a major influence on how software develop-
ment is conducted. It has become an umbrella term for a number of changes in
how software developers plan and coordinate their work, how they communicate
with customers and external stakeholders, and how software development is orga-
nized in small, medium-sized and large companies from the telecom and health-
care sectors to games and interactive media.
We see the agile development methods as a reaction to plan-based or traditional
methods, which emphasize “a rationalized, engineering-based approach” (Dybå
2000) incorporating extensive planning, codified processes, and rigorous reuse
(Boehm 2002). By contrast, agile methods address the challenge of an unpredic-
table world by recognizing the value competent people and their relationships
bring to software development (Nerur and Balijepally 2007).
In this chapter, we will first define what we see as agile software development
and define other central terms that will be used throughout the book. Further, we
give a broad overview of research conducted in this field, and describe the main
themes of the book: foundations and background of agile development, agile
methods in practice and principal challenges and new frontiers. Finally, we state
what we see as some of the main challenges and main future directions for re-
search on agile software development.
T. Dingsøyr et al. (eds.), Agile Software Development,
DOI 10.1007/978-3-642-12575-1_1, © Springer Verlag Berlin Heidelberg 2010 -
2 Torgeir Dingsøyr, Tore Dybå, Nils Brede Moe
1.2 What is Agile Development?
In an introduction to the special issue on agile methods in IEEE Computer in
2003, Williams and Cockburn (2003) state that agile software development “is
about feedback and change”, and they emphasize that software development is an
empirical or nonlinear process, where short feedback-loops are necessary to
achieve a desirable, predictable outcome. Ericksson et al. (2005) further underline
the importance of lightweight processes in agile development, defining agility as
to “strip away as much of the heaviness, commonly associated with the traditional
software-development methodologies, as possible to promote quick response to
changing environments, changes in user requirements, accelerated project dead-
lines and the like.” (p. 89).
In an article discussing the concept of agility and leanness in software devel-
opment, Conboy (2009) argues that agile methods must contribute to one of more
of the following: creation of change, proaction in advance of change, reaction to
change or learning from change. Further, an agile method must contribute to and
not detract from: perceived economy, perceived quality, and perceived simplicity.
A third requirement is to be continually ready to prepare the component for use.
Thus, agile software development has been characterized differently than plan-
based or traditional development methods, mainly with the focus adapting to
change and delivering products of high quality through simple work-processes.
Nerur & Balijepally (2005) state that agile and traditional methods diverge on a
number of aspects, including their fundamental assumptions, approach to control,
management style, knowledge management, role assignment, role of the customer,
project cycle, development model and desired organizational structure.
1.3 Research on Agile Software Development
In this section we first give an overview of prior research on agile software devel-
opment, and then characterize the status of current research through examining the
volume of scientific studies on the topic.
1.3.1 An Overview of Prior Research
Introductions to and overviews of agile development are given by Abrahamsson et
al. (2002), Cohen et al. (2004), Erickson et al. (2005) and Dybå and Dingsøyr
(2008). These four reports describe the state of the art and state of the practice in
terms of characteristics of the various agile methods and lessons learned from ap-
plying such methods in industry.
3
The first review of the literature on agile software development was done in a
technical report published by Abrahamsson et al. at VTT (2002). The report dis-
cusses the concept of agile development, presents processes, roles, practices, and
experience with 10 agile development methods, and compares the methods with
respect to the phases that they support and the level of competence that they re-
quire. Only DSDM and the Rational Unified Process were found to give full cov-
erage to all phases of development, while Scrum mainly covers aspects related to
project management. Abrahamsson et al. found anecdotal evidence that agile
methods are “effective and suitable for many situations and environments”, but
state that very few empirically validated studies support these claims. Chapter 3 in
this book updates this review.
Cohen et al. (2004) published a review that emphasized the history of agile de-
velopment, showing some of the roots to other disciplines, and, in particular, dis-
cussed relations between agile development and the Capability Maturity Model.
The authors believed that agile methods would be consolidate d in the future, just
as object-oriented methods were consolidated. Further, they did not believe that
agile methods would rule out traditional methods. Rather, they believe that agile
and traditional methods will have a symbiotic relationship, in which factors such
as the number of people working on a project, application domain, criticality, and
innovativeness will determine which process to select.
Erickson et al. (2005) described the state of research on extreme programming
(XP), agile software development, and agile modelling. With respect to XP, they
found a small number of case studies and experience reports that promote the suc-
cess of XP. The practice of pair programming is supported by a more well-
established stream of research, and that there are also some studies on iterative de-
velopment. Erickson et al. recommend that the other core practices in XP be stud-
ied separately in order to identify what practices are working. Further, they saw
challenges with matching agile software development methods with standards
such as ISO, and they argued that this is an area that needs further research.
What is currently known about the benefits and limitations of agile software
development, the strength of the evidence in support of these findings, and the im-
plications of these studies for the software industry and the research community
were the focus areas for Dybå and Dingsøyr’s (2008) systematic review. The stud-
ies fell into four thematic groups: introduction and adoption, human and social
factors, perceptions of agile methods, and comparative studies. The authors identi-
fied a number of reported benefits and limitations of agile development within
each of these themes:
Regarding introduction, XP was difficult to introduce in complex organiza-
tions, yet seemingly easy in other types of organizations. Most studies reported
that agile development practices are easy to adopt and work well. Benefits were
reported in the following areas: customer collaboration, work processes for han-
dling defects, learning in pair programming, thinking ahead for management, fo-
cusing on current work for engineers, and estimation.
1 Agile Software Development
4 Torgeir Dingsøyr, Tore Dybå, Nils Brede Moe
A recurring theme in studies on agile development was human and social factors.
A benefit of XP was that it thrived in radically different environments; in organi-
zations that varied from having a hierarchical structure to little or no central con-
trol. Further, conversation, standardization, and tracking progress have been stud-
ied and are described as mechanisms for creating awareness within teams and
organizations.
Many studies sought to identify how agile methods are perceived by different
groups. Customers are satisfied with opportunities for feedback and response to
change. However, the role of on-site customer can be stressful and cannot be sus-
tained for a long period. Companies that use XP have more satisfied employees.
There were mixed findings regarding the effectiveness of pair programming. Uni-
versity students perceive agile methods as providing them with relevant training.
The last theme was comparative studies. Some studies suggest benefits in pro-
jects that use agile methods because changes are incorporated more easily and
business value is demonstrated more efficiently. It is possible to combine agile
project management with overall traditional principles, such as the stage-gate pro-
ject management model. With respect to the productivity of agile and traditional
teams, three of the four comparative studies that address this issue found that
using XP results in increased productivity.
Fig. 1.1 Publications on agile software development, total number (top), conference papers
(middle) and journal articles (bottom). Note that the numbers for 2009 do not include all publica-
tions from that year
5
1.3.2 An Analysis of Literature on Agile Development
To describe the status of research on agile software development, we conducted a
literature search in the ISI Web of Science1. We found 719 scientific publications
regarding agile software development, published between 1997 and 2009. Of
these, 627 were papers in conference proceedings (87%), and 92 were journal arti-
cles (13%, including review articles). Figure 1.1 illustrates the trend in publica-
tions for conference papers, journal articles and the total. There seems to be a
steady growth in the number of publications in total (until 2009).
Table 1.1 The 20 countries with most publications on agile software development
Rank
Country Publications
1
USA 153
2
Germany 52
3
Finland 51
4
Canada 46
5
Australia 41
6
England 31
7
Ireland 27
8
Sweden 20
9
Spain 18
10
Italy 17
11
Israel 15
12
Austria 13
13
Denmark 13
14
Norway 13
15
India 12
16
Chile 11
17
Iran 11
18
New Zealand 10
19
Brazil 9
20
Peoples Republic of China 9
Note that all publications from 2009 have not been indexed at the time of the
search. For example, papers from the Agile 2009 conference were not indexed,
and this conference alone had 28 papers in the search results from 2008.
1 Search conducted on 22 February 2010, using the term “agile AND software AND develop-
ment” as topics for subject areas computer science: software engineering, theory and methods
and information systems. Document types proceedings paper, review or article. Databases: SCI-
EXPANDED, SSCI, A&HCI, CPCI-S, CPCI-SSH.
1 Agile Software Development
6 Torgeir Dingsøyr, Tore Dybå, Nils Brede Moe
These figures seem to indicate that there is a substantial interest in agile software
development amongst research environments.
An examination of the country of origin of the publications, gives the list as in
Table 1.1, which states that authors from the USA are by far most frequent in the
author lists of publications, followed by Germany and Finland. The total number
of articles with authors from Europe among the top 20 countries is 301, about
twice that of the USA. Thus, it seems that most agile research is authored in Eu-
rope, followed by North America, Oceania and Asia.
Further, we present the institutions that are more frequently occurring in the
search, in Table 1.22. The VTT Technical Research Centre of Finland has the
highest number of publications, followed by the University of Calgary in Canada,
SINTEF in Norway and Technion Israel Institute of Technology. Europe has
eleven institutions among the top 20, while North America has four, Oceania
three, South America and Asia one each.
Another interesting bibliographic finding in the search is what papers on agile
development are most cited, and how much cited they are. In Table 1.3 we list the
20 most cited papers, and we see that the top three have 61, 46 and 33 citations re-
spectively. Further we see that only two of the highly cited articles are published
at conferences, papers 2 and 17, which were published at the International Confer-
ence on Software Engineering. Of the remaining, nine were published in maga-
zines (IEEE Software, IEEE Computer and Communications of the ACM) and
nine were published in primary journals like IEEE Transactions on Software En-
gineering and the European Journal of Information Systems. 70% of the articles
were published in venues we can categorize as mainly software engineering, and
30% we can arguably categorize as mainly information systems.
This analysis shows that journal publications are most important in the field of
agile software development, and that the field gathers interest mainly from the
software engineering community, but also from the information systems com-
munity.
2 Some institutions were registered with several names in ISI Web of Science. For Table 1.2, we
aggregated numbers for VTT and SINTEF, which were the only institutions among the top 20
with several names.
7
Table 1.2 The 20 institutions with most publications on agile software development
Rank
Institution Publications
1
VTT Technical Research Centre of Finland 22
2
University of Calgary, Canada 21
3
SINTEF, Norway 10
4
Technion Israel Institute of Technology 10
5
Dundalk Institute of Technology, Ireland 9
6
University of Technology Sydney, Australia 9
7
North Carolina State University, USA 8
8
Blekinge Institute of Technology, Sweden 6
9
Carnegie Mellon University, USA 6
10
Helsinki University of Technology, Finland 6
11
Pontificia Universidad Catolica Valparaiso, Chile 6
12
Sharif University of Technology, Iran 6
13
Technical University of Munich, Germany 6
14
University of Alabama, USA 6
15
University of Wollongong, Australia 6
16
Georgia State University, USA 5
17
University of Aalborg, Denmark 5
18
University of Cagliari, Italy 5
19
University of Limerick, Ireland 5
20
University of Oulu, Finland 5
1.4 Main Themes in this Book
The remaining chapters of the book are organized into three parts: Foundations
and Background of Agile Development, Agile Methods in Practice and Principal
Challenges and New Frontiers.
1.4.1 Foundations and Background of Agile Development
In addition to this chapter, this part includes two chapters: Chapter 2, “Towards an
understanding of the Conceptual Underpinnings of Agile Development Method-
ologies” by Nerur, Cannon, Balijepally and Bond, and Chapter 3, “Agile Software
Development Mehods: A Compararive Review” by Abrahamsson, Oza and Sip-
ponen.
1 Agile Software Development
8 Torgeir Dingsøyr, Tore Dybå, Nils Brede Moe
Table 1.3 The 20 most cited articles on agile software development
Rank
Reference
Citations
1
Highsmith, J. and Cockburn, A. (2001) Agile software development: The business
of innovation, IEEE Computer, vol. 34.
61
2
Abrahamsson, P., Warsta, J., Siponen, M. T. and Ronkainen, J. (2003) New direc-
tions on agile methods: A comparative analysis, Proc. ICSE, pp. 244-254.
46
3
Boehm, B. (2002) Get ready for agile methods, with care, IEEE Computer, vol. 35.
33
4
Erickson, J., Lyytinen, K. and Siau, K. (2005) Agile modeling, agile software de-
velopment, and extreme programming: The state of research, Journal of Database
Management, vol. 16.
30
5
Sharp, H. and Robinson, H. (2004) An ethnographic study of XP practice, Empiri-
cal Software Engineering, vol. 9.
29
6
George, B. and Williams, L. (2004) A structured experiment of test-driven devel-
opment, Information and Software Technology, vol. 46.
28
7
Ramesh, B., Cao, L., Mohan, K. and Xu, P. (2006) Can distributed software devel-
opment be agile?, Communications of the ACM, vol. 49.
26
8
Fitzgerald, B., Hartnett, G. and Conboy, K. (2006) Customising agile methods to
software practices at Intel Shannon, European J. of Information Systems, vol. 15.
26
9
Janzen, D. and Saiedian, H. (2005) Test-driven development: Concepts, taxonomy,
and future direction, IEEE Computer, vol. 38.
21
10
Dybå, T. and Dingsøyr, T. (2008) Empirical studies of agile software develop-
ment: A systematic review, Information and Software Technology, vol. 50.
20
11
Aoyama, M. (1998) Web-based agile software development, IEEE Software, vol.
15.
20
12
Turk, D., France, R. and Rumpe, B. (2005) Assumptions underlying agile software
software-development processes, Journal of Database Management, vol. 16.
19
13
Boehm, B. and Turner, R. (2005) Management challanges to implementing Agile
Processes in traditional development organizations, IEEE Software, vol. 22.
19
14
Alshayeb, M. and Li, W. (2003) An empirical validation of object-oriented metrics
in two different iterative software processes, IEEE Trans. on Soft. Eng., vol. 29.
19
15
Henderson- Sellers, B. and Serour, M. K. (2005) Creating a dual-agility method:
The value of method engineering, Journal of Database Management, vol. 16.
17
16
Baskerville, R., Ramesh, B., Levine, L., Pries-Heje, I. and Slaughter, S. (2003) Is
Internet-speed software development different?, IEEE Software, vol. 20.
17
17
Hulkko, H. and Abrahamsson, P. (2005) A multiple case study on the impact of
pair programming on product quality, Proc. ICSE, pp. 495
16
18
Lippert, M., et al. (2003) Developing complex projects using XP with extensions,
IEEE Computer, vol. 36.
16
19
Olague, H. M., et al. (2007) Empirical validation of three software metrics suites to
predict fault-proneness of object-oriented classes developed using highly iterative
or agile software development processes, IEEE Trans. on Soft. Eng., vol. 33.
14
20
Lycett, M., Macredie, R. D., Patel, C. and Paul, R. J. (2003) Migrating agile meth-
ods to standardized development practice, IEEE Computer, vol. 36.
14
9
The intellectual foundation of agile methods is explored in Chapter 2, to under-
stand underlying premises for this new paradigm in software development. This
understanding will be valuable both in assessing current practice as well as to ad-
vance the field.
An overview and analysis of the agile methods that exist is presented in Chap-
ter 3, to make sense of the approaches. Agile methods are described in an analyti-
cal framework covering: project management support, life-cycle coverage, type of
practical guidance, adaptability in actual use, type of research objectives and ex-
istence of empirical evidence for the method. The analysis shows that agile meth-
ods support different phases of development, and most methods lack support for
project management.
1.4.2 Agile Methods in Practice
This part includes Chapter 4, “Three ‘C’s of Agile Practice: Collaboration, Co-
ordination and Communication” by Sharp and Robinson, Chapter 5, “From Exotic
to Mainstream: A 10-year odyssey from Internet Speed to Boundary Spanning
with Scrum” by Baskerville, Pries-Heje and Madsen, Chapter 6, “An Ideal Cus-
tomer: A Grounded Theory of Requirements Elicitation, Communication and Ac-
ceptance on Agile Projects” by Martin, Biddle and Noble and Chapter 7, “Pair
Programming: Issues and Challenges” by Lui, Barnes and Chan.
What is crucial in supporting team collaboration, co-ordination and communi-
cation is described in Chapter 4, based over on ten eight years of studies of agile
development teams. Story cards and walls are crucial to support collaboration and
co-ordination related to project progress. To share information on functional de-
pendencies, agile teams rely on communication and social practices.
The evolution of methods is the topic of Chapter 5, deriving from four empiri-
cal studies of software development over a ten-year period. From “internet-speed
development”, methods were affected by dramatic changes in the market for soft-
ware development, which caused disruption of established practices, experimenta-
tion and process adaptations. This was followed by consolidations of lessons
learned into more mature software development processes.
The customer has a very important role in agile development projects, and this
role is under investigation in Chapter 6. Described as a critical, complex and de-
manding role, the chapter outlines practices that ensure that the customer role
works effectively and sustainably in a way that involve the whole development
team.
Pair programming is perhaps still the most known practice in agile develop-
ment, made popular mainly through extreme programming. But even though pair
programming has been one of the most researched topics in agile development,
Chapter 7 describe the practice as controversial, despite its growth in popularity
both among practitioners and academics. One concern has been the productivity of
1 Agile Software Development
10 Torgeir Dingsøyr, Tore Dybå, Nils Brede Moe
solo and pair programming, which is still not fully understood. However, the
chapter also seeks to explain how and why pair programming can be made pro-
ductive.
1.4.3 Principal Challenges and New Frontiers
This part includes Chapter 8, “Architected Agile Solutions for Software-Reliant
Systems” by Boehm, Lane, Koolmanojwong and Turner, Chapter 9, “Agile Inter-
action Design and Test-Driven Development of User Interfaces – A Literature Re-
view” by Hellmann, Hosseini-Khayat and Maurer, Chaper 10, “Organizational
Culture and the Deployment of Agile Methods: The Competing Values Model
View” by Iivari and Iivari, and Chapter 11, “Future Research in Agile Systems
Development: Applying Open Innovation Principles Within the Agile Organiza-
tion” by Conboy and Morgan.
Balancing architecture and agility has been a concern of many, including advo-
cates of plan-driven software development. Chapter 8 describes key principles
when scaling up agile development projects that require stronger architectural
support. Further, the chapter provides guidance to the key principles, and il-
lustrates these with case studies.
Usability of software solutions is a challenge in any development project.
Chapter 9 gives an overview of previous studies on usability engineering which
has approaches shown to improve usability and reduce probability of revision.
Further, the chapter gives an overview of test-driven development of user inter-
faces, and explains how these two styles of development can be combined to pro-
duce testable GUI-based applications by agile teams.
Agile development seem to be exceptionally well-received by practitioners,
what is the explanation for this success? This is the central question in Chapter 10,
which describe organizational culture as a factor that affects the deployment of ag-
ile software development methods. Among the hypothesis posed is that agile
methods are incompatible with a hierarchical organizational culture, although ag-
ile development is more disciplined than ad hoc development.
Innovation is the topic of Chapter 11, which argues that the idea of a single
customer representative must be abandoned because it leads to a too narrow focus,
and to a lack of involvement of important stakeholders. Agile development should
adopt current thinking on open innovation, which leads to a much broader per-
spective, involving other business units, customers and partners.
11
1.5 Conclusion
In this chapter, we have motivated why agile development is an important topic,
and further, we have defined and characterized agile software development. In ad-
dition, we have given an overview of research on agile software development in
two parts:
First, an overview of prior research in the area through a summary of four
overview articles, focusing on describing the agile methods, relations to the capa-
bility maturity model, status of research on extreme programming and presenting
what is known about the benefits and limitations of agile methods. These articles
indicate that the field is still in a nascent phase, and that we need more studies of
high quality.
Second, an examination of studies of agile development through a literature
analysis. We presented an overview of publications by year for conference papers
and journal articles, the 20 countries with most publications, the 20 institutions
with most publications, and the 20 most cited articles. The main findings from the
literature analysis is that there seems to be a substantial interest in agile software
development amongst research environments. Further, we find publications from
all over the world: primarily Europe and North America, but also in Oceania, Asia
and South America. When we rank the institutions after publications, they follow
almost the same pattern. From the presentation of the most cited papers, we see
that most highly cited articles are published in journals. Further, we see that the
field gathers most interest from the software engineering community, but also
from the information systems community.
The overview articles that exist in the field summarize research until 2005. The
literature analysis identifies more than 500 articles published on agile software
development since then, which justifies the need for a contemporary overview of
research in the field, which you will find in the remaining chapters of this book.
References
Abrahamsson, Pekka, Salo, Outi, Ronkainen, Jussi and Warsta, Juhani (2002) Agile software de-
velopment methods: Review and analysis, VTT Technical report, pp. 107.
Boehm, Barry (2002) Get ready for agile methods, with care, IEEE Computer, 35, 64 - 69.
Cohen, David, Lindvall, Mikael and Costa, Patricia (2004) In Advances in Computers, Advances
in Software Engineering, Vol. 62 (Ed, Zelkowitz, M. V.) Elsevier, Amsterdam.
Conboy, Kieran (2009) Agility From First Principles: Reconstructing the Concept of Agility in
Information Systems Development, Information Systems Research, 20, 329-354.
Dybå, Tore (2000) Improvisation in Small Software Organizations, IEEE Software, 17, 82-87.
Dybå, Tore and Dingsøyr, Torgeir (2008) Empirical Studies of Agile Software Development: A
Systematic Review, Information and Software Technology, 50, 833-859.
Erickson, John, Lyytinen, Kalle and Siau, Keng (2005) Agile Modeling, Agile Software Devel-
opment, and Extreme Programming: The State of Research, Journal of Database Manage-
ment, 16, 88 - 100.
1 Agile Software Development
12 Torgeir Dingsøyr, Tore Dybå, Nils Brede Moe
Nerur, S., Mahapatra, R. and Mangalaraj, G (2005) Challenges of migrating to agile methodolo-
gies, Communications of the ACM, 48, 72 - 78.
Nerur, Sridhar and Balijepally, VenuGopal (2007) Theoretical Reflections on Agile Develop-
ment Methodologies, Communications of the ACM, 50, 79-83.
Williams, Laurie and Cockburn, Alistair (2003) Agile Software Development: It’s about Feed-
back and Change, IEEE Computer, 36, 39-43.
Author Biographies
Torgeir Dingsøyr works with software process improvement and knowledge man-
agement projects as a senior scientist at SINTEF Information and Communication
Technology, and as an adjunct associate professor at the Department of Computer
and information Science, Norwegian University of Science and Technology. He
has published articles in IEEE Transactions on Software Engineering, IEEE Soft-
ware, Communications of the ACM, Information and Software Technology and
Empirical Software Engineering. He is a co-author of the book "Process Im-
provement in Practice: A Handbook for IT Companies", which appeared on Klu-
wer Academic Publishers in 2004. He wrote his doctoral thesis on knowledge
management in software engineering. His current research interests include soft-
ware process improvement, agile software development and knowledge manage-
ment in software engineering.
Tore Dybå is chief scientist and research manager at SINTEF Information and
Communication Technology, and an adjunct full professor at the Department of
Informatics, University of Oslo. He received his doctoral degree in computer and
information science from the Norwegian University of Science and Technology.
Dr. Dybå worked as a consultant for eight years in Norway and Saudi Arabia be-
fore he joined SINTEF in 1994. His research interests include empirical and evi-
dence-based software engineering, software process improvement, and organiza-
tional learning. Dr. Dybå is the author and co-author of more than 60 refereed
publications appearing in international journals, books, and conference proceed-
ings, including IEEE Transactions on Software Engineering, IEEE Software, In-
formation and Software Technology, Empirical Software Engineering and Soft-
ware Process: Improvement and Practice. He is the principal author of the book
“Process Improvement in Practice: A Handbook for IT Companies,” published as
part of the Kluwer International Series in Software Engineering. He is a member
of the International Software Engineering Research Network, the IEEE, the IEEE
Computer Society, and the editorial board of Empirical Software Engineering.
Nils Brede Moe received the MS degree in computer science from the Norwegian
University of Science and Technology. He is a research scientist at SINTEF In-
formation and Communication Technology. He has 12 years of experience work-
ing as a project manager and researcher within software development. He is a co-
13
author of the book “Process Improvement in Practice: A Handbook for IT Com-
panies”. His current research interests include global software development, pro-
cess improvement, self-management, and agile software development.
1 Agile Software Development