Professional Documents
Culture Documents
Abstract— Agile methodology is widely being adapted in large assess the challenges and ways of improvement. This will
scale software development organizations in different forms like also clarify whether agile is good for large-scale software
Scrum and XP in order to gain success in business [1][2][3]. development as well or is it only good for small teams as it
However, as agile was designed primarily for small teams [2] was originally designed for [2].
therefore there are different types of challenges being faced in
In this survey of literature, we will focus on the following
adopting this method and as a result companies and teams are
sometimes unable to benefit from this methodology up to its full research questions:
potential. This survey paper summarizes current literature RQ1: What are the main challenges being faced in agile
identifying challenges and how they could be addressed in transformations for large-scale development?
diverse environments of large-scale software development RQ2: What are the solutions presented for those
organizations. challenges found in agile transformations for large-
scale development?
Keywords— Adopting Agile Frameworks, Large-Scale In order to find out the list of challenges in different phases
Transformation, Challenges of Transformation, Resolutions of of agile software development life cycle for large scale
Challenges, Literature Survey organizations, we will survey most recent articles and
proceedings of conferences on this topic that covered the
I. INTRODUCTION challenges and proposed ways to handle those challenges
Agile methodology has been adopted successfully by lot of faced by large-scale organizations in transformation to agile
small to medium size software development organizations in methodology by using different techniques in reaching to
different flavours. Recently, due to its potential benefits, large their respective conclusion.
organizations are also transforming their software The rest of the paper will contain background information
development model to agile. This methodology helps about agile software development, it’s basic principles and
organizations in adapting to ever changing needs of comparative analysis of challenges presented in recent
customers and in providing early and frequent delivery of literature about transforming to agile methodology by large-
valuable software products to their customers which are the scale organizations. In the end, conclusion is provided based
main principles behind agile manifesto. upon analysis of that literature.
Many organizations are shifting to agile mainly for success
of their business [1]. Another reason for this transformation is II. BACKGROUND AND RELATED WORK
to reduce technical debt by frequent delivery which could Agile methodology is widely being adapted in software
ultimately improve software quality by lesser errors released development organizations in different forms like Scrum and
in production code [1]. As more and more organizations are XP in order to gain success in business [1]. This is not only
coming towards this process, the types of agile frameworks true for small software development teams as agile was
and their actual implementations are getting lots of flavours. originally intended for [2] but also for large scale system
This could not be considered unexpected as agile frameworks, development teams and companies [3].
like any other development framework, just provide the
guidelines to perform certain activities. However, as agile A. Principles of Agile
was basically intended for small or single-team projects, its Different companies are adopting agile based upon their
adaptation by large-scale organizations and teams is more experience, culture and their practices which they had been
challenging [2]. Therefore, it needs to be analysed in detail following in traditional software development before going
what are the challenges in using agile and what are could be for the transformation to agile methodology. However,
the methods that could help in dealing with those challenges following are certain basic principles that could be considered
and ultimately result in success of business if agile for adopting agile [4].
methodology is used. Early and frequent delivery of valuable products.
Further as agile methodology is being adopted in different Adapting to ever changing requirements.
flavours, it needs to be established at which level of agile Deliver recurrently in shorter time spans.
model the organization is currently working at in order to
Daily communication between business stakeholders 5) Level-5 World-class: World-class level means the
and developers. organization has its own approach to agile practices and no
Trust energetic and self-driven individuals to complete more growth in its area would be expected.
the job on their own.
C. Large Scale Development
Increase face-to-face conversation within teams.
Measure of progress should be working software. In order to understand the challenges in large-scale agile
Maintain constant pace and promote continuous development, we need to understand the what we mean by
development. large-scale. In literature, large-scale development for agile
encompasses large-teams, large projects having multiple
Focus on technical excellence and good design help in
teams, and implementation of agile in whole organization [6].
promoting agility.
Dingsøyr et al. [6], have summarized different definitions
Simplicity by prioritizing most valuable features.
of large-scale agile development as per participants of
Self-organized teams provide best output. workshop XP2014 and it could be seen that by large-scale
Regular self-assessment improves effectiveness and agile development the general concept is dependent upon
adjustment in behaviour. number of people involved, size of the project code, number
B. Levels of Agile Methodology of locations, and number of teams involved in a development
project. Dingsøyr et al. [6] also considered number of
Conboy et al. [5] define agility as, also quoted by Dingsøyr
collaborating and coordinating teams as the criteria for large-
et al. [6], the continuous readiness "to rapidly or inherently
scale agile development. However, these definitions do not
create change, proactively or reactively embrace change, and
take the agile methods being applied in large organization in
learn from change while contributing to perceived customer
to consideration and could be considered as a different area of
value (economy, quality, and simplicity), through its
research [6].
collective components and relationships with its
Similarly, Paasivaara et al. [7] considered number of teams
environment." As per this definition and principles of agility
and people involved as the criteria for large-scale agile
mentioned in preceding section different companies are
development while Berger et al. [8] considered the project
following their own set of practices to achieve this basic goal.
cost for this purpose. In their case study, Peterson et al. [9]
The practices followed by different companies may differ
considered lines of code for large-scale system. Additional
in a way that the end result could be different for different
studies also considered such approach of people, code size,
practitioners. Therefore, the companies in their earlier stages
locations, teams and cost for defining large-scale agile
of transformation to agile are mostly unclear about their
development.
methods and do not know for sure if they are doing that right
[1]. In order to understand that position, organizations could D. Challenges in Agile Transformation
be assed and categorized in different types of models having Review of literature shows that there are different types
multiple levels. For the sake of understanding we can look at challenges present for companies transforming to agile
the following five levels, as presented by Laanti [1], based methodology. The challenges could include management
upon their practices of following agile methodology and overhead in team coordination as well as low test coverage
principles. [9]. The challenges in agile transformation increase with
1) Level-1 Beginner: At this initial level an organization increase in organization size [10]. However, as per Livermore
understands the effectiveness of smaller batches and arrange [11], there is no direct correlation between success of agile
its work in backlogs along with new tools and roles to support and size of development team but the challenge increase due
agile. to greater effort required in breaking higher internal inertia in
larger organizations. Training and active management
2) Level-2 Novice: Novice level is that in which involvement could help in overcoming such challenges [11].
organization focuses on more fluent releases with automation Heikkilä et al. [12] mentioned problems like over-
of development and testing flow. Also it starts measuring its commitment, insufficient understanding of the development
process and flow using agile related metrics. team autonomy, and growing technical debt which could be
3) Level-3 Fluent: This level means the organization fully faced in large-scale agile development.
understands the agile benefits and focuses on improvement in Effective coordination between teams [13] and
its learning by collecting more and more related data. collaboration with external experts [14] also become
challenging with self-management principle of agile [13][14].
4) Level-4 Advanced: At this level, agile process model Working in parallel also becomes challenging in scrum
and utilization of data becomes perfect and agility is like environment in case of emerging software architecture as
considered integral part of company’s values and strategy. All it could cause delays due to dependencies in large-scale agile
new development is approached with agile practices in mind development [15].
and agility is the driving force. Large organizations and large-scale development contain
multiple teams which are dependent upon each other. This
introduces the challenge of keeping balance between formal Heikkilä et al. [12] presented the ways to manage the
documentation and following agile principles [16]. challenges related to requirements flow in adopting agile by
large-scale organizations. Their study was comprised of node
III. RESEARCH METHODOLOGY development in Ericsson telecommunications and focused on
Review of literature is also a way to of identify, evaluate how the requirements flow from strategy to release, and what
and interpret the research which is related to a specific area of are the problems and benefits of using agile.
interest, topic, or research question. This is suitable for Hohl et al. [17] described the challenges faced by adopting
providing summarized results from existing literature, for agile in large-scale software development linked with
understanding difference between the existing research, as automotive domain. They also discussed challenges faced due
well as identifying open areas to provide basis of new to particular characteristics of the automotive field such as
research. requirements that demand high quality and large number of
In this paper, we will survey the most recent literature from interfaces linked with fixed and defined processes.
well-known journals on the topic of managing challenges in
Adams [18] provided a unique viewpoint of challenges
agile transformations for large-scale development. The
which could be faced by software development adopting agile
review is primarily based upon the literature published in the
methodology in government and bureaucratic sector. The key
field of software engineering.
areas revealed in that study that presented challenges are
Different topics and areas could be selected against agile
acquisition oversight, contracting, cost estimation,
transformations in large-scale development, however, as agile
information assurance, program cost, performance monitoring,
was mainly presented for small teams, there are more chances
culture, and requirements management.
of facing challenges in large-scale organizations and hence
the need to resolve those challenges as per known practices Kasauli et al. [19] discussed possible scopes of applying
and studies. Hence, the research questions presented are quite agile in large-scale development along with importance of
related to each other and review of appropriate literature from requirements and challenges that could be faced in large-scale
similar viewpoints could present the multiple solutions to agile system development. Their case study was based upon
single problem. four different companies including one telecommunication,
two automotive and one embedded systems software
TABLE I
SELECTION OF PAPERS
development company. The diverse nature of companies will
help us in generalizing the results and give better
Selection criteria for Relevant Literature understanding of challenges faced in agile.
Criteria Related Non-related
Almeida [20] presented challenges in four different
Agile Organization is Practicing agile for
Transformation adopting Agile long time
dimensions which could be faced by companies in shifting
Large-scale More people and Just large setup but from waterfall to agile software development methodology.
Development teams involved less involved The systematic literature review included thirteen different
Challenges for Challenges faced Challenges in studies relevant to the topic and summarized the practices that
Agile against agile development could be applied to manage and mitigate challenges faced
Most Recent Within current and Anything published during transformation to agile.
previous year before 2016 Türpe et al. [21] highlighted the requirement of integrating
The research area presented and questions of the research, security related activities in agile development process
helped us in defining the criteria for including or excluding a specifically focusing on Scrum. They presented the tensions
certain article in our review: agile transformation, large-scale and challenges that could arise due to optimization of Scrum
development, challenges in agile and being more recent. to explicit requirements and proposed the need of special
Table I lists the criteria and offers a little explanation on focus required for implicit security needs, the estimation and
related and non-related topics. We considered the articles arrangement of security related tasks and to improve
which fulfilled all these criteria. collaboration, verification and feedback mechanism for
Considering the above mentioned criteria we short-listed security.
ten different articles covering our research questions from Neto et al. [22] presented new challenges that may arise in
different viewpoints. Following is the brief overview of those requirements engineering and system testing due to adoption
articles selected for review. of agile in large-scale software development. Their case study
First of that list is systematic literature review by Dikert et focused on collecting and elaborating challenges that
al. [2], which covers the challenges and presents success companies face in requirements engineering while
factors for agile transformation by systematically reviewing transforming to agile in large-scale development. They
the literature up to that time (2016). It is included because it interviewed focused group by conducting workshops in three
will give the insight of most of the related literature different companies including telecommunication, package
presenting challenges of agile transformation in large-scale manufacturing and automotive.
software development. Obrutsky et al. [23] investigated the most common
challenges faced by project management due to adoption of
agile methodology on large-scale by software development Conforming to single approach across whole
organizations. They used the review of literature and survey organization should be encouraged to overcome this
based approach for finding out the barriers and pointed out barrier [2]. Also sharing knowledge among teams
direction or possible ways to overcome those barriers. [22][24] is also important to reduced different in
Ahmed et al. [24] analysed the challenges to management priorities which could arise if teams are working in
of knowledge in agile based global kind of software isolation.
development. They reviewed the literature to identify those 4) Lack of Agile Understanding: It has also been
barriers and presented ways to prioritize them in order to observed that lack of understanding of agile practices
effectively overcome those barriers while successfully causes issues in conforming to agile standards and
implementing agile methodology in global software getting benefits from agile [2][23]. Also the
development. universities are choosing curriculum based mainly
upon traditional development due to which newly
IV. DISCUSSIONS AND IMPLICATIONS hired employees lack knowledge about agile [12]. In
In this section we will analyse the most important order to cope with this challenge, it is necessary to
challenges presented in respective articles specifically related have people with agile experience [23] or train
to agile transformation for large-scale software development. employees across the organization to give them proper
For that we will divide these challenges in following areas understanding of agile and how to implement it
and sub-areas for better understanding: [2][12].