Conference PaperPDF Available

Summary of the 1 st International Workshop on Impact of Agile Practices (ImpAct 2015)

Authors:

Abstract

Agile software development has become well known to the community and is nowadays frequently used for the development of different kinds of software systems. Agile methods are widely spread and often adapted to the context-specific needs. The adaptations constitute reductions and/or extensions of agile practices. Yet, we have limited knowledge about the impact of some of the individual practices, which is crucial to justify organizational changes. To systemize the knowledge of the impact of agile practices, we launch this workshop and invite researchers and practitioners to work on a documenting and accumulating their experiences in a knowledge base.
Summary of the 1st International Workshop on
Impact of Agile Practices (ImpAct 2015)
Philipp Diebold
Fraunhofer IESE,
Kaiserslautern, Germany
philipp.diebold@iese.fhg.de
Daniel Méndez Fernández
Technische Universität München,
Munich, Germany
mendezfe@in.tum.de
Darja Šmite
Blekinge Institute of Technology,
Karlskrona, Sweden
darja.smite@bth.se
ABSTRACT
Agile software development has become well known to the
community and is nowadays frequently used for the development
of different kinds of software systems. Agile methods are widely
spread and often adapted to the context-specific needs. The
adaptations constitute reductions and/or extensions of agile
practices. Yet, we have limited knowledge about the impact of
some of the individual practices, which is crucial to justify
organizational changes. To systemize the knowledge of the impact
of agile practices, we launch this workshop and invite researchers
and practitioners to work on a documenting and accumulating
their experiences in a knowledge base.
Categories and Subject Descriptors
D.2.9 [Software Engineering Management]: Software process
models.
General Terms
Measurement, Documentation, Standardization.
Keywords
Software processes, software process improvement (SPI), agile,
agile development, agile practices, impact model, causal model,
knowledge base.
1. MOTIVATION AND PROBLEM
Agile Software Development has become a commonly used
software development methodology for various domains [6]. Yet,
there are some domains, especially in the field of embedded
reactive systems which is dominated by complex and distributed
processes with many contractors, where agile is often not accepted
t all. Those who adapt agile methods, such as Scrum, perform
many changes so that the methods and principles fit their context
[3].
Adaptations of agile methods often manifest on the lower
level of granularity, because specific (agile) practices of the
different methods, such as pair programming, are replaced,
extended, changed and/or avoided. If looking at the huge diversity
of agile methods that appeared during the last decades [1], the
publication landscape has become wide and full of very specific-
purpose agile practices. But only for a small part of the large
number of practices, such as pair programming, there is
trustworthy evidence available about their impact on different
aspects [2][5], e.g. development process, people, work products,
and quality. Such evidence is, however, crucial for a founded and
justifiable decision of which agile practices to use, and which
practices improve software development processes in response to
which context-specific characteristic.
To address these research gaps, the primary purpose of the 1st
Workshop on Impact of Agile Practices is to discuss our current
state of evidence on the impact of agile practices, and develop
ideas regarding the necessary progress, in particular, initiating the
work on a knowledge base of some sort that intends to accumulate
the evidence of impacts of agile practices. In this summary, we
present the detailed workshop plan including ideas and topics in
Section 2 and expected workshop outcomes in Section 3.
2. WORKSHOP IDEAS & TOPICS
There is a need of identifying and systematizing the impacts of
agile practices for improving software processes in a goal-oriented
and context-specific manner. Since there is only limited
experience published so far, we lack knowledge about which
experience has been achieved in which contexts. Thus, the first
workshop is conducted as an interactive discussion for the
elaboration of initial ideas of how to collect evidence on the
impact of agile practices. To accommodate this, the workshop is
organized as follows:
The workshop starts with providing a short introduction into
the general topic and its motivation.
After the initial introduction, the workshop organizers as
well as selected participants present their experience,
motivation, ideas or expectations in relation to the different
topics of the workshop.
The presentation round is followed by the main part of the
workshop, the group discussions in an interactive open-
space manner. The starting topics are the meta-model,
elaboration and structuring of existing impacts of agile
practices, collection of the new impacts of agile practices,
and their operationalization.
The results of the different working groups are then
presented and discussed.
Finally, a short summary and conclusion is given by the
workshop organizers based on the different findings of the
workshop to elaborate future work as a community strategy
w.r.t. continuous data collection, dissemination,
publications, and follow-up meetings.
The topics described in the following sub-sections outline
the rationale for the main four topics as the scope of the workshop
on the impact of agile practices.
2.1 Meta-Model
A meta-model serves as a foundation to define (1) how to
structure the content elaborated within the community and (2)
how to share the results within the community or public.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee.
ICSSP’15, Augu st 2426, 2015, Tallin n, Estonia.
Copyright 2015 ACM 978-1-4503-3346-7/15/08…$15.00.
This is the author’s version of the work. It is posted here for your personal use. Not for
redistribution. The definitive version was published in the following publication:
ICSSP’15, August 24–26, 2015, Tallinn, Estonia
ACM. 978-1-4503-3346-7/15/08
http://dx.doi.org/10.1145/2785592.2785622
181
© ACM. PREPRINT. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution.
The definitive version was published in the conference/workshop proceedings.
For this reason, we use the Agile Practices Impact Model of
Diebold and Zehler [4] as a starting point to define such a meta-
model for the impact of agile practices, taking advantage of the
already proposed concept, terms, and relations.
2.2 Elaboration and Structuring of Existing
Impacts of Agile Practices
To succeed with understanding the impact of agile practices, it is
important to structure the already existing experiences (agile
practices and their impacts) be it reported evidences or personal
practical experiences. The major challenges to overcome are
related to the diversity of different data sources which range from
scientifically published evidence, such as systematic literature
reviews (SLRs), surveys, experience reports, and existing grey
literature to personal experience.
In addition to the use of existing sources, we discuss the
option of designing and launching our own survey project within
the community, similar as done on requirements engineering (RE)
via the NaPiRE-survey project1. In this case, further thoughts on
how and where to spread such a survey to collect necessary and
reasonable data are shared.
2.3 Collection of the New Impacts of Agile
Practices
One task we opt for during the workshop is to initiate the
collection of the evidences on the impact of selected agile
practices. This can be done through a aforementioned survey (see
section 2.2). We discuss how to structure and report such
evidences using the constructs and rules defined by the meta-
model (see section 2.1). The primary scope is not to conduct a
regular (exhaustive) data collection, but to provide one exemplary
instantiation of the meta-model (Sect. 2.1) and to discuss whether
the structure for collecting and reporting impacts is suitable and
sustainable for future usage.
2.4 Operationalization and Usage of the
Impacts of Agile Practices
In contrast to the other three topics, which deal to a certain extent
with the collection of the impacts of agile practices, this topic
focuses on the operationalization and usage of the impacts in the
industrial practice. We believe it is important for practitioners
who participate in the workshop to get some practical guidance on
which agile practices can be implemented in which way in a
specific context. To support this, we engage them in discussing
the ways of establishing a measurement program in the companies
to accumulate the effect/impact of agile practices in their use. This
trustworthy impact could then be reintegrated into the existing
evidenced base.
3. WORKSHOP OUTCOME
Ideas elaborated and discussed during the workshop lay the
ground for a set of more or less technical outputs:
Position statement regarding the need of impact of agile
practices for improving software development processes;
Revised version of the initial meta-model (as proposed in [4]);
List of different types of evidence sources, e.g. scientific
publications (SLRs, exp. reports), white papers, surveys, etc.
1 See re-survey.org
List of already known, readily available data sources, e.g. [2]
and [5] as evidence for pair programming, or contacts of
practitioners with personal experience;
Ideas of how to collect further data regarding the impact of
agile practices;
Strategy of operationalization / implementation of agile
practices in different industrial contexts.
In addition to those more technical outputs, there are further
aspects that are a part of the workshop or the follow-up work,
which we summarize next.
3.1 Community
Since we are aware of the breadth of the area concerned, i.e.
collection and maintenance of the impacts of agile practices, the
workshop provides a common forum and a stimulus to establish a
community working on different aspects related to the impact of
agile practices (e.g. specific agile practices, specific aspects w.r.t.
collection, measurement or maintenance of the evidence, or
specific contexts). The annual workshop shall form the basis for a
long-term collaboration between the community members.
3.2 Roadmap and Strategy
In addition to the community building, we aim for establishing a
roadmap and strategy for the community. This concerns
formulating guidance and agreed plan of the future research
activities, including regular meetings and collaboration platform
to support distributed working (e.g. shared workspace, online
meetings) as well as a possible location and time for a follow-up
workshop. In summary, we derive a coarse strategy as well as a
list of To-Do’s for the next meeting(s) and workshops.
Finally, the dissemination of the results of the workshop to
support the visibility of the community is discussed. Hence, the
roadmap shall encompass a publication plan.
4. ACKNOWLEDGMENTS
Our thanks to Thomas Zehler for supporting us to plan the
workshop and the conference organizers for supporting us to
promote and conduct the workshop at the ICSSP 2015. This
workshop will be supported by the Software Campus project
(BMBF 01IS12053).
5. REFERENCES
[1] Abrahamsson, P., Warsta, J., Siponen, M.T., and Ronkainen,
J. 2003. New directions on agile methods: a comparative
analysis. In Proceedings of the ICSE '03. IEEE Computer
Society, Washington, DC, USA, 244-254.
[2] Arisholm, E., Gallis, H., Dyba, T. and Sjoberg, D., 2007.
Evaluating Pair Programming with Respect to System
Complexity and Programmer Expertise. IEEE Transaction
on Software Engineering 33, 2 (Feb. 2007), 65-86.
[3] Diebold, P., Ostberg, J.P., Wagner, S., and Zendler, U. 2015.
What Do Practitioners Vary in Using Scrum? In Proceedings
of XP’15. Springer, Germany, LNBIP 212, 40-52.
[4] Diebold, P. and Zehler, T. 2015. The Agile Practices Impact
Model Idea, Concept, and Application Scenario. In
Proceedings of ICSSP’15. ACM, New York, NY, USA.
[5] Hulkko, H., and Abrahamsson, P. 2005. A multiple case
study on the impact of pair programming on product quality.
In Proceedings of ICSE '05. ACM, USA, 495-504.
[6] VersionOne Inc. 2015. 9th Annual State of Agile Survey.
182
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Full-text available
Because agile development has become more important in software engineering in recent years, many companies want to become agile. One way to do so is context-specific improvement, preferably performed by selecting the right agile practices and integrating them into the current software development process. For making an appropriate selection, the impact on the improvement goals needs to be known. Therefore, the idea is to build an overall model that includes the impact of at least the most commonly used agile practices. This impact model is mainly built on these agile practices, on various impact characteristics, and on their connections. A larger example of some practices and their (possible) impact characteristics is presented. Additionally, the Agile Capability Analysis is introduced as an example application scenario of the model. The Agile Practices Impact Model presented in this paper could support context-specific integration of agility into any current development process. Nonetheless, the model needs to be filled with existing evidence.
Conference Paper
Full-text available
Background: Agile software development has become a popular way of developing software. Scrum is the most frequently used agile framework, but it is often reported to be adapted in practice. Objective: Thus, we aim to understand how Scrum is adapted in different contexts and what are the reasons for these changes. Method: Using a structured interview guideline, we interviewed ten German companies about their concrete usage of Scrum and analysed the results qualitatively. Results: All companies vary Scrum in some way. The least variations are in the Sprint length, events, team size and requirements engineering. Many users varied the roles, effort estimations and quality assurance. Conclusions: Many variations constitute a substantial deviation from Scrum as initially proposed. For some of these variations, there are good reasons. Sometimes, however, the variations are a result of a previous non-agile, hierarchical organisation.
Conference Paper
Full-text available
Agile software development methods have caught the attention of software engineers and researchers worldwide. Scientific research is yet scarce. This paper reports results from a study, which aims to organize, analyze and make sense out of the dispersed field of agile software development methods. The comparative analysis is performed using the method's life-cycle coverage, project management support, type of practical guidance, fitness-for-use and empirical evidence as the analytical lenses. The results show that agile software development methods, without rationalization, cover certain/different phases of the software development life-cycle and most of them do not offer adequate support for project management. Yet, many methods still attempt to strive for universal solutions (as opposed to situation appropriate) and the empirical evidence is still very limited. Based on the results, new directions are suggested In principal, it is suggested to place emphasis on methodological quality - not method quantity.
Article
Full-text available
A total of 295 junior, intermediate, and senior professional Java consultants (99 individuals and 98 pairs) from 29 international consultancy companies in Norway, Sweden, and the UK were hired for one day to participate in a controlled experiment on pair programming. The subjects used professional Java tools to perform several change tasks on two alternative Java systems with different degrees of complexity. The results of this experiment do not support the hypotheses that pair programming in general reduces the time required to solve the tasks correctly or increases the proportion of correct solutions. On the other hand, there is a significant 84 percent increase in effort to perform the tasks correctly. However, on the more complex system, the pair programmers had a 48 percent increase in the proportion of correct solutions but no significant differences in the time taken to solve the tasks correctly. For the simpler system, there was a 20 percent decrease in time taken but no significant differences in correctness. However, the moderating effect of system complexity depends on the programmer expertise of the subjects. The observed benefits of pair programming in terms of correctness on the complex system apply mainly to juniors, whereas the reductions in duration to perform the tasks correctly on the simple system apply mainly to intermediates and seniors. It is possible that the benefits of pair programming will exceed the results obtained in this experiment for larger, more complex tasks and if the pair programmers have a chance to work together over a longer period of time
Conference Paper
Pair programming is a programming technique in which two programmers use one computer to work together on the same task. There is an ongoing debate over the value of pair programming in software development. The current body of knowledge in this area is scattered and unorganized. Review shows that most of the results have been obtained from experimental studies in university settings. Few, if any, empirical studies exist, where pair programming has been systematically under scrutiny in real software development projects. Thus, its proposed benefits remain currently without solid empirical evidence. This paper reports results from four software development projects where the impact of pair programming on software product quality was studied. Our empirical findings appear to offer contrasting results regarding some of the claimed benefits of pair programming. They indicate that pair programming may not necessarily provide as extensive quality benefits as suggested in literature, and on the other hand, does not result in consistently superior productivity when compared to solo programming.
What Do Practitioners Vary in Using Scrum?
  • P Diebold
  • J P Ostberg
  • S Wagner
  • U Zendler
Diebold, P., Ostberg, J.P., Wagner, S., and Zendler, U. 2015. What Do Practitioners Vary in Using Scrum? In Proceedings of XP'15. Springer, Germany, LNBIP 212, 40-52.
What Do Practitioners Vary in Using Scrum? In Proceedings of XP’15. Springer, Germany
  • Diebold P.