ArticlePDF Available

Abstract and Figures

Agile Software Development has dominated the second half of the past 50 years of Software Engineering. Retrospectives, one of the most common agile practices, enables reflection on past performance, discussion on current progress, and charting forth directions for future improvement. The burgeoning popularity of Agile as the software development model of choice and a significant research sub-domain of software engineering demands a retrospective of its own. In this article, we provide a historical overview of Agiles main focus areas and a holistic synthesis of its trends, their evolution over the past two decades, current status, and forecast from these the likely future of agile software development.
Content may be subject to copyright.
FOCUS: SOFTWARE ENGINEERING’S 50TH ANNIVERSARY
2 IEEE SOFTWARE | PUBLISHED BY TH E IEEE COMPU TER SOCIE TY 0740-7459/18/$33.00 © 2018 IEEE
The Rise and
Evolution of
Agile Software
Development
Rashina Hoda, University of Auckland
Norsaremah Salleh, International Islamic University Malaysia
John Gr u ndy, Monash University
// This article provides a historical overview
of agile’s main focus areas and a holistic
synthesis of its trends, their evolution
over the past two decades, and agile’s
current status and likely future. //
ORIGINALLY, COMPUTER SOFT-
WAR E was written in an ad hoc
manner. The programmers often
had no formal training but great do-
main knowledge and aptitude, most
commonly using large-scale non-
networked machines and lacking a
common set of principles and prac-
tices. This process was really more
akin to a cottage industry than an
engineering discipline.
Subsequently—owing to all the
expected problems of such an
approach—software engineering was
developed as a discipline to provide en-
gineering rigor to the profession. In the
’70s, ’80s, and early ’90s, the growth
of software systems, range of domains
of applications, number of developers,
advent of the web, and diverse range
of challenging software engineering
problems resulted in a set of printci-
ples, methods, practices, and tools to
assist the engineering of such systems.
In this move to complex pro-
cesses, project management, tools,
process and project measurement,
documentation, and other support-
ing practices, the human side of
engineering software was seen by
many to have become, or to certainly
be becoming, lost in mainstream
software development. Emerging in
the late 1990s in response to the
then-prevalent complex methods,
agile methods offered disciplined
yet lightweight processes while plac-
ing human effort and experience at
the core of software development,
through its central focus on people
and interactions.1 Agile methods
retain the rigor of engineering pro-
cesses and best practices while better
helping both stakeholders and soft-
ware engineers build, deploy, and
maintain complex software.
Agile has now become a major
software engineering discipline in
both practice and research. Formally
introduced through a set of four core
values and 12 principles laid out in
the Agile Manifesto,2 agile is now
the mainstream software develop-
ment method of choice worldwide.1
Agile in Practice
The latest State of Agile survey, the
largest and longest-running survey
of its kind, reports 97% of respon-
dents’ organizations practicing agile
somewhere within their organiza-
tion in 2018,1 compared to 84% in
the rst survey in 2007.3 Likely to be
completed by those predisposed to
agile, the latest survey also showed
52% having all or more than half of
their teams practicing agile.
Scrum increased its prominence
as the most popular agile method,
from 40% reported in the rst survey
in 2007 to 56% on its own and 70%
when combined with other methods
in 2018. At the same time, Extreme
Programming (XP) lost ground
from being the second most popular
FPO
SEPTEMBER/OCTOBER 2018 | IEEE SOFTWARE
3
method (23%) to being used in com-
bination with Scrum at 6%. Mean-
while, Kanban on its own (5%) and in
combination with Scrum (Scrumban,
8%) replaced DSDM (dynamic sys-
tems development method, 8%). In
another new development, 71% of
organizations report planning or in-
vesting in DevOps initiatives now.
In the rst survey, reported con-
cerns with adoption centered around
lack of up-front planning, documen-
tation, and predictability, and loss
of management control. In the 2018
survey, the top challenges reported
in adopting and scaling agile orga-
nizational culture were general orga-
nizational resistance to change and
inadequate management support.
One of the most interesting nd-
ings is that an overwhelming 84%
of organizations are still maturing in
their agile practice. This highlights
continued opportunities for agile re-
search on the challenges of agile adop-
tion and practice.
Agile Research
The phenomenal growth of agile
practice is mirrored by agile research
becoming a signicant subdiscipline
of software engineering in the last
two decades and continuing today.
In April 2018, a search for the key-
words “agile software development”
in Google Scholar for a period up to
2001 produced just over 13,000 re-
sults. The same search led to over
260,000 results for today.
Agile research has featured prom-
inently in many premier software
engineering periodicals, including
IEEE Transactions on Software En-
gineering, IEEE Software, Empiri-
cal Software Engineering, Journal
of Systems and Software, and Infor-
mation and Software Technology.
Agile research has also been published
in agship software engineering
conferences such as the International
Conference on Software Engineering
(ICSE) and Foundations of Software
Engineering (FSE) and in numerous
other reputable conferences. In addi-
tion, the rise and sustained growth
of agile research has been chronicled
by 19 years of the International Con-
ference on Agile Software Develop-
ment (XP) and 15 years of the North
American Agile Conference (Agile),
two of the largest dedicated annual
agile conferences, and by numerous
regional agile conferences and events
around the world.
We conducted a research retro-
spective in the form of a tertiary
study4 of 28 systematic literature
reviews and mapping studies, captur-
ing two decades of agile research.5
We identied 10 key agile research
areas: agile adoption, agile methods,
agile practices, human and social as-
pects, agile and GSE (global software
engineering), agile and usability, agile
and CMMI (Capability Maturity
Model Integration), organizational
agility, agile and embedded systems,
and software product line engineer-
ing, summarized in Figure 1.
The agile-practices area, which
covered topics such as test-driven
development, metrics, effort esti-
mation, and requirements, was the
most signicant research area, with
seven systematic reviews. Agile and
FIGURE 1. Systematic literature reviews on agile topics.5 GSE 5 global software
engineering, and CMMI 5 Capability Maturity Model Integration.
0
No. of reviews and studies
Agile practices
Agile and usability
Agile and GSE
Agile methods
Human and social aspects
Agile and CMMI
Agile and embedded systems
Agile adoption
Organizational agility
Software product line engineering
2
4
6
8
4 IEEE SOFTWARE | WWW.COMPUTER.ORG/SOFTWARE | @IEEESOFTWARE
FOCUS: SOFTWARE ENGINEERING’S 50TH ANNIVERSARY
usability had the second highest
number of reviews, ve, and focused
on topics such as integrating the user
experience with agile. Given the role
of human– computer interaction in
maintaining a focus on engineering
for people and its synergies with agile
software development, this is not sur-
prising. This was followed by agile
and GSE , with four reviews.
Agile education, an active and vi-
brant research area, is not included
in our study, as we focus on indus-
trial research. Another signicant
agile research area is pair program-
ming, one of the most popular XP
practices. That area deserves a sec-
ondary review to collate and present
the numerous research studies under
that banner.
Agile Evolution
There is lit tle consensus among indus-
trial reports and sources on the emer-
gence of particular trends in agile
software development over time.
However, the rst relevant publica-
tions in each of these areas are well
documented in some of the larg-
est publication archives and digital
libraries—e.g., the IEEE and ACM
digital libraries. We used the infor-
mation from those digital librar-
ies to devise a timeline illustrating
the rise and evolution of agile soft-
ware development (see Figure 2).1– 4
Indicative papers charting this time-
line can be found at http://dx.doi
.org/10.21227/H2T08T.
The early days of agile saw ex-
ploration of fundamental agile con-
cepts such as agile methods,6 agile
adoption, agile practices, and the
human and social aspects, combined
into the Establishing Fundamentals
trend (see the dark-green elements in
Figure 2). For example, the single
largest review (with 333 papers) was
on the role of communication, a hu-
man and social aspect fundamen-
tal to agile software development.
With the latest State of Agile survey
reporting 84% of organizations to
be still maturing in agile,1 many of
FIGURE 2. The emergence of trends in agile software development, based on the rst relevant publications in the IEEE and ACM
digital libraries. SE 5 software engineering, RE 5 requirements engineering, and AR/VR 5 augmented reality or virtual reality.
Usability
RE
Knowledge management
information systems
Human aspects
adoption practices
Methods
Establishing Fundamentals
Large-scale agile
Beyond Development
DevOps
Security
Global SE
Architecture
Safety-critical
systems
Integrating with SE
CMMI
Game design
AI End-user
development
Embedded systems
Product lines
Beyond Software
Microservices
Emerging Technologies
Internet of Things
big data
AR/VR
Late 1990s
Early 2000s
Early 2010s
Early 2020s
Mid-2000s
Mid-2010s
Late 2000s
Late 2010s
SEPTEMBER/OCTOBER 2018 | IEEE SOFTWARE
5
these fundamental issues continue to
be relevant in practice. Similarly, the
agile research community continues
to call for establishing rmer theo-
retical foundations of agile research,
keeping this trend very much alive.
The Integrating with Software
Engineering trend (see the magenta
elements in Figure 2) saw synergies
explored between agile software
development and some of the more
well-established software engineer-
ing concepts and subdisciplines,
such as usability, requirements en-
gineering, software security, GSE,
software architecture, and safety-
critical systems, in the early and
mid-2000s. Other new topics in this
trend emerged over time, such as in-
tegrating agile and CMMI in the late
2000s and agile and game design
in early 2010s. Most of these topics
have continued to be popular, and
some—in particular, security and
safety-critical systems—have wit-
nessed a strong surge in renewed
interest with recent technological ad-
vancements such as blockchains and
cryptocurrencies.
Small, colocated teams, with an
onsite or easily available customer,
an emphasis on programming and
early testing, and frequent feedback
on iterative delivery of working
software, marked the original agile
sweet spot.7 The mid-2000s saw
agile step outside its comfort zone,
scaling beyond the connes of small
development teams into large-scale
agile, applying hybrids of agile soft-
ware development at the intrateam
level and traditional planning ap-
proaches at the interteam level.
Once again, in the mid-2010s,
agile ventured Beyond Development
to acknowledge operations along-
side development, through DevOps.
Continuous delivery and continuous
feedback from users to developers
would seem a natural t. However,
many technical, sociotechnical, and
organizational challenges present
themselves. When and how should
customer feedback be captured and
actioned, and when should changes
be rolled out? What about software
deployed across different organiza-
tions and user groups with different
requirements? And when software
infrastructure changes signicantly,
how is continuously deployed soft-
ware effectively tested? What is the
impact of DevOps transformations
on agile practices?
Another signicant trend involved
extending agile Beyond Software, its
original domain, and into related dis-
ciplines such as knowledge manage-
ment and information systems in the
early 2000s. Given its central focus
on human and social aspects, agile
has brought the complementary dis-
ciplines of software engineering and
information systems closer than
ever before. Software engineering
has gained from the theoretical ro-
bustness of information systems re-
search, and the information systems
eld has gained from the practical
relevance of software engineering
studies on agile topics.
Agile also spread into closely re-
lated areas such as embedded sys-
tems, starting in the mid-2000s, and
product line engineering, starting in
the mid-2010s. Traditionally, these
domains have had their own pro-
cesses, practices, measurements, and
team cultures. Embedded systems
traditionally have been dominated
by engineers using waterfall-style
processes heavy on planning, docu-
mentation, measurement, and model-
driven tool support.
Applying agile software develop-
ment philosophies, practices, and
cultures to these domains is challeng-
ing. And yet, agile has advanced into
these domains rapidly. For example,
this rapid advance is occurring in the
automotive industry, as it becomes
more and more software-intensive
with the advent of autonomous-
vehicle technologies.
Finally, in the late 2010s, we
see an interest in exploring the ten-
sions and synergies between agile and
micro services. Emerging microservice-
based architectures take software by
composition to a new level. This is
impacting software design and de-
ployment and raises questions such
as, how does a team balance its agile
practices with emerging micro service
architectures that require some level
of design up front?
Agile in the Future
With current advancements in tech-
nologies such as the Internet of
Things (IoT), a wide range of devices
are being integrated into systems,
vast amounts of big data are becom-
ing available for analysis, various
augmented- and virtual-reality sys-
tems are being developed, and in-
telligent solutions are increasingly
expected. At the same time, these
emerging technologies have renewed
interest and opened new possibili-
ties in exploring the full potential
of not-so-new paradigms such as A I
and end-user development,8 going
forward in the 2020s.
We predict a strong role for agile
software development in partner-
ing with and enabling the Emerging
Technologies trend in the foreseeable
future. We expect a number of ques-
tions to be explored:
• How will agile practices enable
AI-based software engineering?
In the last three years, there has
been a large increase in publica-
tions on new AI-based software
tools. Conversely, how can AI be
6 IEEE SOFTWARE | WWW.COMPUTER.ORG/SOFTWARE | @IEEESOFTWARE
FOCUS: SOFTWARE ENGINEERING’S 50TH ANNIVERSARY
used to augment agile software
development?
• Can agile improve data analytics
and data sciences practices in the
way it has improved software
engineering? Is there an agile ap-
proach to data science that lever-
ages practices similar to those of
agile software engineering?
• To full the demand of the IoT,
to what extent can agile methods
revolutionize the IoT industry?
How do hardware, embedded,
creative, visual, source, touch,
and other interface designers
work effectively with, or indeed
within, agile software develop-
ment teams? IoT solutions may
be composed from hardware and
software components. How do
we produce more agile hardware
solutions?
• Security continues to be a major
concern for developers and us-
ers. While agile practices and
continuous-deployment ap-
proaches theoretically allow for
quick xes of emerging security
issues, extensive security testing
before deployment is increas-
ingly being required. Similarly,
zero-day security threats can’t
be fully designed or tested for,
but an agile x may not be ac-
ceptable in many circumstances,
either. How do agile methods
ensure that security require-
ments are continually met?
• How can agile processes sup-
port the development of safety-
critical systems in increasingly
software-intensive autonomous
vehicles, software-dened net-
working, and robotics develop-
ment and integration?
• End-user development of
complex software, whether by
coding, conguration, composi-
tion, or a mixture, is likely to
continue to increase. Can agile
practices support the develop-
ment of software by non-tech-
nical experts who nonetheless
want to quickly and effectively
improve and deploy parts of
the software systems they use?
Where does an agile software
development team end and end-
user developers of their own
(parts of a) software system
begin?
• How do we successfully lever-
age agile across multiple emer-
gent technology domains and
practices? For example, what
does “agile, secure DevOps for
data-intensive intelligent sys-
tems” mean for researchers and
practitioners?
Since its inception in the
late 1990s, agile software
development has come to
dominate the latter half of the past
50 years of software engineering. It
started off with Establishing Fun-
damentals such as agile adoption,
methods, and practices, and human
and social aspects. Then it moved
on to Integrating with Software En-
gineering topics and subdisciplines
such as usability, requirements engi-
neering, GSE, software architecture,
CMMI, and game design. Of late,
agile development has seen renewed
interest in security and safety-critical
systems and seems likely to move
into exploring synergies with AI and
end-user development.
Research has been directed at
understanding how agile is made to
work in practice within and along-
side these preestablished software en-
gineering paradigms. Barriers, areas
of conict, synergies, strategies, and
workarounds have been researched
and presented. Moving further out
of its original comfort zone of small,
colocated teams, agile has spread Be-
yond Development into DevOps im-
plementations and large-scale agile
on the business and enterprise levels.
After more than two decades of
practice, organizations consider them-
selves still maturing in successfully
deploying, improving, and contex-
tualizing their agile practices to their
teams, customers, and specic project
conditions. Researchers continue to
study these issues and to help practi-
tioners comprehend and address them.
Another fundamental issue, that of
managing change within a process
that actively promotes embracing
change, demands further inquiry.
However unsure as we may feel
about our collective maturity in agile
software development, software en-
gineers are indeed looked upon as
the experts in agile practice by those
in disciplines Beyond Software, such
as embedded systems and product
lines. Agile practitioners can assist in
agile transformations outside of soft-
ware development—e.g., in human
resources, sales and marketing, proj-
ect management, and R&D. They
can do this by abstracting out the
lessons learned from agile transfor-
mation in software teams, applying
them to new contexts, and helping
adapt agile to t new contexts.
Finally, peeking into the future,
much give and take can be expected
between agile and Emerging Tech-
nologies such as the IoT, augmented
and virtual reality, big data services,
paradigms such as AI, and end-user
development.
References
1. 12th Annual State of Agile Survey
Report, VersionOne, 2018; http://
stateofagile.versionone.com.
2. M. Fowler and J. Highsmith,
“The Agile Manifesto,” Software
SEPTEMBER/OCTOBER 2018 | IEEE SOFTWARE
7
Development, vol. 9, no. 8, 2001, pp.
28–35; http://agilemanifesto.org.
3. Sur vey: “The State of Agile Devel-
opment,” VersionOne, 2007; http://
stateofagile.versionone.com.
4. B.A. Kitchenham and S. Char-
ters, Guidelines for Performing
Systematic Literature Reviews in
Software Engineering, tech. report
EBSE -2007-01, Keele Univ. and Univ.
of Durham, 2007.
5. R. Hoda et al., “Systematic Literature
Reviews in Agile Software Develop-
ment: A Tertiary Study,” Information
and Sof tware Technology, vol. 85,
2017, pp. 60–70.
6. M. Aoyama, “Web-Based Agile Soft-
ware Development,” IEEE Software,
vol. 15, no. 6, 1998, pp. 56 65.
7. D. Reifer, F. Maurer, and H. Erdog-
mus, “Scaling Agile Methods,” IEEE
Software, vol. 20, no. 4, 2003, pp.
12 –14.
8. J. Segal and C . Morris, “Developing
Scientic Software,” IEE E Software,
vol. 25, no. 4, 2008, pp. 18–20.
Read your subscriptions
throu gh the myCS
publications portal at
http://mycs.computer.org
ABOUT THE AUTHORS
RASH INA HODA is a senior lecturer (associate professor)
and the founder of the Software Engineering Processes Tools
and Applications research group at the University of Auckland.
Her research interests include agile software development,
cooperative and human aspects of software engineering,
grounded theor y, and serious-game design. Hoda received a
PhD in computer science from Victoria University of Wellington.
Contact her at r.hoda@auckland.ac.nz.
NORSAREMAH SALLEH is an associate professor in the
Department of Computer Science, International Islamic
University Malaysia. Her research interests include empirical
software engineering (SE ), evidence based SE, the human and
social aspects of SE, and computer science and SE education.
Salleh received a PhD in computer science from the Universit y
of Auckland. C ontact her at norsaremah@iium.edu.my.
JOHN GRUNDY is the senior deputy dean of Monash
University’s Faculty of Information Technology. His research
interests include automated software engineering, software
tools, human-centric software engineering, visual languages,
software architecture, software security engineering, and user
interfaces. He’s a Fellow of Automated Software Engineer-
ing and of Engineers Australia. Contact him at john.grundy@
monash.edu.
... The major goal of Industry 4.0 [12] is to intertwine and centralize tasks in product development through automation and digitalization. The possibilities of VR technology, blended with other immersive technologies and supported via integrated data chains [3,35], offer ways not only to advance the Industry 4.0 production model, but also to affect management philosophies positively, such as Lean and Agile [19,36,37]. Virtual reality and other immersive technologies have the potential to enhance the Lean principles of waste reduction to optimize value creation [19,38]. ...
... For instance, an example from the construction field [37] demonstrated how a combination of innovative technologies, such as AR, VR and BIM (Building Information Modelling) positively influence key performance metrics and sustainability, thus enhancing Lean Construction. Similarly, as technology evolves, Agile practices procure and enhance team collaboration, and performance can benefit from adopting virtual reality, especially for distributed teams [36,39]. ...
Article
Full-text available
Virtual Reality (VR) is a critical emerging technology in industrial contexts, as it facilitates collaboration and supports the product development lifecycle. However, its broad adoption is constrained by complex and high-cost integration. The use of VR among devices with various immersion and control levels may solve this obstacle, and increase the scalability of VR technologies. This article presents a case study on applying asymmetry between the COVE-VR platform and Microsoft Teams to enable distributed collaboration of multinational departments and enhance the maintenance method and documentation creation processes. Overall, five remote collaborative sessions were held with 20 experts from four countries. Our findings suggest that asymmetry between head-mounted display and Teams users enhances the quality of communication among geographically dispersed teams and their spatial understanding, which positively influences knowledge transfer and efficiency of industrial processes. Based on qualitative evaluation of the asymmetric VR setup, we further suggest a list of guidelines on how to enhance the collaboration efficiency for low-cost distributed asymmetric VR from three perspectives: organization, collaboration and technology.
... If the growing interest in agile is partly driven by achieving quality, then how does the agile manifesto advocate for quality and excellence? In addition, recent reviews of the literature [17,27] show limited interest on the topic of quality in agile. Since agile influences the value system of software teams, there is a merit to evaluate how agile teams achieve quality and technical excellence. ...
Article
Full-text available
Context Technical excellence is a nebulous term in agile software development. This vagueness is risky because it may lead to misunderstandings and to agile implementations that may overlook a key principle of agile development. Objective This study investigates how agile practitioners interpret the concept of technical excellence brought up in Principle 9 of the Agile manifesto. Moreover, we investigate how agile practitioners put the concept into practice and what conditions facilitate putting technical excellence into practice. Methods We conducted semi-structured interviews with twenty agile practitioners, coded the data inductively, and performed two sessions to validate the emerging findings. Results We find that technical excellence is first and foremost a mindset that is underpinned by continuous attention to sustainable code, continuous learning, and teamwork. Fostering technical excellence requires the adoption of design and development practices, such as continuous architecting, and is supported by continuous learning. We also identify three enabling conditions for technical excellence: Leadership support, customer buy-in, and psychological safety. These enablers provide teams with leeway to nurture their pursuit of technical excellence. Conclusion Our findings highlight the key role of people-based strategies in promoting technical excellence in agile software development. They show that the attainment of technical excellence does not only involve technical practices. On the contrary, it relies on social and organizational support and, most importantly, a mindset.
... The Agile Manifesto caught on quickly with the software development community creating as much impact on the discipline as the Deming Management Method did on the Quality movement. By 2007, 84% of the respondent organizations were using agile methods within their organizations which rose to an impressive 97% by 2018 (Hoda, Salleh and Grundy, 2018). ...
Preprint
Full-text available
The Agile Software Development (ASD) method is guided by the Agile manifesto which consists of an Agile philosophy and a set of 12 principles. However, despite the indisputable impact of Agile philosophy and principles on software development around the world, the phenomenon of its popularity has not received requisite attention by researchers. In this article we use the rhetorical analysis by focus group of eight industry experts and academics to understand the appeal and attractiveness of ASD to the software development community. We discover that the time was ripe for its introduction with many paradigms and established approaches getting challenged due to rapid pace of technological changes and rise in business uncertainties. The Agile manifesto and its principles tapped into the mood of the moment and perhaps unwittingly through an amalgamation of popular theories of the time from management and manufacturing created a movement generally welcomed by the software developers, but which intrigued many among the software engineering community who were traditionally strong adherents of Taylorism and its principles.
... However, in the late 1990s, as disenchantment with the heavy-weight engineering methods grew, suggestions for improvement came from practitioners culminating in the Agile manifesto (2001) The Agile Manifesto caught on quickly with the software development community. By 2007 84% of the respondent organizations were using agile methods within their organizations which rose to an impressive 97% by 2018 (Hoda, Salleh and Grundy, 2018). Scholars and practitioners are now working to transfer the success of agile software development methods in other functions and domains, However, in their article Rigby, Sutherland and Takeuchi (2016) noted that "Agile has indisputably transformed software development, and many experts believe it is now poised to expand far beyond IT. ...
Conference Paper
Full-text available
The concept of agility originated in manufacturing and was later adopted by the software development discipline. In this article we argue that in the process some important aspects of the agility theory have been either ignored or misinterpreted. A historical review of the evolving paradigms and practices in software development and manufacturing on the 20th anniversary of the Agile Manifesto (2001) suggests that if the ideas and principles underlying agility are faithfully implemented it would lead to significant improvement in the software development process.
... Agile software development is a form of operational agility that has influenced organizational agility since the early 2000s. It emerged in information technology (IT) in the mid-1990s and is now mainstream [47]. Agile software development is widely adopted in small scale, large-scale, and globally distributed projects [48], and has transformed IT services with the emergence of DevOps and BizDev [49]. ...
Article
Transforming into an agile organization is challenging because it involves complex changes across the organization including changes to strategy, structure, culture, operations, and technology. Although much has been written about organizational agility, practitioners still call for authentic accounts and concrete experiences to help them understand how to transform. This article is based on three case studies of diverse organizations transforming to agility and provides an account of each transformation. Each organization chose a different focus for their transformation: culture change, strategic change, and operational change. Each organization faced challenges that resulted in tensions.We present 13 tensions from three cases, which illustrate the kinds of tension that organizations face in agile transformations.We consider these 13 tensions through the lens of paradox theory and thereby produce both practical guidance and theoretical contributions. We show how questions generated from this perspective may be used to guide transformation leaders and managers in addressing the tensions they will meet. Our findings provide empirical evidence for the tension categories in paradox theory and show that tensions occur during transformations to agility and not just in fully agile organizations.
... Software development itself is a highly systematic and complex work. Whether software development can be carried out smoothly is often affected by many factors [1]. From the point of view of practical work, the process of software development work is also accompanied by certain risks. ...
Article
Full-text available
With the rapid development of software industry, software enterprises have many problems in risk management, and enterprises are facing a huge crisis. In order to detect the risk of software enterprise, a risk detection model based on BP neural network is proposed in this paper. Firstly, risk analysis and modeling are carried out for the software life cycle process of the enterprise. Then, BP neural network is combined with common software risk items to realize supervised deep learning based on label information in data set. Using the advantage of neural network in automatic selection of original data features, the relationship between these risk items is extracted. Meanwhile, the network model in this paper learns the complex relational rules of the input risk features, to classify the risks. Finally, the proposed combined prediction model is compared with other prediction models. The experimental results show that the risk prediction effect of the proposed algorithm is better, to avoid the loss caused by the risk of software enterprises.
... There are several project management strategies and methodologies for software project management. The United Kingdom government established and mandated a PRINCE2 method and certification for management (Graham, 2009), while Agile is a popularly growing project method in technology companies (Rashina Hoda, 2018). Companies have also tried out different variations in agile such as iterative and incremental models of software development. ...
Thesis
Project Management is one of the highly regarded and required skill in software companies. A controlled project management environment plays a strong role to ensure that project deliverables completed on time, as most software projects are never completed within proposed time or cost. From a thematic literature review, personnel management, financial management, GRC (Governance, Risk, and Compliance) management and stakeholder management are identified as four major components of project management while requirement engineering, software development, and deployment & service are identified as three main phases of software engineering. Data from survey of developers, finance manager, technology manager and clients were used for assessment of project management at Kathmandu Codes. Four different categories of respondents were provided with different questionnaires, relating to the project management themes. KPIs for each of the management components in each of the software engineering phases were defined with their own qualifying criteria for assessment of effectiveness. The findings show huge gaps in financial management and GRC management at the company, costing the company hefty portion of their profits. The findings recommends that startup and small software companies need to focus on financial forecasts, monitoring expenses and on creating policies for management and solution of risks. Companies of this nature can also benefit from providing trainings and workshops to developers for growth of soft skills such as business meeting presentations and collaborative work.
Book
Full-text available
Die Arbeit stellt Grundprobleme und Lösungsansätze einer Soziologie der Software vor und skizziert damit eine soziologische Perspektive auf einen Forschungsgegenstand, der für das Verständnis digitalisierter Gesellschaften zentral ist. Dafür werden organisations- und techniksoziologische Forschungsergebnisse zum Thema Software mit Erkenntnissen aus den Science and Technology Studies und der Forschung zu Computer Supported Cooperative Work zusammengeführt. Die Autorin entwickelt auf dieser Basis einen Forschungsrahmen, in dem Software gleichzeitig als Werkzeug für und als Resultat von Versuchen betrachtet wird, Kontrolle über das Soziale und seine Unsicherheiten auszuüben. Anhand einer Fallstudie zum Einsatz der weit verbreiteten Standardsoftware SAP für die Planung von Operationen wird vorgeführt, wie Software die Machtspiele in Organisationen beeinflusst und von Einzelnen strategisch genutzt wird, um individuelle Ziele zu erreichen. Es zeigt sich, dass Software ein Machtinstrument ist, das nicht nur von der Organisationsleitung, sondern auch gegen sie eingesetzt werden kann. Dabei wird verständlich, warum Software in Organisationen selten nur das verändert, was bei ihrer Einführung beabsichtigt war.
Thesis
Full-text available
Zahlreiche Systems Engineering (SE) Methoden zur Systemspezifikation fokussieren die Beherrschung von Komplexität allein durch Partitionierung des Systems auf Basis physikalischer Strukturen oder durch Definition unterschiedlicher Sichtweisen auf das System und stoßen damit in der agilen Entwicklung an ihre Grenzen. Der zunehmende Bedarf nach einer agilen Systementwicklung erfordert agile Verfahren für die modell- und dokumenten-basierte Top-Down-Spezifikation von Systemen. Obwohl die feature-getriebene Entwicklung und die Produktlinienentwicklung zur Komplexitätsbeherrschung und zur Verbesserung der Entwicklungseffizienz in der Softwareentwicklung anerkannt sind, wurden diese bislang nicht mit etablierten SE-Grundlagen zu agilen SE-Verfahren kombiniert. Zusätzlich ist die Entwicklung von XiL-Simulationsmodellen elektrischer Automobilantriebe aktuell geprägt durch einen hohen Anteil manueller und erfahrungsbasierter Arbeit, was lange Entwicklungszyklen und hohe Kosten verursacht. Die Anwendung von Softwarearchitekturmitteln ist bei der Simulationsmodellentwicklung nur teilweise etabliert und insbesondere funktionale Referenzarchitekturen existieren für XiL-Simulationsmodelle elektrischer Automobilantriebe nicht. Obwohl in der Software- und Systementwicklung zahlreiche Methoden zur Spezifikation von Systemen und deren Architekturen etabliert sind, wurden diese zur Definition einer funktionalen Referenzarchitektur elektrischer Automobilantriebe bisher nicht eingesetzt. In dieser Arbeit wird das neue SE-Verfahren Compositional Unified System-Based Engineering (CUBE) vorgestellt, das erstmals konventionelle SE-Methoden mit dem agilen Entwicklungsverfahren der feature-getriebenen Entwicklung kombiniert. Dieses Verfahren wird auf Basis theoretischer Analysen systematisch entwickelt und die Eignung für die anwendungsspezifische Definition von feature-getriebenen Entwicklungsprozessen am Beispiel einer Referenzarchitektur für XiL-Simulationsmodelle elektrischer Automobilantriebe demonstriert. Die abgeleitete Electric Modeling Architecture (EleMA) wird in zwei unterschiedlichen Anwendungsfällen (MiL und EMiL) funktional evaluiert. Zusätzlich werden Veränderungen nicht-funktionaler Eigenschaften sowie der Entwicklungsaufwand von Simulationsmodellen bei Verwendung der Referenzarchitektur quantifiziert. Das CUBE-Verfahren kann durch den Einsatz der feature-getriebenen Entwicklung die Zusammenarbeit in interdisziplinären Entwicklungsteams verbessern und ermöglicht Unternehmen die Anpassung von Entwicklungsprozessen an eine agilere Top-Down-Spezifikation von Systemen. EleMA ermöglicht eine Reduktion des Entwicklungsaufwands sowie eine nicht-funktionale Qualitätsverbesserung für XiL-Simulationsmodelle elektrischer Automobilantriebe.
Article
Full-text available
Context A number of systematic literature reviews and mapping studies (SLRs) covering numerous primary research studies on various aspects of agile software development (ASD) exist. Objective The aim of this paper is to provide an overview of the SLRs on ASD research topics for software engineering researchers and practitioners. Method We followed the tertiary study guidelines by Kitchenham et al. to find SLRs published between late 1990s to December 2015. Results We found 28 SLRs focusing on ten different ASD research areas: adoption, methods, practices, human and social aspects, CMMI, usability, global software engineering (GSE), organizational agility, embedded systems, and software product line engineering. The number of SLRs on ASD topics, similar to those on software engineering (SE) topics in general, is on the rise. A majority of the SLRs applied standardized guidelines and the quality of these SLRs on ASD topics was found to be slightly higher for journal publications than for conferences. While some individuals and institutions seem to lead this area, the spread of authors and institutions is wide. With respect to prior review recommendations, significant progress was noticed in the area of connecting agile to established domains such as usability, CMMI, and GSE; and considerable progress was observed in focusing on management-oriented approaches as Scrum and sustaining ASD in different contexts such as embedded systems. Conclusion SLRs of ASD studies are on the rise and cover a variety of ASD aspects, ranging from early adoption issues to newer applications of ASD such as in product line engineering. ASD research can benefit from further primary and secondary studies on evaluating benefits and challenges of ASD methods, agile hybrids in large-scale setups, sustainability, motivation, teamwork, and project management; as well as a fresh review of empirical studies in ASD to cover the period post 2008.
Article
Full-text available
The objective of this report is to propose comprehensive guidelines for systematic literature reviews appropriate for software engineering researchers, including PhD students. A systematic literature review is a means of evaluating and interpreting all available research relevant to a particular research question, topic area, or phenomenon of interest. Systematic reviews aim to present a fair evaluation of a research topic by using a trustworthy, rigorous, and auditable methodology. The guidelines presented in this report were derived from three existing guidelines used by medical researchers, two books produced by researchers with social science backgrounds and discussions with researchers from other disciplines who are involved in evidence-based practice. The guidelines have been adapted to reflect the specific problems of software engineering research. The guidelines cover three phases of a systematic literature review: planning the review, conducting the review and reporting the review. They provide a relatively high level description. They do not consider the impact of the research questions on the review procedures, nor do they specify in detail the mechanisms needed to perform meta-analysis.
Article
Full-text available
Using agile methods to develop large systems presents a thorny set of issues. If large teams are to produce lots of software functionality quickly, the agile methods involved must scale to meet the task. After all, a small team could create the software if the functionality to be delivered was small and, conversely, could be delivered given we had the time. Scaling agile teams thus becomes an issue if the only option for meeting a system delivery deadline is to have many developers working concurrently.
Article
Not all scientific computing is high-performance computing - the variety of scientific software is huge. Such software might be complex simulation software developed and running on a high-performance computer, or software developed on a PC for embedding into instruments; for manipulating, analyzing or visualizing data or for orchestrating workflows. This special issue provides some flavor of that variety. It also explores the question of how the development of scientific software can be improved.
Article
The pressure to be first to market with a new product has accelerated the development process. Today's process models require agility, defined as the ability to operate in real time and to adapt quickly to changing requirements and conditions. Further, the global, distributed nature of many projects-often developed now over the Internet and intranets-demands flexible, integrated tools. The author's Web-based Agile Software Engineering Environment answers these challenges with a time-based life cycle that provides just-in-time process management
The State of Agile Development
  • Versionone
VersionOne. The State of Agile Development (First Survey Report), Available http://stateofagile.versionone.com/ Last accessed 24th Jan 2018.
Her research interests include agile software development, human and social aspects of software engineering, grounded theory, and serious game design. Hoda received her PhD in computer science from Victoria University of Wellington
  • J Segal
  • C Morris
J. Segal, C. Morris. Developing scientific software. IEEE software, 25(4), 18-20, 2008. RASHINA HODA is a Senior Lecturer and the founder of the Software Engineering Processes Tools and Applications (SEPTA) research group at the University of Auckland, New Zealand. Her research interests include agile software development, human and social aspects of software engineering, grounded theory, and serious game design. Hoda received her PhD in computer science from Victoria University of Wellington, New Zealand. Contact her at r.hoda@auckland.ac.nz
The State of Agile Development
  • M Fowler
  • J Highsmith
M. Fowler and J. Highsmith, "The Agile Manifesto," Software Development, vol. 9, no. 8, 2001, pp. 28-35; http://agilemanifesto.org. 3. Survey: "The State of Agile Development," VersionOne, 2007; http:// stateofagile.versionone.com.