Agile Processes in Software Engineering and Extreme Programming
Agile Processes in Software Engineering and Extreme Programming
Horst Lichter
Matthias Riebisch (Eds.)
Agile Processes
LNBIP 283
in Software Engineering
and Extreme Programming
18th International Conference, XP 2017
Cologne, Germany, May 2226, 2017
Proceedings
Lecture Notes
in Business Information Processing 283
Series Editors
Wil M.P. van der Aalst
Eindhoven Technical University, Eindhoven, The Netherlands
John Mylopoulos
University of Trento, Trento, Italy
Michael Rosemann
Queensland University of Technology, Brisbane, QLD, Australia
Michael J. Shaw
University of Illinois, Urbana-Champaign, IL, USA
Clemens Szyperski
Microsoft Research, Redmond, WA, USA
More information about this series at http://www.springer.com/series/7911
Hubert Baumeister Horst Lichter
Agile Processes
in Software Engineering
and Extreme Programming
18th International Conference, XP 2017
Cologne, Germany, May 2226, 2017
Proceedings
Editors
Hubert Baumeister Matthias Riebisch
Technical University of Denmark University of Hamburg
Kongens Lyngby Hamburg
Denmark Germany
Horst Lichter
RWTH Aachen University
Aachen
Germany
The Editor(s) (if applicable) and The Author(s) 2017. This book is an open access publication.
Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0 International
License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution
and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and
the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this book are included in the book's Creative Commons license,
unless indicated otherwise in a credit line to the material. If material is not included in the book's Creative
Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use,
you will need to obtain permission directly from the copyright holder.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specic statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are
believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors
give a warranty, express or implied, with respect to the material contained herein or for any errors or
omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in
published maps and institutional afliations.
The 18th XP conference was held 2017 in the wonderful city of Cologne, Germany.
In the spirit of past XP conferences, XP 2017 was a place where researchers and
practitioners met to exchange new ideas and present their work. These proceedings
contain the full research papers, short research papers, and doctoral symposium papers
presented at the conference.
In all, 46 research papers were submitted (39 full and seven short papers). All
submitted papers went through a thorough review process, with each paper receiving at
least three reviews. Finally, the Program Committee accepted 14 papers as full research
papers (an acceptance rate of 35%). Moreover, six papers submitted as short or full
research papers were accepted as short research papers. The selected papers cover a
wide range of agile techniques and approaches. Many of them present results of
empirical studies aiming to systematically evaluate successful agile practices, others are
technology studies that are relevant to both researchers and practitioners.
In the tradition of former XP conferences, the XP 2017 conference program offered
many different session topics. Besides the scientic program, i.e., the research track,
doctoral symposium, and scientic workshops, the conference featured an industry and
practice track, experience reports, and Open Space sessions. Materials from all of these
sessions are available on the conference website at www.xp2017.org.
Moreover, three keynotes were given by highly renowned speakers. Andrea Goulet
from Corgibytes presented a talk on Makers and Menders: Putting the Right Devel-
opers on the Right Projects focusing on a group of developers called menders
people who love taking an existing project and making it better over time. In his
keynote End-to-End Agility at GitHub Alain Hlali talked about the organization
and the efcient workflows at GitHub. Finally, Claes Wohlin from Blekinge Institute of
Technology answered the question Evidence-Driven Change in Software Develop-
ment: Is It Feasible?
Many people contributed to the success of the XP 2017 conference. We would like
to thank everyone, especially the authors and presenters of all papers, the Program
Committee members, the volunteers, and sponsors. Furthermore, we want to express
our gratitude to the XP 2017 organizers; they did a great job.
Organizing Committee
General Chair
Jutta Eckstein IT communication, Germany
Conference Chairs
Marc Clemens codecentric AG, Germany
Nils Wloka codecentric AG, Germany
Scientic Workshops
Roberto Tonelli University of Cagliari, Italy
Poster Chair
Ademar Aguiar University of Porto, Portugal
Working Software
Aslak Hellesy Cucumber, UK
Customer Collaboration
Ken Power Cisco Systems, Ireland
Responding to Change
Jan Coupette codecentric AG, Germany
Experience Reports
Rebecca Wirfs-Brock Wirfs-Brock Associates, USA
Avraham Poupko Cisco Systems, Israel
Open Space
Alexander Kylburg Paragraph Eins, Germany
Additional Reviewers
Sponsors
REWE digital
Accenture Interactive
DATEV
EPLAN Software & Service
OPITZ CONSULTING
XebiaLabs
Klsch Sponsor
Organizer
codecentric
Contents
Agile in Organizations
Are Software Startups Applying Agile Practices? The State of the Practice
from a Large Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Jevgenija Pantiuchina, Marco Mondini, Dron Khanna, Xiaofeng Wang,
and Pekka Abrahamsson
On the Usage and Benefits of Agile Methods & Practices: A Case Study
at Bosch Chassis Systems Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Philipp Diebold and Udo Mayer
1
SEPTA Research, Department of Electrical and Computer Engineering,
The University of Auckland, Building 903, 386 Khyber Pass, New Market,
1023 Auckland, New Zealand
[email protected], [email protected]
2
Department of Computer Science, The University of Auckland, Auckland, New Zealand
[email protected]
1 Introduction
Retrospective meetings embody the inspect and adapt principle of Agile Software
Development (ASD) [1, 2]. They are designed to enable agile teams to frequently eval
uate and nd ways to adjust their process [3]. There are several purposes for retrospective
meetings, such as to evaluate the previous work cycle or sprint; to determine the aspects
that need to be focused on as areas of improvement; and to develop a team action plan
[4]. The purpose and the techniques of the retrospective meeting have been stated and
described clearly as a guide for agile teams [2, 5, 6].
Much of the existing research focuses on the techniques of performing retrospective
meetings and provides lesser detail about the reection process involved [59]. The
Reective Agile Learning Model (REALM) [7] classied reection in ASD practices
2 Related Work
and impact of their performance, an awareness that creates opportunities for profes
sional growth and development.
Bain et al. [12] classied reection into ve levels: reporting, responding, relating,
reasoning and reconstructing. Level 1 and 2 are reporting and responding and enable
learners to share brief descriptions of their experience, their feelings about events, facts
or problems that they encountered. Level 3 is relating and involves connecting experi
ence with personal meaning. Understanding at this level occurs when learners try to
highlight good points (e.g. their ability, successful work) and negative points (e.g.
mistakes, failure) to learn and identify areas of improvement. Level 4 is reasoning where
learners explore the information shared as well as background knowledge related to the
occurrences. Level 5 is reconstructing which signies a high level of learning where
learners generate the general framework of thinking, which is specied in a plan or action
for responding to similar obstacles in the future.
Our study refers to levels of reection proposed by Bain et al. [12] and adjusts the
levels into three main levels, i.e. reporting and responding, relating and reasoning and
reconstructing, based on our observations of the agile retrospectives in practice.
Reporting and responding are grouped together as the rst level as these levels closely
related to reviews sharing and discussions at the beginning of the retrospective meeting.
Relating and responding are grouped as the second level as agile teams participate in a
further discussion after they reported and responded to the reviews. The third level, the
reconstructing level is embodied when agile teams discuss to formulate a plan as an
improvement for the next sprint.
3 Research Method
The aim of this study is to investigate how reection occurs in retrospective meetings.
Understanding this is particularly important as agile teams are reported to focus more
on their technical progress and tend to pay less attention to how reection is performed
thereby compromising their potential for improvement [7, 13].
This research is conducted by implementing the Case Study research method [14].
First, existing studies related to reection in retrospective meetings were reviewed, as
summarized in Sect. 2. The research gaps identied provided guidance on formulating
the interview questions. To gain rich data from interviews, we developed semi-struc
tured questions consisting of main questions and follow-up questions. The data collec
tion method is described in Sect. 3.1 and participant demographics summarized in
Table 1. All interviews and observation data were collected by the rst author in person.
The raw data and emerging ndings from the analysis were discussed in detail with the
supervisory team (co-authors) who provided feedback and guidance.
Table 1. Team and team members demographics (RMD: Retrospective meeting duration in
minutes; P#: Individual participant number; FAP: rst agile project)
Team Interview Agile RMD and the P# Role Agile Agile
Name ed/total method frequencies experience projects
members (Year) (Total)
Jupiter 5 out of Scrum 65 min (every P1 UI 1 68
10 two weeks) Designer
P2 Developer 0.5 1
P3 Developer 7+ 67
P4 Business 7+ 20+
analyst
P9 Tester 3+ 10+
Saturn 6 out of Scrum 55 min (every P4 Business 7+ 20+
10 two weeks) analyst
P5 Developer 3 10+
P6 Designer 1 month FP
P7 Designer 0.5 FAP
P8 Tester 3+ 6
P9 Tester 3+ 10+
Uranus 2 out of 3 Kanban 45 min (every P10 Tester, 1 2
two weeks) Developer
P11 Scrum 6 6
Master,
Business
Analyst,
Product
Owner
Neptune 4 out of 6 Scrum 15 min (when P12 Tester 2 1
needed) P13 Developer 1.5 FAP
P14 Developer 1 FAP
P15 Tester <1 year FAP
Working across all four teams P16 Test 7 10+
chapter
lead
the largest online auction company in New Zealand, Trade Me. Trade Me had been
practicing agile software development for over three years and provided access to four
teams. Its headquarters are located in Wellington and the regional oces are in Auckland
and Christchurch.
For condentiality purposes, the teams are named Jupiter, Saturn, Uranus, and
Neptune. The team names and team members details can be seen in Table 1. Each team
consisted of between 3 and 10 members. All members were invited and those willing
were interviewed. All teams held retrospective meetings, which lasted for between 15
and 65 min. Sixteen individual practitioners from the four teams participated in the
interviews and the observations. All team members had a dedicated role in their team
Reection in Agile Retrospectives 7
and there were three participants that committed across dierent teams: P4 was not only
fully committed as a Business Analyst in Team Jupiter but also supported Team Saturn.
Similarly, P9 was a tester in Team Saturn and a half tester in Team Jupiter. P16 worked
as a test lead across all four teams.
Interviews and Observations. Face-to-face individual and one group interview (of six
team members) were conducted to gain comprehensive explanations, which would help
derive the real concerns from both individual and team perspectives. We conducted one-
on-one interviews with all participants (P1P16), where the duration of individual inter
views varied from 35 to 50 min. We asked some semi-structured questions about their
experiences and perspectives related to reection in a retrospective meeting. Some
sample questions include: Based on the three main points discussed in a retrospec
tive (i.e. what went well, what went wrong, what can you improve), which one(s) do you
think are most helpful for your teams reection?, How does your team use those
points to nd solutions and ways to improve? Could you give some real examples? and
What is the outcome of your retrospective meeting? Does your team/scrum
master preserve points from the meeting?. A sample question of the group interview
includes: I noticed that your team exhibited some dierent ways of sharing knowledge,
(e.g. post-it notes, verbal communication, drawing). Did it help your team to perform
reection? How?
The group interview was conducted immediately after the retrospective meeting of
Team Jupiter with six of its team members. Given the variable meeting times, work
commitments and deadlines for dierent teams, it was not possible to gain further team
availability for group interviews with the remaining three teams over and above the
individual interviews and team observations.
Observations were conducted during the retrospective meetings of all the teams and
of their general workplace. The observations aimed to capture the details of the retro
spective meeting (i.e. time spent, attendees, and discussion involved) and to help validate
the ndings from the interviews. Photographs were taken during the observations in
order to document the actual situations in the meetings and the report presented by the
agile team members. Notes were taken to highlight the important aspects being shared.
The information collected (e.g. photographs and notes) from the observations were used
to support individual interviews by including the photographs and describing the activ
ities in the retrospective meetings as observed rst hand. The duration of each obser
vation depended on how long the team conducted the retrospective meeting. Three out
of four teams conducted the meeting for around 4060 min each and one team, Neptune,
had a shorter 15 min retrospective. Observational data (e.g. photographs and notes)
were found to support the ndings from the interview data analysis thereby strengthening
them.
This research involved sixteen individual interviews, one group interview (of six team
members), and notes taken from retrospective meeting observations which were
analyzed by conducting a thematic analysis. Thematic analysis is a method that aims to
8 Y. Andriyani et al.
recognize, analyze, evaluate and report patterns in data [15], which enables researchers
to search across a data set of interviews. Braun and Clarke [15] classify the analysis into
six phases: transcribing data, generating initial codes, searching for themes, reviewing
themes, dening and naming themes and making a report.
Sixteen interviews were transcribed and imported into NVivo software to facilitate
coding and thematic analysis. Generating initial codes involved code identication by
analyzing interesting features of a sentence, which were highlighted and added as a node
in NVivo representing a new code, such as identifying and discussing obstacles and
discussing feelings. Searching for themes involved comparing data with dierent codes
to see whether they have similar meanings or aspects. Parent themes were classied
based on ve (grouped into three) levels of reection, where each code was classied
based on the denition of each level.
Fig. 1. Levels of reection in retrospective meetings: a thematic map (using levels of reection
from Bain et al. [12])
Reviewing themes involved generating a thematic model to dene the links and the
relationships between the themes (see Fig. 1). Dening and naming themes involved the
generation of several themes that emerged from the analysis, representing the aspects
discussed during retrospective meetings, which was formulated and explained in this
paper.
4 Findings
Following the thematic data analysis process, we identied seven themes that represent
important topics or aspects discussed in the retrospective meeting, which were then
mapped to the ve (grouped into three) levels of reection [12] (see Sect. 2.2).
Reection in Agile Retrospectives 9
Table 2 summarizes these themes along with their mapping to the reection levels.
These themes and levels are described below along with pertinent quotes and photo
graphs from observations. The gures below (see Figs. 2 and 3) were captured during
the observation and show a glimpse of Team Jupiter and Team Saturns retrospective
meeting.
Dependencies. Most of the participant (11 out of 16) mentioned dependencies as the
specic type of obstacle most commonly reported in the retrospective meeting.
If its delayed at the rst point, if something is wrong at the rst point the next person feels it.
So, if one brings it up [in the retrospective] and if its a true concern you will have support
because it does aect people. P16 Test Chapter Lead (Across All Teams)
By sharing problems about dependencies team members became aware of the other
team members tasks and how they related to their own tasks. By being aware of this
issue the team could think about ways to solve the dependency problems.
Surfacing this obstacle was helpful for teams to understand how much more eort
was required to nish the tasks, what tasks were challenging and why the tasks were
dicult to nish. For example, when Team Neptune faced a problem with a requirement
that delayed nishing tasks, they asked for clarications from the product manager. It
was evident that dependencies led to unnished tasks in some cases.
Discussing Feelings. Besides obstacles, agile teams also shared their feelings which
were visualized in several forms, e.g. as drawings or journey lines. The feelings shared
by team members represented the sense of facts and occurrences from the previous
sprint, such as when they were feeling down or happy.
Reection in Agile Retrospectives 11
There was an example of positive feelings shared, which had a positive impact on
the teams productivity, where their work can be distributed well. Team Neptune
recruited an additional tester after they had a problem with tester resource. They felt
happy because their team was complete and balanced between developers and testers.
We do put down smiley. When we got a new tester on board, a new person we had a happy
smiley saying that our squad is complete. P12 Tester, Team Neptune
These obstacles and feelings identied and discussed during the retrospective
meeting were supported by our observations of the retrospective meetings of Teams
Jupiter, Saturn, and Uranus. It was observed that Team Jupiter reported their review by
dening some words on sticky notes (see Fig. 4(a)).
Fig. 4. (a) Words to describe obstacles and feelings in the Retrospective meeting; (b) and (c)
Journey lines visualizing emotions during a sprint in Retrospective meetings
For example, muddy was used to describe a dicult situation where team members
had diculty in understanding the detailed description of specic user stories in the
project. Upon asking a team member about what was the meaning of muddy, a partic
ipant explained:
So, I think, he and I came up with the term of muddy; from observation - they were really
struggling to get the right data and really had to analyse the data for this project. I observed
that and for me, I would pick out a description which would explain what Ive observed; as a
general team., P1 User Interface Designer, Team Jupiter.
Analyzing Previous Action Points. An action point refers to a specic item selected
by the team to focus on for improvement. In analyzing previous action points, agile
12 Y. Andriyani et al.
teams referred to the action points agreed upon by the team in the previous retrospective
and evaluated the actual eort made by the team on that specic point.
..thats how you dene if you made any changes, we measure yourself based on your action
points and that youve actually made changes for. You could make 200 action points of your 20
weeks, but not a single one of those was followed up on, you really havent done anything. P4
Business Analyst, Team Jupiter and Saturn
From the example above, it was seen that agile teams reected on the previous action
points by measuring the outcomes achieved by the teams (i.e. good or slow progress).
This statement was further supported by the observations where during the retrospective
meetings, agile teams shared the process improvement or the failures of the previous
sprint.
Identifying Background Reasons. The background reasons of the existing issues were
identied when teams were not actively progressing, they would explore the reasons
why and what blockers were related to this problem. By identifying the background
reasons, teams would understand what aspects needed to be improved.
This point is supported by Team Jupiters group interview, which a team member
tried to identify the reason of the major problem during the retrospective meeting.
I think we addressed like the major issues are causing the squad stuck at the moment and things
like test environment and [..] dealing with an external dependency like platform team in [city
name] P4 Business Analyst, Team Jupiter and Saturn
During the retrospective meeting observation of Team Saturn, it was seen that there
was a cause analysis discussion. For example, when team members shared their sad
feelings experienced during the rst week sprint, team members shared the reasons, such
as unclear user stories or the user story was considered as a big task. The scrum master
guided the team to identify the causes by asking why they used the sad feeling notation
for the rst week. Several reasons were shared, such as too many tasks, the previous
estimation and the actual eort were dierent, the unclear scope of work restricted their
progress. Discussing those reasons led to the point where the team realized the main
background reason was about inaccurate estimation, i.e. the team had created high
achievement expectations for the big tasks without considering the actual eort required.
Identifying Future Action Points. Identifying future action points happened when the
teams analyzed previous action points and identied the background issues, which
followed by identifying areas of improvement and asking ideas and agreement from the
teams. From the discussion, the teams gained the understanding of the existing issues
which lead to the thoughts of what areas need to improve and how to improve. Identi
fying future action points, the teams discussed areas of improvement, which were
focused on the process improvement. For example, in the retrospective meeting, most
agile teams stressed testing environment issues that delayed the team progress.
we list down what didnt go well or problems or whatever, we usually derive action points on
those things, which is a good way to improve maybe something immediately like getting a test
environment set up so we can test something.like a more immediate thing but there are also
action points that are related to the squad as well; determine a team chart or something like
that. P2 Developer, Team Jupiter
Reection in Agile Retrospectives 13
From the example above, it was seen that by knowing the existing issues the team
to will understand several areas of the process that need to be focused on. To determine
future action points the teams also discussed by asking each others opinions.
when we discussed it [a plan], we asked other people what they think about it, do they agree
or dont they? If everyone says they think they agree with what you are saying, then we say so
what the action for that? P12 Tester, Team Neptune
During the retrospective observations of Team Saturn, an example of how the team
identied their future action points was noted. Team Saturn had identied that the main
reason for their slow progress was inaccurate estimation. Some ideas for addressing this
included elaborating the stories into small tasks, providing the clear denition of done
for specic tasks, and asking for clarications from the product manager about the scope
of work. The team members were asked their opinions and perspectives about these
ideas. Most team members agreed on asking for clarications from the product manager
and elaborating the stories into small tasks. Consequently, the Scrum master of Team
Saturn made these ideas as ocial action points for the next sprint.
4.3 Reconstructing
The Reconstructing level of reection seems to happen when a team constructs an
agreement on a specic plan based on the team members perspectives. There were three
out of the four teams (Jupiter, Saturn, Uranus) that seemed to engage in the recon
structing level as they performed further discussions and nalized by generating action
points.
Generating a Plan. In reconstructing, teams generated plans decided from their discus
sion in the retrospective meeting. Action points are an explicit outcome of the retro
spective meeting. It is useful to remind all team members about the goal for the next
sprint, who will responsible, and what are the associated deadlines.
So, when they go up on their board and they are doing their sprint work, they can see, Right,
lets not forget what came out of this retro and it is getting ticked o. P11 Scrum Master,
Business Analyst and Product Owner, Team Uranus
This point was brought up in a group interview (of Team Jupiter) where most of the
team members agreed that action points were used as a reference for evaluating improve
ment in the next retrospective meeting.
umm we pulled out action points on the board. So, over the next two weeks, we will make sure
that everything talked about we follow through on. P4 Business Analyst, Team Jupiter and
Saturn
It was observed that Team Jupiter preserved their concrete action points on their
Scrum board (see Fig. 5). Another evidence from the observations was Teams Saturn
and Uranus did not have action points but their Scrum master made some notes during
the meetings and shared verbally the points that needed to be focused on at the end of
the retrospective meeting.
14 Y. Andriyani et al.
Fig. 5. Action points generated by team Jupiter posted on their Scrum Board (Photo taken during
on-site observations)
5 Discussion
We now discuss the ndings related to a reection framework for agile retrospectives
including the levels of reection achieved by the teams studied, implications for practice
and limitations of the study.
In response to the RQ1: What aspects are focused on during the retrospective
meeting? We found that there are six important aspects discussed in the retrospective
meetings: identifying and discussing obstacles, discussing feelings, analyzing previous
action points, identifying background reasons, identifying future action points and
generating a plan. In response to the RQ 2: How does reection occur in the retrospec
tive meeting? We found that the reection that occurs in retrospective meetings can be
classied into three levels of reection [12], reporting and responding, relating and
reasoning, and reconstructing.
Fig. 6. Reection in agile retrospective meeting (levels of reection depicted in shaded areas
based on [12])
Setting the stage involves welcoming and explaining the aim of the retrospective
meeting. Gathering data step embodies the reporting and responding level of reection
as agile teams share their reviews (e.g. identifying and discussing obstacles and discus
sing feelings). Identifying and discussing obstacles and feelings in retrospective meet
ings was seen to correspond to descriptive reection [16] a reection which attempts
to answer questions such as: What is happening? What is this working, and for whom?
For whom is it not working? How do I know? How am I feeling? What am I pleased
and/or concerned about? What do I not understand? The obstacles and feelings shared
by all team members answer these questions. From the obstacles and feelings reported,
the teams would be able to record and collect important points of the previous sprint.
By having reviews (e.g. obstacles and feelings) of the previous sprint, team members
can be prepared to deal with other similar experiences.
Generating insight step embodies the relating and reasoning level, where agile
teams are involved in analyzing previous action points, identifying the background
reasons behind identied issues and identifying future action points. Discussing these
aspects was seen to be related to descriptive reection, which attempts to answer
questions: does this relate to any of my stated goals and to what extent are they being
met? [16] and why the issues happen in the previous sprint? The answers to these ques
tions support the reection in the form of comparative analysis and looking back to the
background issues, which help agile teams to determine what areas needed to be focused
on. Agile teams move to deep analysis on ideas or perspective shared to identify future
action points for the next sprint. It can be perceived that there is a transformation in the
discussion from answering what is happening? in the previous sprint; to what are the
alternative views of what is happening? and what are the implications of the matter
when viewed from these alternative perspectives? [16]. These questions are answered
when all team members provide their accounts about solutions of the obstacles or ways
to improve.
In the deciding what to do step, agile teams have an explicit formulation which is
generated in the form of action points (generating plans). The action points will be used
as a reference for agile teams to act upon and improve the process. Close the retrospec
tive step involves summarizing the outcomes of the retrospective meeting.
16 Y. Andriyani et al.
Table 3. Levels of reection achieved by the teams (J: Jupiter; S: Saturn; U: Uranus; N: Neptune)
Levels of Aspects discussed in retrospective meeting J S U N
reection
Reporting and Identifying and discussing obstacles
responding Discussing feelings X
Relating and Analyzing previous action points
reasoning Identifying background reasons
Identifying future action points X
Reconstructing Generating a plan X
Three teams were found to be fully engaged in all levels of reection and one of the
teams, Team Neptune, performed partially on the rst two levels and did not achieve
the nal level of reection, i.e. reconstructing. Based on the observation of their retro
spective meeting, it was seen that they did not discuss their feelings explicitly and only
discussed briey the obstacles related to changing of task priorities needing conrmation
with the product manager. They did not discuss it further as once they agreed on that
obstacle then the product manager directly proceeded to the Scrum Board, discussed the
issue and wrapped up the meeting. They did not record any outcomes, such as a plan or
action points, from the meeting. There was little evidence of analyzing previous action
points, identifying background reasons and identifying future action points. Besides, the
duration of the meeting was also short, around 15 min, and they reported performing
retrospective meetings only when it was necessary. Another interesting observation was
that they had adapted the retrospective practice, which seemed too repetitive for them
and people often seemed to have forgotten about what happened during the last two
weeks sprint. As result, they were used to placing all the individual reviews written up
on sticky notes in a retro box a box especially allocated to collect individual reec
tion. If there were no sticky notes during a two weeks sprint, they would not perform
a retrospective meeting.
The case of Team Neptune is likely related to the fact that three out of six members
of Team Neptune were new to agile projects. They had in eect introduced a new
reective practice, that of using a retro box, as a way to identify the need for conducting
a standard retrospective. However, a lack of reaching the reconstruction level suggests
that they were not able to generate a plan for improvement as several aspects of the
retrospective meeting were missing. Our ndings conrm that the levels of reection
are related and build on each other [12]. Furthermore, we show that the highest level of
Reection in Agile Retrospectives 17
reection, reconstructing, may not be reached at all or not reached eectively until the
prior levels are accomplished eectively.
5.4 Limitations
A key limitation of this study lies in the fact that observations of a single retrospective
meeting per team is not strong enough to establish and conrm a particular teams overall
level of reection. For example, it may be that in other retrospective meetings Team
Neptune reached higher levels of reection. However, the ndings were arrived at by
combining the data from interviews as well as the observations, which provides multiple
perspectives that support the ndings. Another related limitation is that the ndings are
limited to the contexts studied in this research, which in turn are dictated by the avail
ability of participants. Further studies can conrm, adapt, or extend our framework to
include dierent team contexts and reective practices.
6 Conclusion
retrospective meetings. As the levels of reection build upon each other, teams need to
eectively identify and discuss their obstacles and feelings in the reporting and
responding level, followed by analyzing previous action points, identifying background
reasons, and identifying future action points in the relating and reasoning level and
generating a plan in the reconstructing level. Embedding these levels of reection into
the retrospective meeting will help agile teams achieve better focus and higher levels of
reection from performing retrospective meetings. Another implication is an increase
in their awareness of the main aspects that need to be discussed in the retrospective
meeting and how to formulate these aspects to generate a plan for improvement.
Acknowledgement. This research is supported by The University of Auckland and the Indonesia
Endowment Fund for Education (LPDP) S-669/LPDP/2013 as scholarship provider from the
Ministry of Finance, Indonesia.
References
1. Deemer, P., Beneeld, G., Larman, C., Vodde, B.: A Lightweight Guide to the Theory and
Practice of Scrum Version 2.0, vol. 2015 (2012)
2. Derby, E., Larsen, D., Schwaber, K.: Agile Retrospectives: Making Good Teams Great.
Pragmatic Bookshelf, Raleigh (2006). 0977616649
3. Fowler, M., Highsmith, J.: The agile manifesto. Softw. Dev. 9, 29 (2001)
4. Sutherland, J., Schwaber, K.: The Scrum Guide. The Denitive Guide to Scrum: The Rules
of the Game (2011)
5. Salo, O.: Systematical validation of learning in agile software development environment. In:
Altho, K.-D., Dengel, A., Bergmann, R., Nick, M., Roth-Berghofer, T. (eds.) WM 2005.
LNCS (LNAI), vol. 3782, pp. 106110. Springer, Heidelberg (2005). doi:
10.1007/11590019_13
6. Salo, O., Kolehmainen, K., Kyllnen, P., Lthman, J., Salmijrvi, S., Abrahamsson, P.: Self-
adaptability of agile software processes: a case study on post-iteration workshops. In:
Eckstein, J., Baumeister, H. (eds.) XP 2004. LNCS, vol. 3092, pp. 184193. Springer,
Heidelberg (2004). doi:10.1007/978-3-540-24853-8_21
7. Babb, J., Hoda, R., Nrbjerg, J.: Embedding reection and learning into agile software
development. IEEE Softw. 31, 5157 (2014). doi:10.1109/MS.2014.54
8. Cockburn, A., Highsmith, J.: Agile software development: the people factor. Computer 34,
131133 (2001)
9. Dingsyr, T., Hanssen, G.K.: Extending agile methods: postmortem reviews as extended
feedback. In: Henninger, S., Maurer, F. (eds.) LSO 2002. LNCS, vol. 2640, pp. 412. Springer,
Heidelberg (2003). doi:10.1007/978-3-540-40052-3_2
10. Argyris, C., Schon, D.A.: Organisational Learning II: Theory, Method and Practice.
Organisation Development Series. Adisson Wesley, Reading (1996)
11. Osterman, K., Kottkamp, R.: ReectivePractice for Educators: Improving Schooling through
Professional Development. Corwin Press, Newbury Park (1993)
12. Bain, J.D., Ballantyne, R., Packer, J., Mills, C.: Using journal writing to enhance student
teachers reectivity during eld experience placements. Teachers Teach. Theor. Pract. 5, 51
73 (1999). doi:10.1080/1354060990050104
13. Hoda, R., Babb, J., Nrbjerg, J.: Toward learning teams. IEEE Softw. 30, 9598 (2013). doi:
10.1109/MS.2013.90
Reection in Agile Retrospectives 19
14. Yin, R.K.: Case Study Research: Design and Methods. Sage Publications, Inc. (2003)
15. Braun, V., Clarke, V.: Using thematic analysis in psychology. Qual. Res. Psychol. 3, 77101
(2006)
16. Jay, J.K., Johnson, K.L.: Capturing complexity: a typology of reective practice for teacher
education. Teach. Teacher Educ. 18, 7385 (2002)
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
What Inuences the Speed of Prototyping? An Empirical
Investigation of Twenty Software Startups
1
Department of Computer and Information Science (IDI), NTNU, 7491 Trondheim, Norway
{anhn,pekkaa}@ntnu.no
2
Free University of Bozen-Bolzano, Piazza Domenicani 3, 39100 Bolzano, Italy
[email protected]
1 Introduction
With the startup movement, software industry is witnessing a paradigm shift from
serving customer requirements to creating customer value. The challenge for software
companies is no longer primarily on implementing customer requirements, but rather
on nding customer demands and providing a solution that delivers customer value [2].
Addressing uncertainty in both solution and problem domains has often been ad-hoc
and based on guesswork, which becomes one of the main reasons for failing startup
companies [3]. A demand on systematic approaches to manage the uncertainty has led
to an increased research interest on Lean Startup [4], New Product Development (NPD)
[5], software startups [6] and continuous experimentation [7].
In a competitive environment such as software industry, time-to-market is becoming
more and more critical as a success factor for startup companies. Business ideas under
development once revealed can be easily threatened by high speed copycats [9]. More
over, competitors can also follow an on-going journey of validating product-market t
and arrive faster in the destination. Regardless of company sizes and application
domains, the knowledge of inuencing factors for a quick learning loop is important for
software startups to form best-t strategy in developing business experimentation [10].
A Build-Measure-Learn loop, as a central concept of the Lean Startup method
ology, aims at speeding up the new product development cycle [4]. The central part of
the loop is to build a representation of the business, a so-called Minimum viable product
(MVP), to collect feedback from customers and to learn from that. Steve Blank empha
sizes the goal of MVPs is to maximize learning through incremental and iterative
engineering [2]. In the startup context, developers quickly and iteratively develop a
software application to validate business ideas [12]. As such, the study of validated
learning can be benecial from Software Engineering (SE) concepts and practices, such
as rapid prototypes and evolutionary prototypes [1315]. Consequently, the time-to-
release of prototypes is essential to determine the total time in the validated learning
loop.
Software startup research is increasingly recognized by researchers community,
with many practical aspects, such as User Experience, Software practices, competences
and startup ecosystem [6]. Despite of the importance, there is a lack of research about
prototyping in software startups. In a multi-inuenced context with funding, human
resource and market concerns, it is crucial to understand how the speed of learning can
be supported by prototyping activities and what are the inuencing factors. In a previous
study, we investigated how a prototype is built in software startups [12]. We found that
prototyping activities as a core value of startup experimentation needed to be seen as a
multifaceted phenomenon [12]. In this work, we are particularly interested in the factors
that slow down the learning process and those that speed it up. The research question
(RQ) is:
The paper is organized as follows. Firstly, we present the background about business-
driven experimentation in software projects, software prototype and a proposal of an
analytical model of startup prototyping (Sect. 2). Then, we describe our research
approach and the cases studied (Sect. 3). After that, the qualitative ndings are presented
(Sect. 4). Finally, we reect on the ndings, the threats to validity (Sect. 5), and draw
the conclusion and future work (Sect. 6).
2 Background
From SE perspective, validated learning means the focus on integrating business value
in dening software development processes and practices. Even though experiment
systems are recognized as benecial to software projects, there are barriers in adopting
them, such as integration of customer feedback, synchronizing vendors in short cycles
and lack of reasoning about customer requirements [16, 17]. Bosch et al. [18] advocate
for adjusting the Lean startup methodology to accommodate the development of
22 A. Nguyen-Duc et al.
multiple ideas and to integrate them when time for their testing and validation is too
long. Bosch suggested using 2-to-4-week experimentation iterations followed by
exposing the product to customers in order to collect feedbacks. Fagerholm et al. present
a model for continuous experimentation for start up companies [7], in which a key
element is the ability to release a prototype with suitable instrumentation, to manage
experiment plans, link experiment results with a product roadmap, and to manage a
exible business strategy. Olsson et al. present a Hypothesis Experiment Data-Driven
Development model that integrates feature experiments with customer feedback in Agile
projects [19]. While these work characterize a process-like approach in developing
startups software products, Paternoster et al. grounded a model from 13 software
startups which describes a pattern that software startups often build evolutionary proto
types [20]. This study focuses on how startups are prototyping in reality and the inu
encing factors of the speed of learning by prototyping.
3 Research Approach
This study is one part of a larger research activity that investigates the role of engineering
activities in software startups. The objective is to explore commonalities, challenges and
engineering patterns in software startups, from the business idea to a launched product.
This study reports the ndings from empirical data regarding prototyping activities. We
conducted multiple case studies for a robust result in typical software startup population
[11]. The unit of analysis is a startup company. We aimed at collecting as many startups
as possible for a variety of the sample. As the aim is to reect the state-of-practice rather
than nding a secret recipe of success, we included startups in dierent stages and with
dierent revenue statuses.
There is often a diculty in identifying a real startup case among other similar
phenomenon, such as freelancers, SMEs or part-time startups. We dened ve criteria
for our case selection: (1) a startup that operates for at least six months, so their expe
rience can be relevant, (2) a startup that has at least a rst running prototype, (3) a startup
that has at least an initial customer set, i.e. rst customer payments or a group of users,
(4) a startup that has an intention to scale their business model, (5) a startup that has
software as a main part of business core value.
The process of identifying and collecting data was done in 11 months, from March
2015 to February 2016. Cases were searched from four channels, (1) startups within the
professional networks of the authors, (2) startups in the same town with the authors, (3)
startups listed in Startup Norway and (4) Crunchbase database. The contact list includes
219 startups from Norway, Finland, Italy, Germany, Netherlands, Singapore, India,
China, Pakistan and Vietnam. After sending out invitation emails, we received 41 feed
backs, approximately 18.7% response rate. Excluding startups that are not interested in
the research, or startups that do not pass our selection criteria, the nal set of cases are
20 startups, aliased as S1 to S20.
What Inuences the Speed of Prototyping? 25
The characteristics of our cases are given in Table 1. It is noticeable that a large number of
the studied cases deliver peer-to-peer services as marketplaces or platforms (S01, S02, S03,
S07, S08, S11, S13, S16, S20). There are also cases that deliver value in Business-to-Busi
ness model (B2B) (S04, S06, S10, S12, S15, S17). The cases are dominantly characterized
by web-based and mobile-based software product with client-server architecture. We also
identified the product focuses in early and later phases of the software startups [23]. Among
them, there are some startups with annual revenue of one million euro or more (S06, S09).
26 A. Nguyen-Duc et al.
Regarding the development strategy, interestingly, there are seven cases (35%) that have
(parts of) product developed outside company boundary.
The major reported development methodology is Agile, with iterative deliveries and
frequent customer feedback: Scrum based development, sprints of two weeks,
standup, wrap-up meeting, we like to work in this way. (S06). In some cases, the
company reports a type of informal Agile process: fully informal but truly agile
process with working release maintained, iterative development of functionality and
refactoring (S05)
What Inuences the Speed of Prototyping? 27
One specic question asked to interviewees is how many prototypes have been made
before product launching. The answers vary from two to seven prototypes, either throw
away or evolutionary ones, before a launch. In many cases, we considered prototypes
as a tangible artifact that is experimented with (potential) users, customers and internal/
external stakeholders.
4 Result
a developer in S05: She [the CEO] is very sharp about business and nance stus, but
it takes a long discussion to explain her about the importance of having exible product
design (S05). The communication challenge might also happen between startups
and customers, when no concrete prototypes are provided: We work with a customer
organization, learn how they have worked with the current solutions and describe our
proposal via the prototype. It is hard for them to realize the benet without concrete
examples (S04). It also appears that a prototype is late released due to the wrong
estimation of the CEO, who has no technical background. For example, in S1, the CEO
insisted on a customer feedback having a new eld in a frontend form, which caused
the change of both business logic layer and data table structure.
journey map]. We used it to describe how customer interact with the system and
where could be the gap (S02).
to what we think the future of journalism is, then we pursue that and the cost of that is
neglecting parts of our market (S14). Similarly, S15 expresses how their product
evolved through dierent iterations: There will always be requirements arriving
Sometimes the new requirements disrupt the old requirements. At the moment, we are
working to disrupt the old products (S15). Considering what to develop and which
features to include adds complexity to future releases. Additionally, requests coming in
the middle of the development sprint from large customers might inuence the feature
priority and delay the release further: Were in that situation all the time, its very
dicult to say no because giant customers telling you we need that functionality. If
youre going to have us as customers youre going to have to make it, we need it in the
contract that you have to make it. We also build it, we built it bigger and bigger (S11).
much better to have people that canwithin a short time, could produce good code
(S09). It is also important to write code in a clean and structured manner, to be quality-
aware in the early phases: The back end was pretty good because he had hired my boss
at my current company there was some friction there in how to develop systems
between the professional programmer, my boss, and the copy paste programmers. I
think that also contributed to it not working. (S11). The combination of technical
competence and customer understanding is emphasized in another case: It is very
hard to nd people both good at technology and have a good sense of commercial
edge (S08).
5 Discussion
We captured what happened during the early phases of the studied twenty software
startups. We identied the factors that are found to inuence the speed of prototyping
across dierent types of prototypes. They can be grouped into (1) Artifacts, (2) Team
competence, (3) Collaboration, (4) Customer and (5) Process dimensions. Artifacts
include collaborative tools and reusable components. The practices of adopting artifacts
are important for saving time of prototyping user interfaces and functionalities. The issue
here is to select the suitable tools and components to match the prototypings purposes.
The requirement of team competence might vary due to the type of prototyping and the
type of products. For instance, UI-rich application would require a designer onboard at
the early stage while a good developer in the later stage. Collaboration, including
ecient communication of visions and tasks among startup teams and interaction with
external stakeholders, is important for shorten the learning loops. Besides, how
customers are involved in the prototyping loops has an impact on the duration of the
What Inuences the Speed of Prototyping? 33
prototyping. While inappropriate customer feedback delays the learning and creates
more prototyping loops, too many requests from customers delay the time-to-release
and introduce complexity to product management. Last but not least, prototyping is
performed under many uncertainty and dependencies. Dening practices and processes
to support decision-making under uncertainties would help in prototyping.
6 Conclusions
To the best of our knowledge, this is the largest multiple case study research about
software startups. Grounded on twenty European startups, we adopted an analytical
framework to reveal dierent factors that inuence the prototyping activities in early
stages of software startups. We found that both throw-away and evolutionary prototypes
were inuenced by artifacts adoption approach, available team competence, collabora
tion and customer involvement. Even though there is certain limitation in our case
sample, there are still valuable lessons learnt for practitioners. For startups that follow
the Lean Startup approach, it is important to align the learning objective with a collab
orative and well-dened approach of prototyping. Moreover, startups need to nd a
systematic approach to integrate relevant external feedback in all phases of prototyping.
34 A. Nguyen-Duc et al.
This work does not address the evolution of startups according to the learning loops,
i.e. what are lessons from idea to throw-away prototype, what are lessons from switching
from throw-away prototypes to evolutionary ones. Besides, future work can investigate
dierent types of learning brought by dierent types of prototypes. This work addressed
validated learning through an important angle, which is the speed of prototyping loops.
In the future work, we will explore another equally important aspect, which is the quality
of learning. Further studies might also identify the eective prototyping and develop
ment patterns among software startups.
References
1. Runeson, P., Hst, M.: Guidelines for conducting and reporting case study research in software
engineering. Empirical Softw. Eng. 14(2), 131164 (2009)
2. Blank, S.: The Four Steps to the Epiphany: Successful Strategies for Products that Win, 2nd
edn. K & S Ranch Press (2013)
3. Giardino, C., Wang, X., Abrahamsson, P.: Why early-stage software startups fail: a behavioral
framework. In: Lassenius, C., Smolander, K. (eds.) ICSOB 2014. LNBIP, vol. 182, pp. 27
41. Springer, Cham (2014). doi:10.1007/978-3-319-08738-2_3
4. Ries, E.: The Lean Startup: How Todays Entrepreneurs Use Continuous Innovation to Create
Radically Successful Businesses. Crown Business, New York (2011)
5. Cooper, R.G.: Stage-gate systems: a new tool for managing new products. Bus. Horiz. 33(3),
4454 (1990)
6. Unterkalmsteiner, M., Abrahamsson, P., Wang, X., Nguyen-Duc, A., Shah, S., Bajwa, S.S.,
Yage, A.: Software startups: a research agenda. e-informatica. Softw. Eng. J. 10(1), 89123
(2016)
7. Fagerholm, F., Guinea, A.S., Menp, H., Mnch, J.: The RIGHT model for continuous
experimentation. J. Syst. Softw. (2016)
8. Houde, S., Hill, C.: What do prototypes prototype. In: Helander, M., Landauer, T., Prabhu,
P. (eds.) Handbook of Human-Computer Interaction, 2nd edn. Elsevier Science (1997)
9. Accessed 1 Dec 2016. http://qz.com/771727/chinas-factories-in-shenzhen-can-copy-
products-at-breakneck-speed-and-its-time-for-the-rest-of-the-world-to-get-over-it/
10. Cohen, M.A., Eliasberg, J., Ho, T.H.: New product development: the performance and time-
to-market tradeo. Manage. Sci. 42, 173186 (1996)
11. Yin, R.K.: Case Study Research: Design and Methods, 4th edn. Sage Publications Inc,
Thousand Oaks (2008)
12. Duc, A.N., Abrahamsson, P.: Minimum viable product or multiple facet product? The role of
MVP in software startups. In: Sharp, H., Hall, T. (eds.) XP 2016. LNBIP, vol. 251, pp. 118
130. Springer, Cham (2016). doi:10.1007/978-3-319-33515-5_10
13. Lichter, H., Schneider-Hufschmidt, M., Zllighoven, H.: Prototyping in industrial software
projects-bridging the gap between theory and practice. IEEE Trans. Softw. Eng. 20(11), 825
832 (1994)
14. Floyd, C.: A systematic look at prototyping. In: Budde, R., Kuhlenkamp, K., Mathiassen, L.,
Zullighoven, H. (eds.) Approaches to Prototyping, pp. 118 (1984)
15. Beaudouin-Lafon, M., Mackay, W.E.: Prototyping development and tools. In: Jacko, J.A.,
Sears, A. (eds.) Handbook of Human-Computer Interaction, Revisited edn, pp. 10061031.
Lawrence Erlbaum Associates, New York (2007)
What Inuences the Speed of Prototyping? 35
16. Karvonen, T., Lwakatare, L.E., Sauvola, T., Bosch, J., Olsson, H.H., Kuvaja, P., Oivo, M.:
Hitting the target: practices for moving toward innovation experiment systems. In: Fernandes,
J.M., Machado, R.J., Wnuk, K. (eds.) ICSOB 2015. LNBIP, vol. 210, pp. 117131. Springer,
Cham (2015). doi:10.1007/978-3-319-19593-3_10
17. Sauvola, T., Lwakatare, L.E., Karvonen, T., Kuvaja, P., Olsson, H.H., Bosch, J., Oivo, M.:
Towards customer-centric software development: a multiple-case study. In: 41st Euromicro
Conference on Software Engineering and Advanced Applications (2015)
18. Bosch, J., Holmstrm Olsson, H., Bjrk, J., Ljungblad, J.: The early stage software startup
development model: a framework for operationalizing lean principles in software startups. In:
Fitzgerald, B., Conboy, K., Power, K., Valerdi, R., Morgan, L., Stol, K.-J. (eds.) LESS 2013.
LNBIP, vol. 167, pp. 115. Springer, Heidelberg (2013). doi:10.1007/978-3-642-44930-7_1
19. Olsson, H.H., Alahyari, H., Bosch, J.: Climbing the stairway to heaven: a multiple-case
study exploring barriers in the transition from agile development towards continuous
deployment of software. In: 38th Euromicro Conference on Software Engineering and
Advanced Applications (2012)
20. Paternoster, N., Giardino, C., Unterkalmsteiner, M., Gorschek, T., Abrahamsson, P.: Software
development in startup companies: a systematic mapping study. Inf. Softw. Technol. 56(10),
12001218 (2014)
21. Brooks, F.P.: The Design of Design: Essays From a Computer Scientist. Addison-Wesley
Professional, Boston (2010)
22. Boyatzis, R.E.: Transforming Qualitative Information: Thematic Analysis and Code
Development. Sage Publications, Thousand Oaks (1998)
23. Nguyen-Duc, A., Shah, S., Abrahamsson, P.: Towards an early stage software startups
evolution model. In: 42nd Euromicro Conference on Software Engineering and Advanced
Applications (2016)
24. Von Hippel, E.: Lead users: a source of novel product concepts. Manage. Sci. 32(7), 791805
(1986)
25. Lynn, G.S., Morone, J.G.: Marketing and discontinuous: the probe and learn process. Calif.
Manage. Rev. 38(3) (1996)
26. Nguyen-Duc, A., Seppnen, P., Abrahamsson, P.: Hunter-gatherer cycle: a conceptual model
of the evolution of startup innovation and engineering. In: 1st Workshop on Open Innovation
on Software Engineering, ICSSP (2015)
27. Luqi, F.K.: An introduction to rapid system prototyping. IEEE Trans. Softw. Eng. 28(9), 817
821 (2002)
28. Jansen, S., Brinkkemper, S., Hunink, I., Demir, C.: Pragmatic and opportunistic reuse in
innovative start-up companies. IEEE Softw. 25(6), 4249 (2008)
29. Grevet, C., Gilbert, E.: Piggyback prototyping: using existing, large-scale social computing
systems to prototype new ones. In: 33rd Annual ACM Conference on Human Factors in
Computing Systems; Seoul, Republic of Korea, pp. 40474056 (2015)
36 A. Nguyen-Duc et al.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Key Challenges in Agile Requirements Engineering
1 Introduction
Agile Software development (ASD) gains in popularity in todays business world due
to enabling immediately changes in the direction of product development. These short-
term changes in direction require a exible approach to Requirements Engineering (RE)
as well. In addition, agile methodologies (such as Scrum [1], Kanban [2] or Extreme
Programming [3]) are often combined with Human-Centered Design (HCD) [4] activ
ities in order to emphasize a value-driven approach to product development [5, 6]. To
this end, the eld of agile RE has emerged during the last decade.
Focusing on user needs and value delivery becomes an important aspect in product
development due to the increasing competition in all areas. With regard to ASD, plan-
driven organizations moved away to value-driven organizations. On the one hand,
people in plan-driven organizations often negotiate about project plans, pricing models
and the amount of features they can develop with the available resources. They are
emphasizing the generated outputs such as number of created features during a time
period. On the other hand, people in value-driven organizations discuss visions, expe
riences and human values as well as the way to address them through the product. They
focus on the outcomes that the delivered outputs entail.
Compared to sequential approaches to RE, which comprise a requirement analysis
phase before the development can even begin, agile RE is carried out along with the
development itself. Therefore, continuous management of requirements is a crucial
attribute. Requirements are regularly described from a user perspective in the form of
epics and user stories [7] instead of creating a requirements document [8]. Recent
research is showing that there are several ways of running RE in an agile environment
while involving users and stakeholders [5, 912].
Performing agile RE can lead to challenges organizations have to deal with. In liter
ature, there can be found some studies investigating challenges in agile RE (see [11
15]). However, the related work still lacks in giving a general overview of the challenges
in current industry.
This study pursues the main objective of identifying the most important challenges
in agile RE industry has to address today. We aim to build a shared understanding
concerning these challenges among voices that matter by means of experts in the eld
of agile RE. Thus, the research questions we pose are listed below:
RQ1: What are the key challenges in Agile Requirements Engineering?
RQ2: How can we deal with the identied key challenges?
The paper is structured as follows: Sect. 2 briey summarizes the related work and
points out the research gap. Section 3 presents the applied research method and describes
the iterative expert judgement process. Then, Sect. 4 identies the ndings and discusses
both on their meaning and on the limitations of this study. Finally, Sect. 5 provides the
conclusions as well as an outlook on future research.
2 Related Work
There are related studies in the literature that investigate challenges in agile RE by means
of dierent research methods. Table 1 shows an overview of the reported challenges and
used research methods.
Analyzing the related work, we can state that the authors use two dierent kinds of
research approaches in general. On the one hand, Ramesh et al. [13] and Bjarnason et al.
[14] utilize case studies to investigate the challenges in the eld. On the other hand,
Inayat et al. [11], Heikkila et al. [15] and Soares et al. [12] report challenges in agile RE
by analyzing primary studies with the aim to identify available evidence in existing
research.
Key Challenges in Agile Requirements Engineering 39
Ramesh et al. [13] results were published in 2010. However, as ASD is a rapidly
changing research area and the body of knowledge has evolved over the last years, we
need to clarify whether the reported challenges are still relevant today. For instance,
NFRs may not be longer a challenge for industry since the concept of the Denition of
Done and the usage of acceptance criteria are widely spread. Bjarnason et al. [14] carry
out a case study in only one company, therefore the results may not be applicable to
other companies and may not be representative in general. In comparison, Inayat et al.
[11], Heikkila et al. [15] and Soares et al. [12] review primary studies by analyzing
existing literature, which is a good approach to get an impression of relevant aspects
from a theoretical viewpoint. Nevertheless, one could argue that this is not an appropriate
approach to investigate the existing challenges in practice.
To this end, the aim of this study is to identify the most important challenges in agile
RE industry has to face up today by getting insights from 26 experts in the field. To the
best of our knowledge there is no existing study investigating these challenges by means
of a qualitative study with practicing experts in ASD working for many different companies.
40 E.-M. Schn et al.
3 Research Method
We used an iterative expert judgement process rooted in a Delphi study [1618] in order
to respond to our RQs. We applied a modied Delphi study where measuring consensus
and stability at group level among several iterations was not the most crucial part. On
the contrary, we shifted the focus to applying the valuable features of Delphi for
conducting our iterative expert judgement process [19]:
Anonymity among experts to avoid inuence of dominant individuals
Iterative approach
Controlled feedback with statistical group response
The main benet of our modied approach was utilizing the learnings from a
previous iteration for carrying out the following ones.
The study was performed in three complementary rounds. Figure 1 gives a general
overview of the process. At the beginning of each round, we started designing the ques
tionnaire, optimized by a pretest. Once nished, the invitation was sent to the experts
via email. In the second and third round, we attached the results of the previous rounds
to the invitation in order to share the outcomes among the panel. The experts had two
weeks to ll in the questionnaire. During the following two weeks we evaluated the
results, created the report, specied the criteria for dropping items for the following
round and designed the questionnaire for the next round.
We conducted the study in German since most of the experts are native speaker.
Since we are aware that the term agile RE is not very accepted in the agile community
and some experts understand this as a contradiction in itself, we decided not to ask for
challenges in agile RE directly. On the contrary, we phrased our questions dierently
and described the context of our study within the introduction part of each questionnaire.
We used google forms for the rst and second round, whereas limesurvey was used
for the third round due to the complexity of the questionnaire. In general, we decided to
use 7-point Likert items since this has been proven to be the best choice in terms of
avoiding interpolations within related research elds [20]. Besides, we adapted the
quality criteria proposed by Diamond et al. [17] so as to ensure the quality of our study.
Key Challenges in Agile Requirements Engineering 41
In addition, Table 2 displays the know-how level in terms of ASD rated by experts
themselves.
3.3 Round 1
The questionnaire of the first round comprised two open questions, repeated 15 times. On
the one hand, the experts were asked what the most important challenges with require
ments in terms of ASD were. On the other hand, they should give a statement for each
challenge to clarify why they considered this challenge as important. The minimum
number of required answers was 3, whereas the maximum was 15. In sum, we received 107
answers (items) from 26 experts. Table 3 shows an example of an item consisting of a
challenge and a statement concerning importance. The full results can be found in [21].
With respect to data analysis, each challenge was categorized by the authors during
a workshop. Those items, which could not be categorized easily, were discussed within
the group of authors. We used the following categories: stakeholder and user involve
ment, collaboration within the team, vision and big picture, iteration planning and esti
mation, granularity of requirements, dependencies of requirements, understanding agile
and agile values, continuous delivery of value, roles and responsibilities, need for
security, requirement validation, RE methods, format of requirements, clarity of require
ments, prioritization, renement, discovery and transparency.
Additionally, the reported challenges were categorized according to their agile RE
activity (see Table 4).
3.4 Round 2
We checked each item of round one critically, whether or not it was appropriate for
answering our RQs and being queried in the next round. Thus, items of round 1 were
consolidated or excluded. In the end, we identied 34 items as relevant for assessing
them in round 2. Based on those items, we created the questionnaire for the second round.
Key Challenges in Agile Requirements Engineering 43
The resulting questionnaire assessed 34 items related to the following topics: stakeholder
and user involvement (6 items), understanding agile and agile values (6 items), RE
methods (10 items), iteration planning and estimation (6 items) and format of require
ments (6 items).
The experts rated each item using 7-point Likert items (see Fig. 3). Moreover, they
could choose giving no statement. To sum up, we received responses from 23 experts.
For each item we calculated mean, variance and standard deviation. Additionally, we
created a diagram showing the distribution of experts opinion (see Fig. 3) and discussed
on the meaning of ndings. The results of round two can be found in [22].
3.5 Round 3
We reduced the number of items when designing the questionnaire for the third round.
Considering items from round 2, we assessed each item according to (a) its relevance
in terms of our RQs, (b) the importance in terms of the attributes of agile RE, (c) the
opinion of the experts and the comprehensibility of the items.
The nal questionnaire comprised two parts. The rst part queried in sum 20 potential
key challenges of agile RE (see Appendix). The experts were asked to rate each item,
whether or not it is a challenge in agile RE. Moreover, they had the option to choose
giving no statement. Then, the second part evaluated those items that experts identied
as challenge in terms of importance, following 7-point Likert items (totally important,
important, rather important, neutral, rather unimportant, unimportant, totally unimpor
tant, no statement). In addition, experts optionally had the chance to provide a solution
for solving the challenge.
In sum, 22 experts lled in the questionnaire. We classied each of the 20 items as
challenge in Agile RE since we derived all items from the results of the previous rounds.
Besides, we calculated the number of experts who rated each item as a challenge. Then,
we dened challenges as key in those cases where 2/3 of the experts answers were:
Yes, it is a challenge. Finally, we calculated the importance for those items. The results
of round 3 can be found in [23].
44 E.-M. Schn et al.
4.1 (RQ1) What Are the Key Challenges in Agile Requirements Engineering?
We identied six key challenges industry has to face today in terms of agile RE (see
Table 5). In general experts weighted the identied challenges as important [23] and
none of them rated one of the six key challenges as unimportant.
All challenges related to the category stakeholder and user are classied as key
challenges (C2, C5, C6). Therefore, we can conclude that organizations still struggle to
the agile transition. Evolving an agile mindset within a whole organization even in parts
that are not close to development is still a challenge companies have to address.
Typically, agile transformation starts in development-oriented parts of an organiza
tion. Transforming an organization to become more agile implies a change within the
whole organization. The results show that there is a gap between knowledge and under
standing agile values [24] within organizations. Development-oriented techniques
Key Challenges in Agile Requirements Engineering 45
evolve rapidly. In comparison, there are still challenges involving stakeholders and users
into the agile processes (C2, C5, C6).
Two challenges (C1, C4), related to category requirements management, are key in
agile RE. On the one hand, companies have an issue with the continuous management
of requirements. On the other hand, they have a problem with technical or functional
dependencies due to raising eort in coordination. Besides, one challenge of methods
and artifacts (C3) is a key challenge.
ASD is commonly used in environments where people have to solve complex adap
tive problems [25]. Concerning C1, C3, and C4 we can state that there are still challenges
to be solved, due to the complexity of problems, which are not addressed by agile tech
niques properly. To this end, existing techniques and methods must be adapted or new
techniques need to be found.
Figure 4 oers an overview of the categorized key challenges.
4.2 (RQ2) How Can We Deal with the Identied Key Challenges?
Experts recommend techniques, methods and tools in order to deal with the challenges
in agile RE. Below, we will list the techniques and methods proposed by the panel for
each key challenge.
C3: In agile software development it is a challenge not to lose sight of the big picture
during the implementation of complex requirements.
The following techniques were recommended: creating a shared understanding
regarding the meaning of the big picture by means of a product vision, dening epics or
subgoals in the beginning, managing the big picture as a responsibility of the product
owner, providing transparency concerning changes among all, understanding connec
tions among user stories by means of story mapping, visualizing customer journey in
the beginning, involving users continuously in order to focus on the problem to be solved
and identifying central contact person for related topics to enable rapid coordination.
Moreover, the experts advised to use visualization by means of roadmaps, sketches of
the system and processes, and value streams.
4.4 Limitations
We are aware that the design of a questionnaire is important for the process of data
gathering. To this end, we made several pretests of each questionnaire we used with
participants matching our criteria of expert selection. Nevertheless, we observed two
experts struggling with the user experience of the questionnaire tool (Google Forms)
used in round 1. Therefore, we decided to use another tool (LimeSurvey) for the ques
tionnaire in round 3, which was more complex than the previous two.
To carry out the study, the group of authors created summaries of the results and
made decisions concerning the kind of items they had to query in the following rounds.
That may lead to bias in the opinion building process of the panel. We tried to prevent
this point by being very accurate in terms of data analysis and by creating the reports.
In addition, we selected items for the following rounds through the selection criteria
dened earlier.
48 E.-M. Schn et al.
This paper has addressed the identication of the most important challenges in agile RE
industry has to face up today. Moreover, we examined how to deal with those challenges.
For that purpose, we carried out an iterative expert judgement process comprising three
complementary rounds. The learnings from previous iterations were used for carrying
out the following ones. Our panel consisted of 26 experts in the eld of ASD working
for 19 dierent companies.
We have contributed to the body of knowledge of software development by identi
fying 20 challenges industry has to address at present in terms of agile RE. Six of these
challenges have been dened as key challenges. In addition, we have analyzed options
to deal with those key challenges by means of agile techniques recommended by the
experts.
Future research may specically identify challenges in agile RE by means of an
international panel of experts, for instance with experts from Scandinavian countries.
Our aim is to conduct a comparative analysis among the statements of German-speaking
experts with the viewpoint of international experts. In addition, we are creating a tool
that supports practitioners solving the identied challenges using agile techniques.
Therefore, we are working on agile RE patterns. Some experts stated that the queried
challenges are not limited to ASD. To this end, future studies may analyze whether the
challenges appear in terms of RE in general.
Acknowledgements. First of all, we would like to thank all experts for their participation and
sharing their valuable knowledge. Moreover, we would like to thank all participants in our pretests
for their collaboration. This research has been supported by the MeGUS project (TIN2013-46928-
C3-3-R), Pololas project (TIN2016-76956-C3-2-R) and by SoftPLM Network (TIN2015-71938-
REDT) of the Spanish Ministry of Economy and Competitiveness.
Appendix
See Table 6.
Key Challenges in Agile Requirements Engineering 49
References
1. Schwaber, K.: Agile Project Management with Scrum. Microsoft, Redmond (2004)
2. Anderson, D.J.: Kanban - Successful Evolutionary Change for your Technology Business.
Blue Hole Press, Sequim (2010)
3. Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading
(2000)
4. International Organization for Standardization: ISO 9241-210:2010 - Ergonomics of human-
system interaction - Part 210: Human-centred design for interactive systems (2010)
5. Schn, E.-M., Thomaschewski, J., Escalona, M.J.: Agile requirements engineering: a
systematic literature review. Comput. Stand. Interfaces 49, 7991 (2017)
6. Schn, E., Winter, D., Uhlenbrok, J., Escalona, M.J., Thomaschewski, J.: Enterprise
experience into the integration of human-centered design and Kanban. In: Proceedings of the
11th International Joint Conference on Software Technologies (ICSOFT 2016), Lisbon,
Portugal, pp. 133140 (2016)
7. Cohn, M.: User Stories Applied: For Agile Software Development (2004)
8. Sommerville, I., Sawyer, P.: Requirements Engineering: A Good Practice Guide. Wiley,
New York (1997)
9. Silva da Silva, T., Martin, A., Maurer, F., Silveira, M.: User-centered design and agile
methods: a systematic review. In: 2011 AGILE Conference, pp. 7786. IEEE (2011)
10. Brhel, M., Meth, H., Maedche, A., Werder, K.: Exploring principles of user-centered agile
software development: a literature review. Inf. Softw. Technol. 61, 163181 (2015)
11. Inayat, I., Salim, S.S., Marczak, S., Daneva, M., Shamshirband, S.: A systematic literature
review on agile requirements engineering practices and challenges. Comput. Hum. Behav.
51, 915929 (2015)
12. Soares, H.F., Alves, N.S.R., Mendes, T.S., Mendonca, M., Spinola, R.O.: Investigating the
link between user stories and documentation debt on software projects. In: 2015 Proceedings
of the 12th International Conference on Information Technology - New Generations, pp. 385
390. IEEE (2015)
13. Ramesh, B., Cao, L., Baskerville, R.: Agile requirements engineering practices and
challenges: an empirical study. Inf. Syst. J. 20, 449480 (2010)
14. Bjarnason, E., Wnuk, K., Regnell, B.: A case study on benets and side-eects of agile
practices in large-scale requirements engineering. In: Proceedings of the 1st Workshop on
Agile Requirements Engineering - AREW 2011, pp. 15. ACM Press, New York (2011)
15. Heikkila, V.T., Damian, D., Lassenius, C., Paasivaara, M.: A mapping study on requirements
engineering in agile software development. In: 2015 Proceedings of the 41st Euromicro
Conference on Software Engineering and Advanced Applications, pp. 199207 (2015)
16. Dalkey, N., Helmer, O.: An experimental application of the DELPHI method to the use of
experts. Manage. Sci. 9, 458467 (1963)
17. Diamond, I.R., Grant, R.C., Feldman, B.M., Pencharz, P.B., Ling, S.C., Moore, A.M., Wales,
P.W.: Dening consensus: a systematic review recommends methodologic criteria for
reporting of Delphi studies. J. Clin. Epidemiol. 67, 401409 (2014)
18. Linstone, H.A., Turo, M.: The Delphi Method - Techniques and Applications (2002)
19. Dalkey, N.: An experimental study of group opinion. Futures 1, 408426 (1969)
20. Finstad, K.: Response interpolation and scale sensitivity: evidence against 5-point scales. J.
Usability Stud. 5, 104110 (2010)
21. Schn, E.-M., Winter, D., Thomaschewski, J., Escalona, M.J.: Results of Challenges in Agile
Requirements Engineering (Round 1) (2017). doi:10.13140/RG.2.2.34571.28961
Key Challenges in Agile Requirements Engineering 51
22. Schn, E.-M., Winter, D., Thomaschewski, J., Escalona, M.J.: Results of Challenges in Agile
Requirements Engineering (Round 2) (2017). doi:10.13140/RG.2.2.32893.56802
23. Schn, E.-M., Winter, D., Thomaschewski, J., Escalona, M.J.: Results of Challenges in Agile
Requirements Engineering (Round 3) (2017). doi:10.13140/RG.2.2.16116.35201
24. Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M.,
Grenning, J., Highsmith, J., Hunt, A., Jeries, R., Kern, J., Marick, B., Martin, R., Mellor, S.,
Schwaber, K., Sutherland, J., Thomas, D.: Manifesto for Agile Software Development. http://
www.agilemanifesto.org/
25. Schwaber, K., Sutherland, J.: Scrum Guide. http://www.scrumguides.org/scrum-guide.html
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Eeny, Meeny, Miny, Mo...
A Multiple Case Study on Selecting a Technique
for User-Interaction Data Collecting
a(B)
Sampo Suonsyrj
1 Introduction
In the last few years, the world has witnessed a tremendous progress in the
ways software is developed with. On one hand, this has already beneted both
customers and vendors by improving productivity, product quality, and customer
satisfaction [1]. On the other hand, the acceleration of release velocity has been
such a strong focus point, that the evolution of the means of understanding user
wants and needs could not have kept up the pace. For example, M akinen et al. [2]
describe that customer data analytics are still used sparingly. Similarly, research
related to the techniques of automatic collecting of post-deployment data and
its use to support decisions still seems to be in its infancy [3]. This feels partly
unfortunate, because agile software development has always had the intention
of faster responding to changing customer requirements and to achieve this,
both rapid releasing and rapid understanding of customers are needed.
Addressing this, one of the promising solutions is to track users in the user-
interface level, then analyze that data to understand how they use the software,
c The Author(s) 2017
H. Baumeister et al. (Eds.): XP 2017, LNBIP 283, pp. 5267, 2017.
DOI: 10.1007/978-3-319-57633-6 4
Selecting a Technique for User-Interaction Data Collecting 53
and nally make decisions based on the analysis [4]. To start such a process,
the rst thing to do is to select a collecting technique that is suitable for the
case. There are many restrictions to this, however, and these make the select-
ing a rather problematic task. Therefore, guidelines for evaluating and selecting
a suitable collecting technique are needed. In our previous work [5], we have
designed such a selection framework, which should serve as a guideline and help
practitioners in these tasks. The objective of this study is to evaluate and rene
that selection framework.
In this paper, we describe the reasons for choosing specic collecting tech-
niques in three dierent case contexts and evaluate and rene the previously
presented selection framework based on their data. The study is a part of on-
going design science research in which we have already designed the selection
framework. This part uses the case study method to evaluate and rene the
previous design and explore its contexts. Specically, we address the research
question:
What reasons software teams have for selecting a specic technique
for user-interaction data collecting?
To answer this overarching research question, we have derived two sub-questions.
Firstly, the process of choosing a collecting technology will be explained. Sec-
ondly, we try to nd out if some of the criteria we presented in our previous
work are more signicant than others or if there are completely other and more
relevant reasons for choosing the technologies. The sub-questions for the study
are declared as follows:
1. How were the collecting techniques selected in each case?
2. What kind of criteria for choosing a certain technique were the
most signicant in each case?
The rest of the paper is structured as follows. In Sect. 2, we present the back-
ground of the study, namely the selection framework which consists of selection
criteria and a process. In Sect. 3, we explain how and why we used case study
methods and describe the cases involved. In Sect. 4, we describe the process and
criteria for choosing a specic technique for user-interaction data collecting in
each case. In Sect. 5, we discuss those results to evaluate and rene the selection
framework and in Sect. 6 we present the nal conclusions of the study.
2 Background
To the best of our knowledge, related work for selecting techniques for user-
interaction data is very limited. For example, a recently published systematic
mapping study by Rodriguez et al. [6] identied the analysis of why certain tech-
nologies for monitoring post-deployment user behavior are selected over other
similar existing solutions as a concrete opportunity for future work. However
as a background for this study, we revisit the basics of the previously designed
selection framework for user-interaction data collecting techniques.
54 S. Suonsyrj
a
The selection framework forms the basis for this study, as our goal is to
evaluate the framework and rene it where necessary. It consists of a set of
selection criteria and a process for the selecting. In addition, we introduce dif-
ferent techniques for user-interaction data collecting. These techniques and their
evaluations are presented in a more detailed manner in [5]. They are mentioned
nonetheless here for an overlook to the dierent alternatives that software teams
have when they start collecting user-interaction data and for demonstrating the
criteria part of the selection framework.
Timeliness. When can the data be available? Does it have a support for real-
time?
Targets. Who should benet from the data? What is the intended use? Does
it support many targets? Does it produce dierent types of data?
Eort level. What kind of a work eort is needed from the developers to
implement the technique?
Overhead. How does it aect performance, e.g. system response time to user-
interactions?
Sources. Does it support many source platforms?
Congurability. Can the collecting be switched on and o easily? Can it
change between dierent types of data to collect?
Security. Can the organization who developed the collecting technology be
trusted with the collected data? Is the data automatically stored by the same
organization?
Reuse. Is the collecting always a one-time solution or can it be reused easily?
have for the usage data collecting as these can have a major impact on the
approach selection. If the goals are clearly stated, and the aim is e.g. to simply
nd out which of two buttons is used the most, manual instrumentation can work
suciently. However, if the goal is stated anything like to get an overall view of
how the system is used or if the goal is not stated at all, the more automated and
more congurable approaches most likely become more appealing. Therefore, one
of the most crucial things to nd out in this step is to understand what dierent
stakeholders want to accomplish with the collected data.
After this, the nal step is to evaluate the remaining approaches. The
plus and minus signs used in Table 1 work as guidelines in this, but their emphasis
obviously varies on a case to case basis. To summarize, the selection framework
is illustrated in Fig. 1.
Criteria Techniques
Manual Tools AOP UI Lib. E.E.
Timeliness + + +
Targets + +
Eort + + + +
Overhead + +
Sources +
Congurability + + +
Security + + +
Reuse + +
+ = Supports selecting
= Technique has limitations
system and application specic, which focuses the collecting better on the rele-
vant targets.
Fourthly, an alternative implementation of a user-interface library
(UI Lib.) can be set to automatically collect user-interaction data. Because user-
interaction is usually implemented with standard UI libraries, their components
can be altered so that they include the collection of user-interaction data within
them. Finally, the data collection can also be integrated into the environment
without modications to the original application. For languages like Java and
JavaScript the virtual machine is an execution environment (E.E.) where
method and function calls can be monitored by instrumenting critical places.
We have summarized the evaluations of dierent collecting techniques for
the basis of the selection framework, i.e. Table 1, giving each technique either a
plus if it has a positive impact or if it does not have restrictions in terms of the
criterion. A technique is marked with a minus sign if it limits the selection or
the use of a data collecting implementation according to a criterion.
3 Research Approach
The study was conducted using case study methodology. It allowed us to explore
and describe the case specic situations and their circumstances related to
the selection framework from deeper and more insightful viewpoints than if
a research method with set variables had been used. Case study investigates
contemporary phenomena in their real-life context [10], and this suited the pur-
poses of the study well. The study is a part of on-going research eort, where
we design, evaluate, and diuse the selection framework by design science guide-
lines presented in [11] and with the process presented in [12]. The design science
method of the underlying research eort aected this study as well especially in
how actively the researchers had to take part in the cases. This participation was
Selecting a Technique for User-Interaction Data Collecting 57
Case Selection. Given the purpose of the studied selection framework, its
potential users are mainly software teams that are only beginning to collect
user-interaction data. This limited the potential cases for this study to software
teams that had not yet selected a technique for user-interaction data collecting
but were still willing to try such collecting out. Clearly, the selected cases had
to be open enough that publishing the results reliably was possible and also
accessible in the rst place for the rst author to do the research with them.
Similarly, the number of the cases selected for the study was aected by
the fact that the rst author had to spend considerable eort in each case. As
suitable software teams for this study had not tried out user-interaction data
collecting or explored its techniques, the rst author had to have access to a
potential software team to tell about the possibilities of such data collecting and
initiate these tasks. All of these limited the number of selectable cases to few,
and nally three software teams were selected for the study.
Data Collection. The data was gathered from February to December 2016.
Main parts of the data consist of meeting notes written down by the rst author
of this paper. Workshop type of meetings were held in each of the cases. Since
collecting user-interaction data was a novelty for each participating software
team, simple interviewing would not have worked. Rather, the meetings were
organized as workshops where the rst author motivated the software team to
58 S. Suonsyrj
a
try out user-interaction data collecting and described the dierent possible tech-
niques for doing so. In addition to the data gathered in meetings, the rst author
had designated work desks in the same rooms where the software teams were
working in cases A and B. Therefore, data was also gathered by observation
and by participating in informal meetings. However, these data were only used
for verifying some of the previously collected meeting note data, such as how
many standup meetings a team have in a week. Although these observational
data were not collected in a formal fashion, for the rst author it improves the
reliability of the results in terms of data triangulation.
to web based systems. The software development method used in their team has
some properties from agile development methods such as Scrum. They, for exam-
ple, have bi-daily standup meetings and they use Kanban boards to organize their
work. New versions of their product are released usually a few times a year.
4 Results
The results of the study are twofold. Firstly, we describe the processes with which
the techniques were selected in each case. Secondly, we dive into the reasons the
software teams had for their selection.
1
http://funbase.cs.tut./.
60 S. Suonsyrj
a
The researcher was then given rights to change the source code. After applying
the collecting code to six places in it, the version was sent to end-users for a two
week collecting period in April 2016.
Case C. In case C, an initial meeting was held with two members of the software
team and the researcher in September 2016. Similar to the previous cases, the
team members described the environment for which they develop software and
the architecture of their product. The meeting then continued as a workshop,
where each participant tried to gure out ways for how user-interaction data
collecting could be used for their software development. Such targets were plenty,
and no specic tasks were selected at that point. The researcher then explained
the same technological approaches for user-interaction data collecting to the
team members. The option of monitoring execution environment was rejected at
this point, but the rest still remained possible for selecting.
The evaluation criteria from the selection framework were then used for the
analysis of the product and its environment. Since the aspect-oriented approach
raised the most interest among the software team, it was decided that the avail-
ability of AOP libraries and their suitability to the product were to be examined.
An alternative implementation of a UI library was considered as a second choice,
but the rest of the alternatives were rejected at this point. During the fall of 2016,
the aspect-oriented approach was implemented technically successfully to the
product. The rst data collecting period is planned to be held during the spring
of 2017 with a student group as experimental end-users.
Case A. The rst decision made by the Organization A was that they selected
to try out user-interaction data collecting with System Y. This decision was
based on the sources and the reuse possibilities of the collecting eort,
because the motivation was to specically try out this kind of data collecting as
a technical concept rather than immediately produce actionable insights from
exact places of a product. Had the collecting eort been carried out with the
Tool X, the reuse would have been practically impossible since its environment
was not as common as with the System Y.
Although the overall motivation was to test user-interaction data collecting
conceptually, the team wanted to focus the requirements of the data collecting
after the selection of the specic source, i.e. product. Finding a technology that
could be easily reused with as little implementation eort as possible became a
goal. This made the option of manual instrumentation heavily unfavorable. The
team also emphasized how the security and congurability were important
for the collecting technology. For example, the environment of their product was
such that the collecting should be easy to be left out of the whole product when
necessary. Consequently, the unobtrusiveness of the technology was highly valued.
Although the need for low conguring eort increased the attractiveness of
using an automated tool for instrumentation, the security concerns were so heavy
62 S. Suonsyrj
a
that the use of a tool developed outside the organization was not recommended.
Therefore, the option of nding and using 3rd party tools was quickly rejected.
In addition, the availability and eects of AOP libraries to things such as the
overhead were unknown in the environment of System Y. Possibly the most
signicant of all, there was no motivation to make as big a change to the
software architecture as needed by the aspect-oriented approach. The same
reason applied for rejecting the option of an alternative UI library, because hav-
ing dierent versions of the libraries was not acceptable for the delivery pipeline.
Case B. Similar to case A, the motivation for the team of case B in user-
interaction data collecting was to try it out as a concept. On the contrary how-
ever, this resulted in this case in a faster and a narrower scoped experiment.
In other words, the targets and the source of their data collecting were very
clearly dened in the rst place. At the same time, this resulted in the lack of
signicance of the implementation eort because it would be so low even with
the manual approach. Similarly, reuse was not considered as a signicant rea-
son, since there were no guarantees that the data collecting mechanism would
be ever reused. All this resulted in a very straightforward choice of the manual
approach. It was by far the easiest approach to implement on a small scale and
it allowed the team to try out if user-interaction data collecting in a fast and
low-eort way.
Case C. Being a new thing for the case C software team, the user-interaction
data collecting was again designed as a demonstrative experiment similar to
the case A. Likewise, the interests of the team in this case were technical in the
sense that they rstly wanted to nd out a suitable technique for user-interaction
data collecting. In the best case scenario, this technique could be then used with
their actual product and actual end-users after the initial experiment. Because
there was no simple access to experiment the collecting with real users, in the
manner of case B, and the security requirements were weighted a lot heavier, the
technical design of the collecting was the primary focus. Although the possible
user-interaction data types and collection places, i.e. sources, were plenty, they
were to be considered only secondly after validating the technical setup for the
collecting.
This aected the evaluation of the collecting techniques in terms of prioritiz-
ing the criteria from the selection framework. Not limiting the sources and tar-
gets became important, because the collecting technique would not be selected
and designed for just a one time try out. Although not mentioned out loud by
the team, this could hint towards them valuing the reuse possibilities. All of
these resulted in the attractiveness of the techniques enabling lower work eort
spend on each distinct collecting place. Further on, the whole collecting was
required to be able to be switched o as easily as possible. In other words, the
congurability of the collecting technique was valued high.
Selecting a Technique for User-Interaction Data Collecting 63
5 Discussion
In each case, the process of choosing a collecting technology for user-interaction
data was more or less the same. Members of the software team and the researcher
had a meeting, where the researcher described the dierent technologies over-
all. After nding out what was the underlying goal for the team in the user-
interaction data collecting, the most important criteria for the selecting became
quite clear for both the researcher and the team members.
Comparing those criteria with the ones in the selecting framework, it is safe to
say that most of the evaluation criteria from the selection framework were used
without the researcher pushing the team towards those specic points. However,
timeliness was never mentioned by the teams, which could signal either its
insignicance or that its need is self-evident. On the contrary, overhead rose
up in each case as a conversation topic but similar to the timeliness it did not
seem to have any eect on the selecting in any case.
For both of these, it is worth mentioning that none of the techniques had a
known disadvantage nor a limitation in terms of these criteria (timeliness and
overhead) that would have been signicant enough to get the whole technique
rejected. However, in the original selection framework they were marked with
minus signs for the monitoring execution environment technique. Therefore, the
summary table with the evaluation criteria from the original selection framework,
i.e. Table 1, requires some rening.
Firstly, the evaluations should consist of a wider scale than a plain plus or
a minus sign. In these cases, some of the criteria aected the selection clearly a
lot more than others. For example, the timeliness and overhead criteria did not
seem to have an eect on the selection but on the other hand, the eort level
of the manual technique had it rejected. Therefore, we propose an additional
exclamation mark to the evaluations in case the criterion is a possible ground
for a rejection. We have gone through the rest of the summary evaluations and
added an exclamation mark where necessary based on the cases.
Secondly, some of the evaluations are not clearly pluses nor minuses. There-
fore, we have added an option of +/ marking for the evaluation, if the technique
does not denitely support nor limit the selection in terms of the specic cri-
terion. Adding this option has had eects especially on the evaluations of the
techniques that are heavily intertwined with specic tools. For example, the
minus signs in the execution environment column of timeliness and overhead
rows can be then replaced with this option. We have reviewed the evaluations
and changed the original signs into +/ markings where necessary.
Thirdly, the eort criterion should be divided into two and renamed to scal-
ability. The intention of the criterion is to depict the work eort that is required
from the software developers to implement collecting snippets to the dierent
places of the source code. Finally, however, there was a clear need for an evalu-
ation criterion of how great an eort is needed from the software developers to
change the software architecture and/or environment of the moment to support
the collecting technique. This criterion could be named as the change that is
64 S. Suonsyrj
a
Criteria Techniques
Manual Tools AOP UI Lib. E.E.
Timeliness + +/ + + +/
Targets + +! +/
Scalability ! + +! + +!
Overhead + +/
Sources +
Congurability + + + +/!
Security + +/! +/ + +/
Reuse + +!
Change +! + ! ! +
+ = Supports selecting
= Technique has limitations
+/ = No clear support nor limitations
! = A possible ground the rejection
required. With these renements to the criteria and evaluations, the summary
table of the evaluations is as listed in Table 2.
In addition to the changes in the evaluations, the original selection framework
requires some renements based on the cases as well. First of all, in these cases
the underlying goal of the whole collecting eort was the most important driver
in the selection process. In cases A and C the delivery pipelines did not allow fast
and exible releases of new software versions with user-interaction data collecting
capabilities, and so the software teams decided to develop their environment so
that the collecting would be possible in the future. This became their real target,
where as the team in case B did not have to develop their environment. On the
contrary, they had the luxury of aiming straightforwardly at just testing out the
collecting and the resulting user-interaction data with a minimum eort.
Therefore, the rst step of the selection framework, exploring the case, should
be claried and replaced by a step of dening a main goal for the collecting eort.
Based on these cases, it would be easy to then remove the irrelevant evaluation
criteria after dening such a goal. For example, in case B the scalability of the
collecting technique was seen unnecessary after the collecting was designed to
be implemented as a one time solution.
Exploring the case still included important things that should be part of the
selecting framework. Thus, the next thing of the process should be to nd out
the critical limitations. The rest of the original selection framework worked out
as it was in these cases, and so no other changes were required to the nal rened
version of the selection framework. This framework is illustrated in Fig. 2.
Selecting a Technique for User-Interaction Data Collecting 65
6 Conclusions
In this paper, we studied three cases where software teams selected techniques
for user-interaction data collecting. More specically, we examined the reasons
the software teams had for the selection. To complement this, we evaluated
our previously designed selection framework and rened it based on the data
gathered from the cases.
In these cases, two of the most valued criteria for the selection were the scal-
ability of the technique and the lack of changes required to the software architec-
ture and deployment pipeline of the moment. Additionally, teams appreciated
the reuse, security, and congurability of the techniques as well as the support
for a wide range of monitoring targets. On the other hand, the rest of the cri-
teria presented with the original selection framework, i.e. timeliness, overhead,
and support for dierent source applications, did not seem to have a signicant
eect on the selections.
The original evaluations of the dierent user-interaction data collecting tech-
niques were rened to include markings for the dierent levels of signicance.
In addition, the original selection framework was xed to better support these
more detailed evaluations. With these changes, we think the selection framework
and its complementary technique evaluations can help practitioners greatly to
the beginning of their journey of user-interaction data collecting.
References
1. Leppanen, M., Makinen, S., Pagels, M., Eloranta, V.P., Itkonen, J., M
antyl
a, M.V.,
Mannist
o, T.: The highways and country roads to continuous deployment. IEEE
Softw. 32(2), 6472 (2015)
66 S. Suonsyrj
a
2. Makinen, S., Lepp anen, M., Kilamo, T., Mattila, A.L., Laukkanen, E., Pagels, M.,
Mannisto, T.: Improving the delivery cycle: a multiple-case study of the toolchains
in nnish software intensive enterprises. Inf. Softw. Technol. 80, 175194 (2016)
3. Fabijan, A., Olsson, H.H., Bosch, J.: Customer feedback and data collection tech-
niques in software R&D: a literature review. In: Fernandes, J., Machado, R., Wnuk,
K. (eds.) ICSOB 2015. LNBIP, vol. 210, pp. 139153. Springer, Cham (2015).
doi:10.1007/978-3-319-19593-3 12
4. Suonsyrja, S., Mikkonen, T.: Designing an unobtrusive analytics framework
for monitoring Java applications. In: Kobyli nski, A., Czarnacka-Chrobot, B.,
Swierczek, J. (eds.) IWSM/Mensura -2015. LNBIP, vol. 230, pp. 160175. Springer,
Cham (2015). doi:10.1007/978-3-319-24285-9 11
5. Suonsyrja, S., Syst a, K., Mikkonen, T., Terho, H.: Collecting usage data for soft-
ware development: selection framework for technological approaches. In: Proceed-
ings of The Twenty-Eighth International Conference on Software Engineering and
Knowledge Engineering (SEKE 2016) (2016)
6. Rodriguez, P., Haghighatkhah, A., Lwakatare, L.E., Teppola, S., Suomalainen, T.,
Eskeli, J., Karvonen, T., Kuvaja, P., Verner, J.M., Oivo, M.: Continuous deploy-
ment of software intensive products and services: a systematic mapping study. J.
Syst. Softw. 123, 263291 (2017)
7. Chittimalli, P.K., Shah, V.: GEMS: a generic model based source code instru-
mentation framework. In: Proceedings of the Fifth IEEE International Conference
on Software Testing, Verication and Validation, pp. 909914. IEEE Computer
Society (2012)
8. Chen, W., Wassyng, A., Maibaum, T.: Combining static and dynamic impact
analysis for large-scale enterprise systems. In: Jedlitschka, A., Kuvaja, P.,
Kuhrmann, M., M annist
o, T., M unch, J., Raatikainen, M. (eds.) PROFES
2014. LNCS, vol. 8892, pp. 224238. Springer, Cham (2014). doi:10.1007/
978-3-319-13835-0 16
9. Chawla, A., Orso, A.: A generic instrumentation framework for collecting dynamic
information. SIGSOFT Softw. Eng. Notes 29(5), 14 (2004)
10. Yin, R.K.: Case Study Research: Design and Methods. Sage Publications, Thou-
sand Oaks (2013)
11. Von Alan, R.H., March, S.T., Park, J., Ram, S.: Design science in information
systems research. MIS Q. 28(1), 75105 (2004)
12. Peers, K., Tuunanen, T., Rothenberger, M.A., Chatterjee, S.: A design science
research methodology for information systems research. J. Manage. Inf. Syst. 24(3),
4577 (2007)
13. Runeson, P., H ost, M.: Guidelines for conducting and reporting case study research
in software engineering. Empirical Softw. Eng. 14(2), 131 (2008)
Selecting a Technique for User-Interaction Data Collecting 67
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Comparing Requirements Decomposition Within
the Scrum, Scrum with Kanban, XP, and Banana
Development Processes
Davide Taibi1
( )
, Valentina Lenarduzzi1 , Andrea Janes1 , Kari Liukkunen2 ,
and Muhammad Ovais Ahmad2
1
Free University of Bolzano/Bozen, Bolzano, Italy
{davide.taibi,valentina.lenarduzzi,andrea.janes}@unibz.it
2
University of Oulu, Oulu, Finland
{kari.liukkunen,muhammad.ahmad}@oulu.fi
1 Introduction
Eliciting requirements from customers is a complex task. In Agile processes, the intro
duction of the product owner usually facilitates the process, suggesting that the customer
talk directly with the development team and thus reducing the number of intermediaries.
However, the product owner, especially when he or she is not an expert in the project
domain, reports requirements in natural language, in their own words, and often in an
unstructured way.
The requirements elicitation process is up to the developers, who usually split it up
into user stories in the case of Agile processes.
To the best of our knowledge, there are no studies that have attempted to understand
how requirements are decomposed in Agile processes and, moreover, no studies that
compare requirements decomposition among dierent Agile processes or other
processes.
To bridge this gap, we designed and conducted the rst such empirical study, with
the aim of comparing the requirements decomposition process of an unstructured
process and three Agile processes, namely XP, Scrum, and Scrum with Kanban [21].
We conducted the study as a multiple case study with a replication design [1] since it
was not possible to execute a controlled experiment because of the unavailability of
developers for the major eort required. We selected four groups of second-year master
students as participants, which constitute a good sample of the next generation of devel
opers entering the job market. They were perfectly suited for this task since the project
did not require the use of new technologies unknown to the students, and they can thus
be viewed as the next generation of professionals [1013]. Students are perfectly suitable
when the study does not require a steep learning curve for using new technology [13, 17].
We selected a project idea to be developed by means of an idea contest for entre
preneurs, selecting an idea from a designer with no experience in software development.
This project idea was then developed by four teams using four dierent development
processes. The requirements were elicited by the teams from the same entrepreneur who
acted as product owner with all four groups.
The results show interesting dierences regarding requirements decomposition. The
team that developed in XP decomposed a lot more stories, followed by the one using
Scrum with Kanban, then the one using Scrum, and nally the team using the unstruc
tured process. Another interesting result is related to the development eort, which was
perfectly inversely proportional to the number of user stories decomposed, resulting in
the highest eort for the unstructured process and the lowest for the XP one.
This paper is structured as follows. Section 2 introduces the background and related
work. Section 3 presents the multiple case study and Sect. 4 the results obtained.
Section 5 describes the threats to validity and Sect. 6 draws conclusions and future work.
The term user story decomposition describes the act of breaking a user story down
into smaller parts [8]. User stories are typically decomposed into parts that have a scope
that is large enough to provide value to the customer but small enough so that the eort
for implementing the story can be estimated with a low risk of being wrong. A story
with a smaller scope is likely to be less complex than a story with a large scope. More
over, if the scope is large, more things can go wrong, e.g., unknown details might emerge,
the architecture may be inadequate, and so on [4]. Altogether, the expectation is that it
should be easier to estimate the eort for developing a small story than that for a large
one. As a consequence, sprint planning, i.e., dening which stories the team should be
able to complete during a sprint, is more likely to be accurate with small user stories.
Additionally, developing stories with a smaller scope allows the team to complete a
user story more often than if it were to develop only a few large user stories. This allows
70 D. Taibi et al.
it to regularly deliver business value to the customer, with the consequence that the
customer can provide feedback earlier, allowing the team to learn faster which require
ments the system being developed should fulll.
A popular technique for decomposing user stories is User Story Mapping [9],
which decomposes the stories from the users point of view, i.e., it decomposes the ow
of user activities into a workow that can be further decomposed into a set of detailed
tasks [8]. User Story Mapping uses the terms activity, task, and subtask to
describe high-level activities (e.g., buy a product), tasks (e.g., manage shopping
cart), and subtasks, i.e., the decomposed user stories, which are the ones assigned to
developers (e.g., add product to shopping cart). Rubin uses the terms epic, theme,
and sprintable story to apply it within Scrum [8].
Outside of an Agile context, the decomposition of requirements into dierent parts
has been discussed to prepare their technical implementation: for example, [14]
describes techniques used in service-based applications to decompose complex require
ments in order to reuse relatively simple services; in [15], the authors develop a technique
for matching parts of the requirements to COTS components; in [16], the authors discuss
how to decompose architectural requirements to support software deployment in the
cloud; in [17, 20], the authors study conicting requirements; in [18], the authors propose
an extension to UML to allow decomposing use case models into models at several
levels of abstraction; and in [19], the authors decompose requirements to identify
security-centric requirements.
All these examples rather describe decomposition as an activity to devise a speci
cation that describes the system to be built. Within an Agile context, decomposition is
used to reduce the risk of providing a constant ow of value; therefore, user stories are
typically decomposed following the principle that each one should deliver value to the
customer. To the best of our knowledge, no peer-reviewed works exist that describe
decomposition techniques used within an Agile context. However, various other tech
niques worth mentioning have been developed by practitioners, who describe them on
their blogs. In the following, we will describe the approaches they propose.
As a general approach, Lawrence [3] suggests two general rules of thumb: choosing
a decomposition strategy that allows deprioritizing or throwing away parts of a story,
thus isolating and removing unnecessary smaller parts of a larger user story, and then
choosing a strategy that results in equally sized small stories. Verwijs [5] distinguishes
between two ways to break down user stories: horizontal and vertical. Horizontal break-
down means dividing user stories by the type of work that is needed or the layers or
components that are involved, e.g. separating a large user story into smaller user stories
for the UI, the database, the server, etc. He suggests avoiding this type of break-down
as user stories will no longer represent units of working, demonstrable software, as it
will be hard to ship them separately to the user, as it increases bottlenecks since devel
opers will tend to specialize in types of user stories, e.g., the database guy, and as it
is hard to prioritize horizontally divided stories. Verwijs suggests breaking down user
stories vertically, i.e., in such a way that smaller items still result in working, demon
strable, software [5]. Recent works also support Verwijs proposal, suggesting to
decompose the user stories incrementally, starting from the minimum viable product
[16] and decomposing each functionality vertically, so as to also improve the user stories
Comparing Requirements Decomposition 71
eort estimation accuracy [7, 15] and the testing easiness [20]. However, this process
is more suitable for projects started from scratch with SCRUM instead of project where
SCRUM has been introduced later [14].
As these are specic techniques for decomposing a large user story into smaller ones
in an Agile context, we integrated their proposals into the following list:
1. Input options/platform [5]: decompose user stories based on the dierent UI possi
bilities, e.g., command line input or a graphical user interface;
2. Study conjunctions and connecting words (like and) to separate stories [4];
3. Data types or parameters [3, 5]: user stories are split based on the datatypes they
return or the parameters they are supposed to handle; for example, during a search
process, one could dene dierent user stories for the dierent search parameters
the user is allowed to dene;
4. Operations, e.g. CRUD [3, 5]: whenever user stories involve a set of operations,
such as CRUD (create, read, update, delete), they are separated into smaller
versions implementing each operation separately;
5. Simple/Complex [3, 5]: a complex user story is decomposed into a simple, default
variation and additional variations that describe special cases or additional aspects;
6. Major eort [3, 5]: a complex user story is decomposed into smaller ones isolating
the diculty in one user story;
7. Workow steps [35, 8]: the temporal development of the user story is studied by
imagining the process that the typical user has to follow to accomplish the user
story in order to develop (smaller) step-by-step user stories;
8. Test scenarios/test case [4, 5]: user stories are divided based on the way they will
be tested. If they will be tested by rst executing a sequence of steps and then
executing another sequence of steps, these two groups of steps will be implemented
as two separate user stories;
9. Roles [5]: one functionality is formulated as separate user stories describing the
same story for dierent user roles (personas) in each user story;
10. Business rules [3, 5]: user stories are extended by business rules, i.e., constraints
or rules that are dened by the context in which the system has to be developed,
e.g., a specic law that has to be fullled, and the single constraints and rules are
used to formulate more ne-grained user stories;
11. Happy/unhappy ow [5]: separate user stories are created for successful variations
and unsuccessful variations of the user story;
12. Browser compatibility [5]: if there is a large eort connected to particular tech
nologies, e.g., a text-based browser, [5] recommends splitting user stories
according to browser compatibility. Having separate user stories for dierent
browsers allows the product owner to prioritize the work;
13. Identied acceptance criteria [4, 5]: acceptance criteria are dened for user stories
that can be used to develop a rened set of (smaller) user stories;
14. External dependencies [5]: user stories can be separated based on the external
systems to which they have access;
15. Usability requirements [5]: user stories are separated based on particular usability
requirements, e.g., particular implementations for color-blind users;
72 D. Taibi et al.
16. SEO requirements [5]: user stories are separated based on search-engine-optimi
zation requirements, e.g., separate landing pages for specic keywords;
17. Break out a Spike [3]: a user story that is not well understood is divided into one
that develops a prototype, a so-called spike, and one that implements the actual
functionality; and
18. Renement of generic words (like manage) into more concrete user stories [4].
As stated in the introduction, the objective of this research is to compare the requirements
gathering processes and user story decomposition in Agile and unstructured develop
ment processes. Therefore, we designed this study as a multiple case study with a repli
cation design [1].
As depicted in Fig. 1, we rst identied the research questions, then selected the case
studies and their design.
In this section, we present the study process we adopted, the goal, the research ques
tions, and the metrics for the case study. This is followed by a description of the designs
used for the case study, the measurement instruments, and the results obtained.
According to our research objective, we formulated the goal of the case study following
the GQM approach [2] as follows:
Analyze requirements decomposition in user stories (or tasks)
For the purpose of comparison
With respect to the granularity
From the point of view of software developers
In the context of Scrum, Scrum with Kanban, XP, and an ad-hoc development process
Note that in the case of Agile processes, we refer to user stories, whereas in the case
of the ad-hoc development process, we refer to tasks. This leads to the following research
question:
Comparing Requirements Decomposition 73
RQ1: How does the requirements decomposition of user stories dier between the
four considered development processes?
For this research question, we dened six metrics:
M1: Number of requirements: the number of requirements provided by the product
owner;
M2: Number of user stories: the number of decomposed user stories;
M3: Number of tasks/user stories per requirement: describes how each requirement
was decomposed in each team for each requirement;
M4: Total eort (actual development time): time spent (hours) to develop the whole
application;
M5: Total eort for each requirement: time spent (hours) to implement requirements
among the dierent teams;
M6: Total eort per task/user story: time spent (hours) to implement each task/user
story; and
M7: Strategy used to decompose requirements into tasks or user stories: strategy
described in the literature used to decompose each requirement, assigned to two
researchers of this paper studying the names of the decomposed requirements.
The developed project. The teams were required to develop an Android application
called Serendipity. The idea was selected in a contest for entrepreneurs, where entre
preneurs were asked to submit the minimum viable product [16] description of their
project ideas that could be implemented in the software factory lab (http://
ideas.inf.unibz.it/). Serendipity is an Android application and a web application intended
to share a set of sounds in a specic location, so as to have the user recall special moments
by listening to the sounds.
The entrepreneur, a designer from Bolzano, initially dened the project idea as:
Serendipity means fortunate happenstance or pleasant surprise. This project is
meant to be an experience that mixes places and sound to enable you to see places you
usually go to with new eyes, in a more poetic, more ecstatic way. While taking walk,
you will have access to six music tracks, developed from the actual ambient sound of
those places themselves. I specically chose very popular meeting points in my town
(Bolzano), where many people go without even realizing anymore what the place looks
like. On a map displayed on your smartphone, these locations are highlighted. When
you arrive there, you can listen to the soundtrack created to allow you to enjoy the
moment. It should be a discovery process. The perk is that this concept is applicable to
any city/place it would be nice to spread it and let the sound go local.
The entrepreneur acted as product owner and described the project to the groups,
which elicited the requirements (Req) independently. The requirements were intention
ally stated such as to allow vertical break-down [5] decomposition and were proposed
to the groups within this timeframe:
Comparing Requirements Decomposition 75
Week #0:
Req 1: Minimal Viable Product, with all pages with fake content. The parts of the
product comprised: Sign-in/Login; Maps; Listen to sound; Record sound; Rules; and
About.
Req 2: Show the list of available sounds on a map.
Req 3: Allow only registered users to record tracks.
Req 4: The main sound can only be played when the user is exactly in the correct
location.
Week #3:
Req 5: No more than three sounds allowed within a radius of 300 m.
Req 6: Sounds cannot be downloaded but only played.
Req 7: Any user (registered or not) can listen to sounds.
Req 8: Users are allowed to listen to an ambient sound within a radius of 300 m from
the main sound.
Week #5:
Req 9: Play a notication when entering the notication area, so as to alert the user to
a sound in the neighborhood.
Req 10: Due to the lack of accuracy of GPS signals in smartphones, the main sound
must to be playable within a radius of 10 m instead of only at the exact point, as
previously required in Req 6.
Week #7:
Req 11: Create a liking system for each sound, allowing users to like a maximum
of one sound per spot. In this way, sounds with a lower number of likes can be replaced
by new sounds after three weeks.
Req 12: Create a web application to allow users to login to their prole with the only
purpose of uploading sounds, especially for professional users who would like to
upload high-quality or edited sounds.
Req 13: Allow users to register with their Facebook account.
The teams in Oulu that started the development in February were asked to develop
the same tool with the same requirements proposed with the same schedule. To ensure
the correct succession of requirements and to prevent the development of the previous
project in Bolzano to inuence the entrepreneurs perception of her project, we recorded
every requirement elicited in Bolzano so as to ask her to request the same things without
revealing any details to the other teams.
from February 2016 to the end of April 2016. The groups were required to spend a
minimum eort of 250 h on their work.
Three groups were composed of second-year master students in computer science at
the University of Oulu (Finland), while one group was composed of second-year master
students in computer science from the University of Bolzano-Bozen. The selected
students represent typical developers entering the market. It is therefore interesting not
only to understand how they break down requirements but also to observe their work
processes. All of the teams had iterations lasting two weeks. The Banana team also met
the entrepreneur every two weeks in order to be updated on the requirements.
The rst group (Kanban, https://github.com/Belka1000867/Serendipity) was
composed of ve master students who developed in Scrum with Kanban. The second
group (Scrum, https://github.com/samukarjalainen/serendipity-app and https://
github.com/-samukarjalainen/serendipity-web) was composed of ve master students
who developed in Scrum with 2-week sprints, while the third group (XP, https://
github.com/davidetaibi/unibz-serendipity) was composed of four master students who
developed in Extreme Programming (XP). The fourth group (Banana, https://
github.com/Silvergrail/Serendipity/releases) was composed of six master students who
developed in an unstructured process, which we dened as Banana process.
4 Study Results
The teams developed the project according to the assigned development process. The
XP team developed with a test-rst approach, while the two Scrum teams (Scrum and
Comparing Requirements Decomposition 77
Scrum with Kanban) developed test cases during the process. The Banana team devel
oped a limited set of test cases at the end of the process. All four teams delivered a nal
product with the same set of features, with no requirement missing.
The three Agile teams delivered the rst version of the product with a limited set of
features that could be evaluated by the customer after two sprints, while the Banana
team delivered the application, with nearly all the features implemented, only three
weeks before the end of the development and then started to implement tests. This result
was expected because of the structure of the process, since they decomposed the require
ments by means of a horizontal break-down. For example, they developed the whole
server-side application rst, starting from the design of the database schema, and then
the Android application connecting the frontend with the server-side functionalities.
The three Agile teams decomposed the requirements by means of a vertical break-
down [5], so as to deliver to the entrepreneur a working product with the required features
as soon as possible. For example, Req 2 (Show the list of available sounds on a map)
was decomposed by the XP team into: Show a Google map centered on the user location
in the Android app and Show existing sounds as map placeholders, while the Scrum
team and the Scrum with Kanban team decomposed this into: Show a Google map,
Centered on the user location in the Android app, and Show existing sounds as map
placeholders.
As expected, the groups decomposed the 13 requirements into dierent subsets of
user stories/tasks. As reported in Table 1 and Fig. 3, the team working in XP is the one
that decomposed the requirements with the lowest granularity (46 user stories), followed
by the team using Scrum with Kanban (40 user stories) and the team using Scrum (27
stories). However, the team using the Banana approach decomposed the requirements
into only 13 tasks. Moreover, they merged two requirements into one single task.
Considering the number of decomposed user stories or tasks per requirement, the results
are obviously similar to the total number of user stories and tasks reported.
Taking into account the required eort, the team developing with Scrum with Kanban
was the most ecient one, spending a total of 318 h on development. The XP and Scrum
teams followed with an eort of 391 h for XP and 478 h for Scrum. The Banana team,
unexpectedly, spent dramatically higher eort (1116 h), nearly 3.5 times more than the
teams developing with Scrum and Kanban. Considering the eort spent on other tasks
not related to user stories, such as database design, server setup, and such, the team using
Scrum with Kanban was also the most ecient one, spending no eort on these tasks.
78 D. Taibi et al.
Fig. 3. Comparison of user stories and task decomposition and eort (hours)
The Scrum team only spent 10 h on other activities (2%), the XP team spent 92 h (23%),
and the Banana team 481 h (43%).
When analyzing the average eort spent to implement each requirement, the teams
developing with XP and Scrum with Kanban obtained similar results, while the Scrum
and the Banana teams spent similar amounts of eort per requirement, nearly 2.5 times
more than the XP and Scrum with Kanban teams. Taking into account the distribution
of eort depicted in Fig. 4, there is a similar distribution of eort spent on user stories
Comparing Requirements Decomposition 79
between the Agile teams, while, as expected, the Banana team had the highest variability
of eort. Looking at the decomposition for each task (Table 2), other dierences among
the groups emerge. Req 6 was not implemented by all the teams since it was related to
not implementing the download sound feature. The Banana team also considered zero
eort for Req 7 since they merged the tasks with the activities related to Req 4.
Table 3 illustrates the various methods applied by the various teams to break down
the requirements into user stories (or tasks for the Banana approach), i.e., the results of
collecting metric M7. To obtain this table, two researchers studied the user stories and
tasks provided by the teams and compared the approach adopted to break down the
requirements with the approaches described in the literature. All disagreements in the
classication were discussed and claried based on the description of the broken-down
user stories or tasks as well as the description of the approaches found in the literature.
To also be able to classify approaches not recommended in an Agile project, we
added the three horizontal break-down strategies described by Verwijs [5]: divide user
stories by (1) the type of work that is needed, (2) the layers that are involved, or (3) the
components that are involved.
All teams used the approaches Input options/platform and Conjunctions and
connecting words. All Agile teams used the approaches Data types or parameters,
Operations, and Simple/Complex. Only the Banana team adopted the Workow
steps approach and only the XP team adopted the approaches Test scenarios/test case
and Roles. The approach Major eort was used by the teams XP, Scrum with
Kanban, and Banana.
Unexpectedly, the Banana team was not the only one that adopted horizontal break-
down approaches such as dividing user stories or tasks based on the layers of the solution,
types of work, or components. Typically, Agile teams avoid such types of break-down
since this contradicts with the principle that a user story should provide value to the user.
We conjecture that the frequent application of horizontal break-down approaches by the
80 D. Taibi et al.
Scrum team was the reason for their bad performance in terms of total eort, compared
to the other Agile teams. This also shows that the experiment was conducted with
university students with little experience in the eld. Nevertheless, their behavior is
comparable to professionals at the beginning of their careers. We did not involve
freshmen students in the study, as recommended by [10].
5 Threats to Validity
Concerning the internal validity of the study, even though we did our best to select
developers with a similar background, the results could be partially dependent on the
subjects. A replication study could conrm or reject our ndings. Concerning the
external validity of the study, the use of students to investigate aspects of practitioners
is still being debated but considered very close to the results of real practitioners in the
case of master students [9] and when one is interested in evaluating the use of a technique
by novices or non-expert software engineers [1013, 17].
Comparing Requirements Decomposition 81
In this work, we conducted a preliminary multiple case study with a replication design
with the aim of comparing the requirements decomposition process of an ad-hoc process
and Extreme Programming, Scrum, and Scrum with Kanban.
With this study, we contribute to the body of knowledge by providing the rst
empirical study on requirements decomposition in the Agile domain.
To achieve this purpose, we rst provided an overview of the dierent requirements
decomposition techniques and then a description of the study we executed.
Although some results might depend on the participants skills, we observed the
usage of dierent decomposition techniques in our groups, which often adopted tradi
tional decomposition techniques, which are more suitable for waterfall processes, in
combination with other Agile techniques.
The teams developing with Scrum with Kanban and with XP decomposed the
requirements into the highest number of user stories, while the team working with an
unstructured process, as expected, decomposed the requirements into a very limited
number of tasks. Two decomposition approaches were adopted by all processes, namely
Input options/platform and Conjunctions and connecting words. All Agile teams
used the Data types or parameters, Operations, and Simple/Complex approaches,
while, as expected, only the Banana team adopted the Workow steps approach and
only the XP team adopted the approaches Test scenarios/test case and Roles.
Unexpectedly, the Banana team was not the only one that adopted horizontal break-
down approaches such as dividing user stories or tasks based on the layers of the solution,
types of work, or components. We suppose that the bad performance in terms of total
eort of the Scrum team compared to the other Agile teams was probably due to the
application of horizontal break-down approaches.
The main result of this work is that requirements decomposition is not only team-
dependent but also process-dependent, and that therefore decomposition techniques
need to be addressed to a greater extent in order to improve the eciency of the devel
opment process.
Therefore, we recommend that developers investigate requirement break-down
approaches more thoroughly and that researchers study the impact of dierent
approaches, so as to identify the most eective ones in dierent contexts.
In the future, we plan to validate the results obtained with studies involving more
students and practitioners and using larger projects.
References
1. Yin, R.K.: Case Study Research: Design and Methods, 4th edn. Sage, Thousand Oaks (2009)
2. Basili, V.R., Caldiera, G., Rombach, H.D.: The goal question metric approach. In:
Encyclopedia of Software Engineering (1994)
82 D. Taibi et al.
3. Lawrence, R.: Patterns for splitting user stories. Agile For All Blog, 28 October 2009. http://
Agileforall.com/patterns-for-splitting-user-stories/. Accessed 8 Dec 2016
4. Irwin, B.: Boulders to gravel: techniques for decomposing user stories. VersionOne Blog, 9
May 2014. https://blog.versionone.com/boulders-to-gravel-techniques-for-decomposing-
user-stories/. Accessed 8 Dec 2016
5. Verwijs, C.: 10 useful strategies for breaking down large User Stories (and a cheatsheet).
Agilistic Blog. n.d. http://blog.agilistic.nl/10-useful-strategies-for-breaking-down-large-
user-stories-and-a-cheatsheet/. Accessed 8 Dec 2016
6. Taibi, D., Lenarduzzi, V., Ahmad, O.M., Liukkunen, K., Lunesu, I., Matta, M., Fagerholm,
F., Mnch, J., Pietinen, S., Tukiainen, M., Fernndez-Snchez, C., Garbajosa, J., Syst, K.:
Free innovation environments: lessons learned from the software factory initiatives. In: The
Tenth International Conference on Software Engineering Advances, ICSEA 2015 (2015)
7. Lenarduzzi, V., Lunesu, I., Matta, M., Taibi, D.: Functional size measures and eort
estimation in agile development: a replicated study. In: 16th International Conference on Agile
Processes in Software Engineering and Extreme Programming, XP2015 (2015)
8. Rubin, K.S.: Essential Scrum: A Practical Guide to the Most Popular Agile Process, 1st edn.
Addison-Wesley Professional, Boston (2012)
9. Patton, J., Economy, P.: User Story Mapping: Discover the Whole Story, Build the Right
Product, 1st edn. OReilly Media, Inc., Sebastopol (2014)
10. Runeson, P.: Using students as experiment subjects an analysis on graduate and freshmen
student data. In: Proceedings 7th International Conference on Empirical Assessment &
Evaluation in Software Engineering (2003)
11. Kitchenham, B.A., Peeger, S.L., Pickard, L.M., Jones, P.W., Hoaglin, D.C., El Emam, K.,
Rosenberg, J.: Preliminary guidelines for empirical research in software engineering. IEEE
Trans. Softw. Eng. 28(8), 721734 (2002)
12. Tichy, W.F.: Hints for reviewing empirical work in software engineering. Empirical Softw.
Eng. 5(4), 309312 (2000)
13. Salman, I., Misirli, A.T., Juristo, N.: Are students representatives of professionals in software
engineering experiments? In: 2015 IEEE/ACM 37th IEEE International Conference on
Software Engineering, Florence (2015)
14. Lavazza, L., Morasca, S., Taibi, D., Tosi, D.: Applying SCRUM in an OSS development
process: an empirical evaluation. In: 11th International Conference on Agile Processes in
Software Engineering and Extreme Programming, XP 2010, pp. 147159 (2010)
15. Diebold, P., Dieudonn, L., Taibi, D.: Process conguration framework tool. In: 39th
Euromicro Conference on Software Engineering and Advanced Applications (2014)
16. Taibi, D., Lenarduzzi, V.: MVP explained: a systematic mapping on the denition of minimum
viable product. In: 42th Euromicro Conference on Software Engineering and Advanced
Applications 2016, Cyprus (2016)
17. Basili, V.R., Shull, F., Lanubile, F.: Building knowledge through families of experiments.
IEEE Trans. Softw. Eng. 25(4), 456473 (1999)
18. Wang, H., Zhou, S., Yu, Q.: Discovering web services to improve requirements
decomposition. In: 2015 IEEE International Conference on Web Services, New York, NY
(2015)
19. Abbasipour, M., Sackmann, M., Khendek, F., Toeroe, M.: Ontology-based user requirements
decomposition for component selection for highly available systems. In: Proceedings of the
2014 International Conference on Information Reuse and Integration (2014)
Comparing Requirements Decomposition 83
20. Morasca, S., Taibi, D., Tosi, D.: OSS-TMM guidelines for improving the testing process of
open source software. Int. J. Open Source Softw. Process. 3(2), 122 (2011)
21. Ahmad, M.O., Markkula, J., Oivo, M.: Kanban in software development: a systematic
literature review. In: 39th EUROMICRO Conference on Software Engineering and Advanced
Applications (SEAA), pp. 916, September 2013
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Eects of Technical Debt Awareness: A Classroom Study
Graziela Simone Tonin1 , Alfredo Goldman1, Carolyn Seaman2, and Diogo Pina1
( )
1
Institute of Mathematics, Statistics and Computer Science, University of Sao Paulo,
So Paulo, Brazil
{grazzi,gold,diogojp}@ime.usp.br
2
Department of Information Systems, University of Maryland Baltimore County,
Baltimore, USA
[email protected]
Abstract. Technical Debt is a metaphor that has, in recent years, helped devel
opers to think about and to monitor software quality. The metaphor refers to aws
in software (usually caused by shortcuts to save time) that may aect future
maintenance and evolution. We conducted an empirical study in an academic
environment, with nine teams of graduate and undergraduate students during two
oerings of a laboratory course on Extreme Programming (XP Lab). The teams
had a comprehensive lecture about several alternative ways to identify and
manage Technical Debt. We monitored the teams, performed interviews, did close
observations and collected feedback. The results show that the awareness of
Technical Debt inuences team behavior. Team members report thinking and
discussing more about software quality after becoming aware of Technical Debt
in their projects.
1 Introduction
Several studies have shown that agile methods have provided signicant gains in soft
ware projects [19]. However, it is also known that when prioritizing delivery speed, as
may happen in agile projects, Technical Debt may be incurred. Much of this debt is not
even identied, monitored or managed. Technical Debt that is not well managed runs
the risk of high maintenance costs.
The term Technical Debt was introduced by Cunningham, who explained it in the
following way [4], Although the immature code may work ne and be completely
acceptable to the customer, excess quantities will make a program unmasterable, leading
to extreme specialization of programmers and nally an inexible product. Shipping
rst time code is like going into debt. A little debt speeds development so long as it is
paid back promptly with a rewrite []. The danger occurs when the debt is not repaid.
Every minute spent on not-quite-right code counts as interest on that debt. Technical
Debt is recognized as a critical problem for software companies [2] and has received a
lot of attention in the recent years from both practitioners and researchers [16, 17].
Lim et al. [18] emphasize that: most project teams now recognize that Technical
Debt is unavoidable and necessary within business realities. So managing Technical
Debt involves nding the best compromise for the project team, but a project team
cannot do this if they are not aware of Technical Debt. Also, Lim et al. highlighted that
when the development team is not aware of Technical Debt, it will probably result in
challenges for maintenance and evolution tasks. Given this scenario, our motivation was
to observe the eects of Technical Debt awareness in teams in an academic setting.
The Extreme Programming Laboratory (XP Lab) is a course that has Undergraduate
and Graduate students at the University of So Paulo since 2001. The aim of this course
is to provide the experience of a real software development scenario using the Extreme
Programming values and practices [1].
Extreme Programming emphasizes teamwork; managers, customers and developers
are all equal partners in a collaborative team. The main values of Extreme Programming
are communication, simplicity, feedback, respect and courage [3].
The objective of our research is to characterize the impact on the team when Tech
nical Debt items are visible, based on team members perceptions. This study aims to
answer the following research question (RQ):
What is the impact on the team when Technical Debt is explicitly considered?
The study was applied in two editions of XP Lab. Four teams were followed in the
2013 edition and ve teams in the 2014 edition. We conducted the study and collected
data through questionnaires and interviews, and analyzed the source code of the projects
with Sonar Qube and Code Climate tools to identify the impact on the teams that explic
itly considered Technical Debt (TD).
In the next section, related work is described. In Sect. 3, we describe the context of
the Extreme Programming Laboratory. After, in Sect. 4, we provide a description of the
research steps, data collection and analysis. Section 5 describes the results. In Sect. 6,
we discuss the ndings and present the threats to validity. Finally, in Sect. 7, we present
the nal considerations and future work.
2 Related Work
Few studies deal directly with the technical debt awareness. The study of Kruchten [22]
showed that agile teams believe that they are immune to TD, because they use an inter
active development process. Therefore, he explains that in these teams, TD items could
be contracted rapidly and massively, because code is often developed and delivered very
rapidly, without time to devote to good design or to think about longer term issues. This
could result in contracting TD items such as a lack of rigor or systematic tests. To deal
with TD and to avoid accumulating too much TD, he suggests: The rst step is aware
ness: identifying debt and its causes. The next step is to manage this debt explicitly,
which involves listing debt-related tasks in a common backlog during release and iter
ation planning, along with other things to do.. Bavani [21] shows that if teams are
unaware of the context of meaning of the term TD, they can consider trivial issues or
technical tasks as a TD. These teams have to improve the awareness of it, so he proposes
86 G.S. Tonin et al.
a quadrant to help teams to better recognize and understand the TD concept. The study
of Martini [23] listed some causes of architecture technical debt and one of the reasons
he found was the lack of awareness about the dependencies between the specic archi
tectural TD and the other parts of the software. Furthermore, there are many related
studies on not managing TD and how this aects software quality, such as in the studies
of Guo [20], Sterling [24], Li [16], Lim [18], and Curtis [25]. McConnell [26] empha
sizes that when a team makes the decision to contract a debt or not, they are really
deciding between two ways to complete the current development task, one faster and
the other resulting in better quality. Bavani [21] talks about management of TD items
in distributed agile teams, and he emphasizes that the management of TD items directly
aects the economics of software maintenance and according to him, the key for success
in the current global economy is building and maintaining software under optimal costs.
Sterling [24] said that TD exists and is detrimental to the maintenance of software
quality. Buschmann [27] suggests that teams doing a refactoring in the code should also
pay the TD items and improve internal quality. A recent report showed that one of the
consequences of incurring TD is the impact on quality [28].
The XP Lab is a regular course oered at the University of So Paulo, to graduate and
undergraduate Computer Science students. The motivation is to provide them an oppor
tunity to learn agile software development methods on real projects. In the 2013 oering,
there were four teams, with ve or six students each. In the 2014 oering, ve teams
with six students each attended the course. XP Lab students have the support of meta-
coaches who are experts in agile methods. They provide agile mentoring for all the teams
with the professors help. Each team also has a coach, who is a student that has more
experience in agile methods. The teams develop real projects with on-site customers.
The teams have to follow some agile practices, for instance; pair programming, auto
mated tests, continuous improvement, continuous integration, etc. In both studies, the
teams worked in pairs and in threes, and the groupings changed many times during the
course, sometimes according to the tasks they needed to develop. The course requires a
minimum attendance of at least 8 h a week of dedication (four hours in the laboratory
and four hours of extra classes), and there is a lunch once a week, to encourage the
students presence in the lab and to allow the students to share experiences. On some
weeks, there are short presentations about some diculties that the teams are facing,
where a specialist explains and discusses specic topics. A complete description of the
course settings can be found in [1].
3.1 Projects
Each team had its private informative workspace1 [10, 11], where they physically
displayed TD items. In the XP Lab 2013 oering, all teams had a TD board (Figs. 1 and
2). In the XP Lab 2014 oering, each team decided by themselves how to manage the
TD items in their informative workspaces. Some teams decided to have the TD board
and other teams kept the TD items list on a Kanban board.
3.2.1 Boards
In the TD board (Fig. 1) a team placed the TD items that were incurred and/or identied.
On the top of the board, there is a supply of blank cards called Fichas. These cards
were used to document the TD items.
Figure 2 shows another teams board where they kept the list of TD items that were
incurred and identied. On the right side, they have a reserve of blank cards.
1
The informative workspace is the place where the teams put all the physical boards and
graphics, with the metrics they used to manage the project development also the list of the task
they will develop in each sprint.
88 G.S. Tonin et al.
Fig. 1. Technical debt board Fig. 2. Board of the technical debt list.
Figure 3 shows one TD item about duplicated code. Each card had nine categories
to ll out. Below we transcribe the data contained in Fig. 3.
In this case the Name of TD item was Duplicated code in the Mezuro plugin, the
Date (when the item was identied), was 05/16/2013, the Responsible (the person that
incurred or found the TD item, in this case Alessandro), the Type was duplication, (could
be test, documentation, design, etc.), the Location (which part of the code the items was
related), was in lib/mezuro-puglin-rb. The Description (a brief description of the TD
item), the class control-panel-buttons has duplicated code. The Estimated Principal, was
twenty minutes (how much expected time they need to spend now if they implemented
that task in the correct way, if they did not know how much time, then they could use a
scale of high - if they probably will spend a large amount of time -, medium - if they
probably will not spend much time - and low - if they probably will solve it quickly).
Eects of Technical Debt Awareness: A Classroom Study 89
The Estimated Interest Amount should be lled out when they pay the TD item. The
Probability of being a future problem (i.e. the interest probability) in this case was low.
In this case, they also added in the card the Date when they paid the TD item, 05/23/2013
and how long it took them to pay o the item, also twenty minutes.
These boards represent some of the boards used in the teams informative workspace.
Some teams used a specic board to manage TD, as shown in Figs. 1 and 2, other teams
used the Kanban board and put the TD items together with the tasks of the sprint.
Furthermore, some teams also placed the list of TD items in the tool used to manage the
project.
3.2.2 Tools
The teams had two code quality analysis tools:
Code Climate: a tool for quality analysis of code repositories (https://codecli
mate.com/).
Sonar Qube: a code quality analysis platform that has a plugin that identies TD
(http://www.sonarqube.org/).
4 Research Methods
Data was collected and analyzed for this study through interviews and questionnaires.
Before data collection, the teams spent some time identifying TD items in their projects.
Below, we rst describe how TD items were identied, and then we describe our data
collection and analysis methods.
In the two oerings of the XP Lab, we followed slightly dierent steps to help the teams
to identify TD.
2
It is possible to access all the questions in the following link https://www.dropbox.com/sh/
gen3dr97xxofs21/AACo11oqbBsaCprOCQtSYv5Ja?dl=0.
Eects of Technical Debt Awareness: A Classroom Study 91
one week before the class received a talk about TD. We sent a link to the questionnaire
by email and then the students had one week to answer it.
The questionnaire was composed of seventeen open-ended and multiple-choice
questions, separated into the following topics3:
Software quality
What does the team do about quality?
Familiarity with TD.
Do you know about and use the TD concept?
How TD is used in the project.
Are you using the Sonar Qube or Code Climate report?
Are you using a TD list?
Have you paid any TD item?
Is there any evidence that having the TD items visible has an inuence on the
team?
Did you identify any TD item that was not identied by the tools?
Are you going to consider TD in future projects?
Do you think the TD concept is relevant?
The same questionnaire was applied a second time at the end of the course. The aim
was to see if there was any change in the team members behavior.
3
It is possible to access all the questions in the following link https://www.dropbox.com/sh/
gen3dr97xxofs21/AACo11oqbBsaCprOCQtSYv5Ja?dl=0.
4
http://www.qsrinternational.com/support/downloads/nvivo-9.
92 G.S. Tonin et al.
5 Results
In this section, we describe our ndings organized by the coding steps. As the main
question in the both editions of XP Lab was the same and the obtained results were
similar, we analyzed the results of both editions together.
In this step, the data analysis was conducted by reading the transcripts of the interviews
and also the answers from the questionnaires. We applied the coding process to this
material, line by line. In this phase, we discovered the open codes. In Table 2, we list
three code samples. It is possible to access the list of the open codes that emerged from
this rst codication in an appendix5.
The open codes were reassembled in new ways during axial coding to form categories.
The goal was to create a higher abstraction level. Thus, codes were grouped to form
subcategories, and in turn, they were organized into categories. This process was highly
iterative, with codes and categories forming and re-forming as more data were incor
porated into the evolving understanding [13].
In Fig. 4, it is possible to observe the list of categories and subcategories resulting
from axial coding analysis. The rst level is the main category resulting, this category
emerged from the subcategories of the second level, the subcategories are resulting from
the codes emerged in the third and fourth level.
One of the most important inuences when we make a list of TD items is the attitude
of the team (team behavior), registers by not forgetting, there was a change in the
attitude of the team and increased peoples concern regarding the Technical
Debt. The team had less untouchable expert professionals and behaved more as a
whole team. They talked more about the TDs we discussed these debts. Otherwise,
the project would not have advanced and thought about the necessity of incurring
it. It helped them to have the same understanding of the concept of TD because they
discuss it (TD concept). In addition, if the team members were not sure whether to incur
5
It is possible to access all the codes in the following link https://www.dropbox.com/sh/
gen3dr97xxofs21/AACo11oqbBsaCprOCQtSYv5Ja?dl=0.
Eects of Technical Debt Awareness: A Classroom Study 93
Fig. 4. Categories and subcategories of the XP Lab 2013 and 2014 edition
a TD item or not, the team member debated with another team member to help him to
take this decision, thus improving the teams communication. Team members started
talking more with each other and because of it, they knew what part of the project was
being modied and the problems of the software, It was easier to remember that we
have to x things, debts. Furthermore, if team communication was good, they were
more comfortable to share with each other their diculties. After the team began to
identify TD, developers discussed their decisions rather than just doing something and
moving on, now that all the software problems were more clear to the team members,
usually only the person thought or knew about it (), now with the TD it becomes
clearer as well. They began to argue among themselves, before incurring a debt,
As evidenced here we even got everyone talking about the debts, instead of just looking
to give a quick solution and move along.
They started to think more about if it was necessary or not to incur some TDs. Several
times they concluded that it was not required, a team member says: [] From the
moment I started to think about that item, which was debt, I asked myself about what is
the current cost, compared to the future cost. Because if the cost of doing now is less,
then its better to x it now, other student says: we think twice before making a
TD.
When TD items were visible, the team had more control, over whether they will pay
o the TD item, whether they will incur more debts or not, or whether they will incur
and pay later. Moreover, this facilitates planning to repay the TD items, we analyzed
some of the debts, now we will plan, what we might kill, to kill some of those debts,
then it becomes easier to make this analysis. Therefore, if they incur a TD item, they
would make it visible, would monitor it, and sometimes they would look back at this
TD item. This way, they always thought about continuous improvement. Thus, the team
could be dening a strategy to pay o or not some TD items to improve the code quality.
94 G.S. Tonin et al.
However, if the team member incurred a TD item, and never paid, the project would
probably lose quality. Nevertheless, they might incur TD to prioritize other tasks or as
a business decision to deliver fast and then used it strategically.
The TD item list presented indications on whether the code quality was improving
or not, and helped them to understand the current development state It also indicated if
they would have a lot of future work and future refactoring to do in that code. Indeed,
if the software had TD items, the team would probably need to perform some refac
toring, and it directly aected the sustainability of the project. Furthermore, the team
could do an analysis of the TD items and they could be dening a softwares quality
metrics to help them monitor the software quality, for instance, test. They also could
identify technological deciencies and dene possible directions to improve their tech
nical skills and not repeat the same mistakes, in order to mitigate the occurrence of those
TD items that were recurrent.
The teams used the TD item list as documentation providing a historical record of
the immature parts of the project. Therefore, each team knew that some parts of the
project should be improved; it was possible to see if there was a TD item to pay o. This
documentation helped the teams to maintain the code and it reected on the health of
the project. In addition, it aected the teams by sometimes causing dissatisfaction with
the quality of the software. Many team members saw that it was very uncomfortable to
arrive at work and see that the health of the project was not so good. If the source code
health of other teams was good, it was even more uncomfortable. Therefore, this process
of the team having discussions, and having dissatisfaction impacted in the following
reection: when a team member decided to incur or not TD, thought and discussed it,
he better understood the problem that he had to solve. This often resulted in the non-
insertion of a TD item in the code, since it only lacked the understanding of what should
be done.
Considering TD implied generating a culture focused on quality. It aected factors
related to project continuity. It has an inuence on the cost and the viability of main
tainability and evolution of the project. A developer said that, if they did not have the
TD items visible it was so dicult to identify the software quality landscape, it was
dicult for you to identify the whole landscape. Therefore, if in the future the team
needed to make some changes in the legacy code, they already knew what they were
and where the problems were located. It provided a general awareness to the team about
the problems of the software. It also might help a new team member that did not know
about the code to have a notion on the quality of the code and the location of the code
problems.
The categories, Strategy, Team Behavior, Code, and Visibility represent the main
inuences on teams due to making TD items explicit. Each of these categories captures
part of our results, although none of them describes the phenomenon entirely. For this
reason, another abstract category is required, a conceptual idea on which all categories
are included. As such, we concluded that the resulting core category might be a perceived
notion on Improving Quality.
All teams progressed towards creating a culture of Quality of the code, team, and
project. This arose primarily because each team member started to think more about the
need to incur TD items. Many times they decided that incurring TD was not necessary
in a given situation. When a team member was not sure about the necessity or not to
incur the debt, they spoke with other members to make a decision. Therefore, the team
improved their communication and then it was clearer what each member was doing.
So, it was easier to understand the objective of the project. Then, making TD explicit
has a direct implication on the Team Behavior. Most of the team members said that after
they started to identify TD, they talked more with each other, thought more about the
real need to incur debt or not, discussed more about code quality, refactored more
frequently some parts of the code, knew where the code problems were, and where each
team member was working at any time on the project. In addition, when communication
among the team was good, people felt more comfortable to expose and discuss their
problems with the team. The team then became more a group that works together, rather
than a group of experts on dierent parts of the system.
In some situations incurring some TD items was a Strategy to gain some time, due
to the time to market. Moreover, if there was a list of TD items it might be possible in
the future to correct them, by refactoring. The list of TD items was used as documen
tation, this enabled the historical record of the TD items list that the code contains. When
the need to change a particular part of the system appeared, it was possible to verify if
it had some TD item and if this debt would aect such functionality. Therefore, the team
members had the option of paying it o or not. The documentation helped in the Visibility
of the projects health. If the software had any TD, probably it would have more de
ciencies.
Finally, when a team had the TD items list they automatically became Aware of the
TDs of the project, consequently about the software quality. So, the team could think
about it, before possibly incurring in another TD item. The team could decide when and
where they would improve the software quality.
6
https://docs.codeclimate.com/docs/code-climate-glossary#gpa.
96 G.S. Tonin et al.
issues, technical debt rating, complexity, size, duplicated blocks, bugs & vulnerability
and duplications. The GPA of the Mezuros code and the Monitoria project increase
after the teams considered TD. Then the quality of project increased, it means that the
remediation (the amount of eort required to improve a software issue), was 0 to 2 M
(too short). In the analysis with Sonar Qube of the projects: Game VidaGeek, Tiktak,
Arquigraa, Family Tree, Social Networking Startups and Specialist in Sport we did not
identify large variations in the measured metrics comparing the two dierent versions
of each project (Before and after they consider TD). However, in 5 of the 6 projects, the
rate of duplication and the duplicated blocks decreased after the team started to consider
TD, indicating an improvement in code quality.
It is important to highlight that the students said that most of TD items were not
identied by the tools, which explains the modest size of the changes in these metrics.
For instance, one team was using Handsontable7 for data entry, and they had a problem
with the validation of the data. The presence of this type of TD item, nor the impact of
paying it o, could not be identied with Sonar Qube or Code Climate reports. In general,
many types of TD items (e.g. those related business rules) cannot be identied through
static metrics.
The teams had some similar views on the importance and benets of making TD explicit.
A signicant nding is that the teams considered it very helpful because they could see
the whole landscape of the software quality (they knew which part of the software had
immature code). They also emphasized that it was very useful to have a board where
every day they could see the health of the code. Before becoming aware of TD, the team
members reported that they sometimes incurred TD but never remembered to go back
and correct it. But after considering TD, they thought about the necessity of incurring
TD and often decided against it. Also, they could see the TD list and so they did not
forget the TD items that needed to be addressed. They discussed more about how to
implement the tasks, also they talked more about the problems of the software because
they had the list of the TDs visible. This process of thinking about incurring or not TD,
discussing about it and reviewing the TD during the project can create a culture focused
on improving the software quality.
In addition, in this study we explored some ways of identifying and monitoring TD.
Our subjects found some form of a TD board very useful for documenting TD, making
it visible, and adjusting both the TD board and their behavior accordingly. By using the
TD board, they always know the list of software deciencies so have a constant reminder
of how to organize their work and improve the software. As a complementary aid, they
may use tools to help them to identify and monitor TD occurrence. However, it is
important to highlight that tool reports provide a static analysis of the software quality
and some TD item could not be identied using static metrics.
7
https://handsontable.com/.
Eects of Technical Debt Awareness: A Classroom Study 97
The results of this study could motivate teams to consider TD further, to help devel
opers convince leaders and directors, the decision makers, to start considering TD. These
approaches used by the XP Lab teams, such as boards, cards and tools can help teams
in companies to deal with TD. In addition, they could dene the list of TD items that
are crucial to the project but hard to identify with the tools. As a result they can dene
a strategy to deal with the TD over time.
This work describes results about the inuences of making TD explicit in an academic
setting. Our results show the importance of making TD visible and how that inuences
teams. It is important to point out that no negative inuences were identied. The team
members were always very excited about the results of making TD items visible. As
communication in the team was improved, all team members thought more about quality,
not just specic members. The agile culture of the teams improved and in addition,
the team believed that it was easier to show the impact of the TD level to clients, showing
that it is possible to invest some time to improve the quality. The main results emphasize
the Extreme Programming values and helped the teams to support values such as
communication at all levels, courage to change and feedback to continuously improve
the software.
In future work it is important to verify the inuence on the team in the long term,
especially concerning speed and code quality. It is also important to create ways to
compare the perceptions of the developers with the results of the tool reports. For
instance, in these studies the students believed that when they started considering TD,
the project quality improved, but when we analyzed the code with the tools, we saw that
the reports did not indicate signicant changes in source code quality. Then, it is inter
esting to investigate why this happened, and possible future solutions.
Acknowledgments. We are grateful to all the students and TAs of the XP Lab course (2013 and
2014 oerings) for providing valuable data for this research. We would like to thank IBM, CNPQ,
CAPES and FAPESP, too, for funding this work.
References
1. Santos, V. et al.: Uncovering steady advances for an extreme programming course. CLEI
Electron. J. 15(1) (2012). paper 1
2. Edith, T., Aybuke, A., Richard, V.: An exploration of technical debt. J. Syst. Softw. 86, 1498
1516 (2013)
3. Kent, B.: Extreme Programming Explained: Embrace Change. Person Education Inc, United
States (2005)
4. Ward, C.: The WyCash portfolio management system. In: Addendum to the Proceedings on
Object-Oriented Programming Systems, Languages, and Applications, pp. 2930 (1992)
5. Extreme Programming Projects CCSL. (http://www.ccsl.org.br/oldwiki/index.php)
6. Arquigraa. http://www.arquigraa.org.br/. Accessed May 2016
8
http://www.dagstuhl.de/de/programm/kalender/semhp/?semnr=16162.
Eects of Technical Debt Awareness: A Classroom Study 99
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Agile in Organizations
Dont Forget to Breathe: A Controlled Trial
of Mindfulness Practices in Agile Project Teams
1 Introduction
c The Author(s) 2017
H. Baumeister et al. (Eds.): XP 2017, LNBIP 283, pp. 103118, 2017.
DOI: 10.1007/978-3-319-57633-6 7
104 P. den Heijer et al.
While the debate on the denition of mindfulness is ongoing, its roots can
be traced to Buddhist psychology where it has been practiced for several
millennia [6]. The concept has then been introduced in the eld of contempo-
rary psychology by Jon Kabat-Zinn in the mid-1980s, as paying attention in a
particular way, on purpose, in the present moment, and nonjudgmentally [7,8].
Since then mindfulness has been applied in many elds such as education [9],
law [10], prison programs [11], IT [12], and business [13] to stimulate more
positive responses and better-decision making. While there is a growing base of
evidence that specic mindfulness practices can have a positive eect on human
behaviour, little is known on its impact in professional organizations such as
agile teams.
In the following subsections we will discuss existing evidence of mindfulness
practices applied in clinical psychology, organizational psychology, information
systems, management research, and lastly in agile teams.
Mindfulness Practices in Agile Project Teams 105
Mindfulness, Agility and Agile Teams: Initial work on agile teams and well-
being indicates that teams that feel more empowered experience less stress [26].
However, while the popularity of agile methods is continuously rising, estab-
lishing the right team atmosphere and leadership approach remains a challenge
[27,28]. Especially in situations of increased speed and competition, agile teams
are experimenting with practices to counter the loss of focus [29].
Mindfulness, while promising relief to some of the aforementioned symptoms,
has so far received little attention in the context of agile methods. In existing
literature the concept has been explored in two main directions in relation to
agility: (1) Mindfulness as an organizational condition and a theoretical con-
cept that supports agility through attention to detail and reliability of systems
(compare [30]), and (2) Mindfulness practices as a set of tools to achieve it.
Mindfulness as a theoretical concept to support agility in organizations has
been explored by McAvoy et al. [30] to compare Doing Agile vs. Being Agile
- thus understanding the eectiveness of agile practices in organizational con-
texts. Nagle et al. [31] utilize a mindfulness measure to understand how an orga-
nization can achieve exibility and reliability in the context of Global Software
Development (GSD).
The interaction of concrete mindfulness practices and agile practices is far less
well understood. Agile practices such as stand-up meetings for team coordina-
tion [32], Iteration Reviews for continuous customer feedback, or Retrospectives
for teams to reect and improve their ways of working, are concrete routines that
help teams to deliver their products and improve. Mindfulness practices, simi-
larly to agile practices, provide very specic patterns of action and reproducible
protocols, routines that can help build mindful behaviour in organizations [33].
For example, Bern ardez et al. [12] conducted an experiment comparing groups of
students conducting a mindfulness exercise to a control group practicing public
speaking, with the former being more ecient in developing conceptual models.
Following evidence across various elds we know that mindfulness exercise
can have a positive impact on decision-making, the ability to focus and psy-
chological well-being. However, until now little is known on the impact of those
exercises in business settings, especially in agile project teams. The three minute
breathing space exercise [34], for example, is a concise mindfulness exercise that
can be applied relatively easy in teams with little investment. The participant
approaches the short exercise with an attitude of alertness and curiosity through-
out its three stages of becoming aware, focusing attention on breathing and
extending the attention [34]. Similarly to meeting routines in agile teams, such
as stand-up meetings, it provides a concrete and convenient protocol. As such,
the two practices, stand-up meeting and the breathing exercise, can be combined
into an experiment.
Based on the literature reviewed above we thus pose the following question:
What is the eect of the three minute breathing space exercise on the quality of
meetings in an agile project team?
Mindfulness Practices in Agile Project Teams 107
Following the research question this paper aims to help understand the impact
of a specic mindfulness practice, the three minute breathing space, applied in
agile project teams. As the three minute breathing exercise as well as the Scrum
stand-up meetings provides reproducible and comparable routines, we embed-
ded our research question in an experiment following the design of a controlled
trial as common in clinical settings [35,36]. As the trial is executed in a social
context with many interconnected factors such as teamwork, process, culture
and the perceptions of individuals, we applied a mixed methods approach using
quantitative and qualitative sources to analyse the data [37].
Protocol: The trial was divided into three phases, a (1) preparatory phase from
April until May 2016, three organizations were asked to join and facilitators were
instructed, (2) collection of a baseline measurement in the beginning of June
2016, and (3) the actual trial period lasting from mid-June until mid-July 2016.
In order to reduce bias, we designed a controlled trial including a placebo as
well as a natural history control group to compare the eect of the mindfulness
exercise. To do so, we created a trial protocol including three groups, (1) an
active group with teams executing the breathing exercise before their meetings,
(2) a placebo group, which would listen to classical music by composer Igor
Stravinsky, and (3) a control group. In order to distract attention from the
actual mindfulness exercise, the study was strictly framed as an experiment to
increase eectiveness in Scrum Meetings across participants and supporting
facilitators. The placebo1 group was added to compare the impact to a non-
meditative form of relaxation, which could have an impact on the team, and
1
We are aware that similarly to trials in social therapy, there is no placebo for an
intervention in a social environment, as even a trivial interaction across individuals
does have an impact [36]. For the sake of simplicity we still call the second trial
group as placebo although it is technically not the case.
108 P. den Heijer et al.
to further remove attention from the mindfulness exercise. All data collection
was kept strictly anonymous and we repeatedly asked the teams to give honest
opinions.
We chose stand-up meetings as the agile practice the trial was aligned to,
also referred to as Daily Scrum. We chose that specic meeting type due
to frequency, commonly accepted format and contribution to decision-making
within the team [32]. The meetings are short in nature and strictly time limited.
The team members address the three questions What have I done? What will
be done? What obstacles are in my way? and make operational decisions [32].
The interventions for the three trial groups were designed as depicted in
Table 1. For the active and placebo groups a guided 5-minute exercise was given
just before the start of the stand-up meeting, the natural history control group
had no exercise whatsoever. The mindfulness breathing exercises (for a proto-
col compare [34]) as well as the Stravinsky2 placebo exercise were both guided
by experienced mindfulness instructors to give the best results. The breathing
exercise was chosen due to its short nature, accessibility and prior exploration
in the context of software teams [12].
The instructors were present 5 min before the meeting started and conducted
the exercise type that was assigned to the team. After the exercise had taken
place the team would start with its meeting. Shortly thereafter the team would
ll out the forms. The natural history control group (nh) was not guided at
all, but needed to ll out the forms at exactly the same moments as the other
teams to follow their heartbeat. The procedure was repeated for the active and
placebo groups four times until the end of the trial. Due to dierent iteration
lengths, and to have sucient time between the measurements to ensure that
the interventions themselves would not inuence each other because of too short
an interval between exercises, the measurements took place once per week.
Organizations, Teams and Participants: Between April 2016 and May 2016
we reached out to organizations with software development departments in the
Netherlands. The selection criteria was to nd organizations with at least three
software development teams applying Scrum for a period of at least three years.
Table 2. Distribution of the three trial groups (active, placebo, control) across the
three participating organizations and involved teams
2
Igor Stravinsky - Tango (audio + sheet music), URL to the video: https://www.
youtube.com/watch?v=VcXTFRXenwI.
Mindfulness Practices in Agile Project Teams 109
This ensures that these teams are working with short cyclical iterations in which
working software is completed after each sprint, and applying stand-up meet-
ings. Out of the 10 inquired organizations, three organizations and a total of
8 teams agreed to participate. After gaining the commitment of the teams, we
assigned them to one of the three trial groups as depicted in Table 2. Organ-
isation Gamma originally included a placebo team as well, however, the team
dropped out due to internal deadlines before the trail execution. At last there
were 8 teams included in the trial and respective analysis. Furthermore, seven
facilitators were instructed to conduct the respective exercises and collect the
data on-site.
Data Analysis: The data generated was analyzed by question and by prepa-
ration type, i.e. the baseline of each question of each preparation type was
aggregated and compared to the gures that were the result of the actual
110 P. den Heijer et al.
measurements that were taken after the experiments had been conducted. With
that aggregation level a t-test was executed on the dierence between the base-
line and the experiment per preparation type, nding the dierence in average
scores on all questions and the signicance value (the p.value) of all these dif-
ferences indicating if the dierence could be explained through the intervention
itself. The signicance value we sought was a p-value < 0,05.
Besides the dierences in average per question given the preparation type, we
also took an average on the aggregated sum of the questions per team and tried
to identify the maturity of the team. Furthermore the variance of all questions
per team was measured to ensure the homogeneity of the given answers per
team. To control for any unexpected inuences T-values were measured.
4 Results
This section presents the results of the experiment. Table 2 depicts the partic-
ipating teams, the respective team size, the number of measurement points, as
well as the number of completed questionnaires. Every team consisted of approx-
imately eight members. Each team, with the exception of the control groups, had
four measurement moments. Those consisted of one baseline to measure the eec-
tiveness and culture of the team before any intervention was provided and three
guided measuring moments.
Table 4 summarizes the results for the ten questions (Q01Q10) for the
three trial groups. As depicted in the table teams that submitted themselves to
the mindfulness exercise showed a slight but statistically signicant (p < 0.05)
increase in some key elements of eectiveness and cultural aspects of the team.
Specically our data indicates an improvement on the perception of (1) listen-
ing, (2) decision-making, (3) eectiveness of the meeting, (4) good interaction
and (5) healthiness of emotional responses. Neither the placebo nor the natural
history control groups showed statistically signicant dierences.
Mindfulness Practices in Agile Project Teams 111
5 Discussion
The main query of this paper is whether a short mindfulness intervention has an
impact on the eectiveness and culture in stand-up meetings of agile development
teams. In the following subsections we will discuss (1) the perceptions of the
teams with respect to our research question, (2) the embedding of the exercise
in a broader organizational setting and barriers to its adoption, and (3) directions
for future research.
two ways: (1) how the exercise can support building emotional intelligence and
leadership skills in the individual, and (2) how the exercise can help building
mindful teams.
Taking the perspective of the individual our ndings indicate that the breath-
ing exercise could help agile team members and team leaders to build up their
emotional leadership skills. As pointed out by Porthouse and Dulewicz [38]
emotional leadership competencies (e.g., emotional resilience, sensitivity, self-
awareness, conscientiousness) are of greater importance for leaders in agile
projects compared to traditional projects. As the leadership skills and style of
individual managers have a big impact on the culture of an organization, emo-
tional leadership skills are important for the success of agile methods. A meta-
analysis conducted by Giluk [39] on the relationship between mindfulness and
the Big Five personality traits shows relationships with neuroticism, negative
aect, and conscientiousness, but also with agreeableness.
Taking the perspective of the team our ndings indicate that the practice
could help building agile teams. Self-managing teams are considered to be one of
the corner stones of agility, yet they are dicult to establish [28]. The ve dimen-
sions of agile teamwork, such as shared leadership, team orientation, redundancy,
learning and autonomy [28,40] require shared decision making and the ability to
listen to each other and understand each others opinions, as supported by the
breathing exercise. Further, similarly to what McAvoy et al. [30] call Doing
Agile vs. Being Agile, our experiences with the trial indicate that the exer-
cise could help build up mindful behaviour, which helps the team understand
agility and agile practices in context rather than blindly following them. The
lack of focus can be an issue for agile and entrepreneurial teams [29]. Hafenbrack
et al. [23] researched the positive inuence of mindfulness on decision making
and the sunk-cost bias, the tendency to continue investing in a project once
time, money or eort was invested, although that project might not be a viable
initiative after all. Stettina and Smit [29] researched agile teams working in entre-
preneurial settings. The results reveal that when trying to handle many project
requests due to customer pressure, mindfulness could help making better deci-
sions on what projects to follow.
with the breathing exercise on their own rather than in the team setting: Yes,
I want to do those exercises more often. I have chosen to do this at home and
not at work. (Participant Team 7). So, although the results show statistically
signicant increases of eectiveness on several entries, the perceived usefulness
does not raise to the level that the participants want to keep on using it in a
public setting. The teams apparently encountered a barrier to introduction of
these practices.
This raises the more general question of what conditions could support the
adoption of these type of mental practices in agile teams. From the literature
(cf. [21]) we know a few: support of management for these practices, voluntary
participation and a safe team climate. Management support for these practices
seems obvious: if leaders do not support these practices it will not happen. In
that respect these mental practices do not dier from other agile team practices
that help teams perform better. As a line of research, this would be interesting
to look into.
Voluntary participation is a necessary corollary of these type of practices.
It enhances intrinsic motivation, which is an important mediator of success of
team practices (cf. [41,42]). Lastly, also a safe team climate is important. If, as
the qualitative data examples showed, people feel exposed, the practices will not
function very well. That is a general factor for well-functioning teams: psycho-
logical safety is a crucial characteristic of successful teams. If such a climate is
absent, social defense mechanisms will come into play and diminish team perfor-
mance. Safety has both an environmental side (what space is the team working
of meeting in, open or closed) and a communicative side: do people feel safe
to utter diculties, ask questions, disagree, praise each other, etc. In general it
means that within the team culture or the organization, it is recognized that
emotions play a role and are not subdued. It is generally known from psycholog-
ical research into emotional agility that if this happens, they will play out in a
dierent but uncontrolled way with mostly negative eects on team climate and
eectiveness.
6 Conclusions
The goal of this study was to explore the impact of a short mindfulness exercise
on the quality and eectiveness of meetings in agile project teams. A controlled
trial was designed to observe eects associated with mindfulness in the context
of eight Scrum teams in three organizations.
The participants perceived the practice as useful, and statistically signicant
improvement was reported on some of the dimensions in the groups performing
the exercise (listening, decision-making, meeting eectiveness, interaction, emo-
tional responses). The teams in our case organizations will not continue with the
exercise in their particular setting. Nonetheless, the result is quite remarkable as
the trial shows an instant eect while other studies had a preparation phase of
116 P. den Heijer et al.
References
1. Inge, J.: Safe data: Recognising the issue. Safety Syst. 21(1), 47 (2011)
2. Bodensteiner, W.D., Gerlo, E.A., Quick, J.C.: Uncertainty and stress in an r&d
project environment. R&D Manag. 19(4), 309322 (1989)
3. Ashford, S.J.: Individual strategies for coping with stress during organizational
transitions. J. Appl. Behav. Sci. 24(1), 1936 (1988)
4. Brown, K.W., Ryan, R.M.: The benets of being present: mindfulness and its role
in psychological well-being. J. Pers. Soc. Psychol. 84(4), 822 (2003)
5. Shapiro, S.L., Schwartz, G.E., Bonner, G.: Eects of mindfulness-based stress
reduction on medical and premedical students. J. Behav. Med. 21(6), 581599
(1998)
6. Kohls, N., Sauer, S., Walach, H.: Facets of mindfulness-results of an online study
investigating the freiburg mindfulness inventory. Pers. Individ. Dier. 46(2), 224
230 (2009)
7. Kabat-Zinn, J.: An outpatient program in behavioral medicine for chronic pain
patients based on the practice of mindfulness meditation: Theoretical considera-
tions and preliminary results. Gen. Hosp. Psychiatry 4(1), 3347 (1982)
8. Kabat-Zinn, J.: Full catastrophe living: using the wisdom of your body and mind
to face stress, pain, and illness. Dell Pub. A division of Bantam Doubleday Dell
Pub. Group, New York (1991)
9. Hyland, T.: Mindfulness and the therapeutic function of education. J. Philos. Educ.
43(1), 119131 (2009)
10. Rogers, S.L.: Mindfulness for Law Students: Using the Power of Mindful Awareness
to Achieve Balance and Success in Law School. Mindful Living Press, Miami Beach
(2009)
11. Vengapally, M.: Preparing to Leave Prison: A Mindfulness-based Intervention to
Reduce Recidivism (2014)
12. Bernardez, B., Dur an, A., Parejo, J.A., et al.: A controlled experiment to eval-
uate the eects of mindfulness in software engineering. In: Proceedings of the
8th ACM/IEEE International Symposium on Empirical Software Engineering and
Measurement, p. 17. ACM (2014)
Mindfulness Practices in Agile Project Teams 117
13. Reb, J., Atkins, P.W.: Mindfulness in Organizations: Foundations, Research, and
Applications. Cambridge University Press, Cambridge (2015)
14. Keng, S.L., Smoski, M.J., Robins, C.J.: Eects of mindfulness on psychological
health: a review of empirical studies. Clin. Psychol. Rev. 31(6), 10411056 (2011)
15. Ward, D.: Overcoming Low Self-Esteem with Mindfulness. SPCK Publishing,
London (2015)
16. Shapiro, S.L.: The integration of mindfulness and psychology. J. Clin. Psychol.
65(6), 555560 (2009)
17. Mott, P.: Emotional Chaos to Clarity: Move from the Chaos of the Reactive
Mind to the Clarity of the Responsive Mind. Penguin Publishing Group (2012)
18. Kingsbury, E.: The Relationship Between Empathy and Mindfulness: Understand-
ing the Role of Self-compassion. Alliant International University, San Diego (2009)
19. Segal, Z.V., Williams, J.M.G., Teasdale, J.D.: Mindfulness-Based Cognitive Ther-
apy for Depression. Guilford Press, New York (2012)
20. Stahl, B., Goldstein, E.: A Mindfulness-Based Stress Reduction Workbook. New
Harbinger Publications, Oakland (2010)
21. Good, D.J., Lyddy, C.J., Glomb, T.M., Bono, J.E., Brown, K.W., Duy, M.K.,
Baer, R.A., Brewer, J.A., Lazar, S.W.: Contemplating mindfulness at work an
integrative review. J. Manag. 42(1), 114142 (2015). 0149206315617003
22. Reb, J., Narayanan, J., Chaturvedi, S.: Leading mindfully: two studies on the
inuence of supervisor trait mindfulness on employee well-being and performance.
Mindfulness 5(1), 3645 (2014)
23. Hafenbrack, A.C., Kinias, Z., Barsade, S.G.: Debiasing the mind through medita-
tion mindfulness and the sunk-cost bias. Psychol. Sci. 25(2), 369376 (2014)
24. Arch, J.J., Craske, M.G.: Mechanisms of mindfulness: emotion regulation following
a focused breathing induction. Behav. Res. Ther. 44(12), 18491858 (2006)
25. Loewenstein, G., Lerner, J.S.: The role of aect in decision making (2003)
26. Laanti, M.: Agile and wellbeing-stress, empowerment, and performance in scrum
and kanban teams. In: 2013 46th Hawaii International Conference on System Sci-
ences (HICSS), pp. 47614770. IEEE (2013)
27. Moe, N.B., Dingsyr, T., Dyb a, T.: A teamwork model for understanding an agile
team: a case study of a scrum project. Inf. Softw. Technol. 52(5), 480491 (2010)
28. Stettina, C.J., Heijstek, W.: Five agile factors: helping self-management to self-
reect. In: OConnor, R.V., Pries-Heje, J., Messnarz, R. (eds.) EuroSPI 2011. CCIS,
vol. 172, pp. 8496. Springer, Heidelberg (2011). doi:10.1007/978-3-642-22206-1 8
29. Stettina, C.J., Smit, M.N.W.: Team portfolio scrum: an action research on
multitasking in multi-project scrum teams. In: Sharp, H., Hall, T. (eds.)
XP 2016. LNBIP, vol. 251, pp. 7991. Springer, Cham (2016). doi:10.1007/
978-3-319-33515-5 7
30. McAvoy, J., Nagle, T., Sammon, D.: Using mindfulness to examine ISD agility. Inf.
Syst. J. 23(2), 155172 (2013)
31. Nagle, T., McAvoy, J., Sammon, D.: Utilising mindfulness to analyse agile global
software development. In: ECIS (2011)
32. Stray, V.G., Moe, N.B., Aurum, A.: Investigating daily team meetings in agile
software projects. In: 2012 38th Euromicro Conference on Software Engineering
and Advanced Applications, pp. 274281. IEEE (2012)
33. Jordan, S., Messner, M., Becker, A.: Reection and mindfulness in organizations:
rationales and possibilities for integration. Manag. Learn. 40(4), 465473 (2009)
34. Koole, W.: Mindful Leadership: Eective Tools to Help you Focus and Succeed.
Warden Press, Amsterdam (2014)
118 P. den Heijer et al.
35. Pocock, S.J.: Clinical Trials: A Practical Approach. Wiley, Hoboken (2013)
36. Le, J.: Clinical and methodological problems in interaction studies. In: Epidemi-
ological Impact of Psychotropic Drugs. Elsevier, Amsterdam (1981)
37. Miles, M., Huberman, A.: Qualitative Data Analysis: An Expanded Sourcebook,
2nd edn. Sage, Thousand Oaks (1994)
38. Porthouse, M., Dulewicz, V.: Agile Project Managers Leadership Competencies.
Henley Management College (2007)
39. Giluk, T.L.: Mindfulness, big ve personality, and aect: a meta-analysis. Person.
Individ. Dier. 47(8), 805811 (2009)
40. Salas, E., Sims, D.E., Burke, C.S.: Is there a big ve in teamwork? Small Group
Res. 36(5), 555599 (2005)
41. Bain, A.: Social defenses against organizational learning. Hum. Relat. 51(3), 413
429 (1998)
42. Goto-Jones, C.: Zombie apocalypse as mindfulness manifesto (after zizek). Post-
modern Cult. 24(1) (2013)
43. Hales, D.N., Kroes, J., Chen, Y., Kang, K.W.D.: The cost of mindfulness: A case
study. J. Bus. Res. 65(4), 570578 (2012)
44. Pannucci, C.J., Wilkins, E.G.: Identifying and avoiding bias in research. Plast.
Reconstr. Surg. 126(2), 619 (2010)
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Enhancing Agile Team Collaboration Through
the Use of Large Digital Multi-touch Cardwalls
1 Introduction
In Agile software development, physical cardwalls continue to be an essential
part of the Agile processes despite the relative large number of available digital
tools. Although many commercial and open source digital Agile tools like JIRA
[3], CA Agile Central (formerly Rally) [16] and VersionOne [12] are available
and have been adopted by a large number of Agile companies, studies show that
physical cardwalls are still widely used [4,7]. Azizyan et al. conducted interviews
with software practitioners and found that 31% of companies used both project
management tools and physical cardwalls, where the usage of cardwalls was not
restricted to co-located teams [4]. Despite their prevalence, physical cardwalls
c The Author(s) 2017
H. Baumeister et al. (Eds.): XP 2017, LNBIP 283, pp. 119134, 2017.
DOI: 10.1007/978-3-319-57633-6 8
120 M. Kropp et al.
still have issues as content is not digitalized and not integrated with issue track-
ing systems. To address the issue with physical cardwalls, we aim to bridge the
gap by creating a large digital cardwall that supports elements of the physi-
cal nature, integration with existing tracking systems, while also preserving the
Agile collaborative work style.
In this paper we present aWall, a large digital cardwall, providing a collab-
orative workspace for Agile teams. While the main focus of aWall is for use by
co-located teams, aWall is designed to be used also by distributed teams which
is one of the main driver for digital Agile tools (see Fig. 1). aWall has the size of
classical physical cardwalls by using large multi-touch high resolution displays
and so provides enough space for the whole team to interactively collaborate.
We rst give an overview of related work, followed by an evaluation of an inter-
view study about the usage of Agile tools in software teams. We then present the
design consideration for a large scale Agile cardwall and the user interface design
of aWall. The following section presents the evaluation of aWall in a user study
which we conducted with software practitioners to evaluate the usability and
eectiveness of the chosen approach. The paper concludes with a nal summary
and outlook for future work.
Fig. 1. aWall digital Agile cardwall displayed on a large high resolution multi-touch
wall (2 2 46 Inch 4 K displays) for planning and Agile team meetings.
2 Related Work
Sharp et al. [15] reports that physical artifacts like pin boards, sticky cards, ip
charts or whiteboards are used as a means of communication and collaboration
by Agile teams. However they also report that there are some disadvantages
Enhancing Agile Team Collaboration 121
of physical artifacts such as cards may get lost and they cannot be searched
or shared easily. Any attempt to overcome these disadvantages by digitalizing
cards and cardwalls should retain the advantages of the physical form while also
beneting from translation to the digital medium [15].
Gossage et al. [7] report in their study that the physical nature of artifacts is
important to the collaborative process. For example being able to manipulate the
cards easily (writing and posting) and their permanent availability on the card-
wall helps support eective communication at least in co-located teams. Physical
cardwalls are valued for their exibility, light-weight and easy usage, providing
a big picture, and permanent and instant availability of information. Physical
cardwalls are not well suited for distributed environments and displaying large
amounts of information is dicult. On the other side, they report that digital
tools were not necessarily easy to use, hard to personalize, or to adapt to the
teams needs. They come up with suggestions on the design of digital cardwalls
and with critical features: always provide an overview, oer easy zoom-and-pan,
to hide details, assign annotations to any object on the board, automatic syn-
chronization, for example.
Paredes et al. conducted a survey of existing literature on information visu-
alization techniques used by Agile software development teams and found that
information radiators and cardwalls are most frequently used for Agile teams in
communication and progress tracking [13].
Azizyan et al. [4] report that digital Agile tools like JIRA and VersionOne
account for less than 10% of tools used to support Agile processes, while physical
walls, paper, and spreadsheets account for almost 50%. They also report that it
is important to nd the right balance between enough features and usability is
critical.
A number of research digital tools have been developed for use on large
interactive surfaces (e.g. horizontal and vertical). DAP [10] and subsequently
AgilePlanner [18] were early prototypes developed to support Agile planning on
horizontal tabletops for co-located teams. SmellTagger supports collaborative
code reviews for co-located teams using multi-touch tabletops [11].
CodeSpace [5] does not focus on any particular Agile process but uses shared
touch screens, mobile touch devices, and Kinect sensors to share information dur-
ing developer meetings. They report that professional developers were positive
with this approach and felt that pointing with hands or devices and forming hand
postures are socially acceptable. Anslow et al. [2] evaluated large display walls for
collaborative software visualization. SourceVis used large multi-touch tabletops
to support code reviews using collaborative visualization techniques [1]. They
show in their paper that large displays have the potential to provide a good
overview about complex situations and thus can help to get a better under-
standing of it. Rubart developed a basic prototype for multi-touch tabletops to
support Scrum meetings [14] and evaluated the prototype in a study with stu-
dent groups. They report positive feedbacks with respect to team collaboration,
but also diculties with editing data. Though support of distributed teams is
currently not in the focus of our work, dBoard [6] is a very interesting approach
122 M. Kropp et al.
in which a Scrum board on a vertical touch screen has been enabled with in-
screen video capabilities for distributed development. This might be a possible
approach for aWall to support distributed teams.
Based on our review we conclude that most digital Agile tools only partially
support collaborative Agile processes and meetings. Digital Agile tools espe-
cially seems to lack support for social interaction and team cognitive activities
compared with physical tools. Neither existing physical nor digital cardwall tools
seem to suciently support the collaborative Agile process for Agile teams eec-
tively. With aWall we present an approach to overcome these limitations. aWall
tries to combine the advantages of physical and digital cardwalls, by making
use of the large screen size and the touch functionality, and serve as an Agile
collaborative workspace and information radiator for Agile teams.
3.2 Findings
We found that 10 out of 11 teams still use physical cardwalls typically in com-
bination with digital tools, like Jira/Conuence, TFS, Trello. Only one team
was working exclusively with digital tools. When using physical cardwalls we
found that it is a common practice to put a lot of extra information around the
task board as shown in Fig. 2. The extra information includes for example, the
Denition-of-Done, team members periods of absence, burn-down charts, but
also private pictures, post cards from holidays or other greeting cards from team
members.
Enhancing Agile Team Collaboration 123
Table 1. Pros and Cons of digital agile tools compared to physical tools
Pros Cons
Changes are stored automatically Feeling of having no control
A lot of extra features Too many features
Traceability Missing visibility for others
Transparency in who did what High eort for usage/administration
Provide some overview Missing good overview
Adaptability of tools High eort for customization
Access from everywhere Not always on (have to start up)
Teams can meet in virtual rooms Must be customized before usage
- Have to navigate to information
- Performance not always good
- Displays are too small
We also asked the participants about the requirements for an ideal digi-
tal Agile cardwall. The interviewees stressed the importance of non-functional
requirements. These included the need for a large size display, congurable views,
instant availability of information, overview of information, at all time visible
information, easy to reach context dependent information, increased readabil-
ity of information, simultaneous multi-user touch interaction, direct interaction
with data, and no need for navigation.
3.3 Summary
In summary the study results seem to show that available digital tools do not
suciently well support the required exible collaborative Agile workstyle. Users
value the traceability of information in digital tools, linking possibilities of arti-
facts, and the exibility to adapt the tools to the users needs. The main disad-
vantages of digital cardwall tools seem to be that they are often too complicated
to use, the need to navigate to extra information not shown on the main board,
no direct and concurrent interaction by all team members, and small displays,
missing overview, missing instant availability.
computer scientists and psychologists (from the School of Engineering, and the
School of Applied Psychology). We now outline the design and user interface of
aWall, followed by a user study to evaluate the prototype.
4.1 Design
The aWall user interface contains a number of dierent views, widgets, and
interaction techniques designed to support dierent types of Agile meetings.
Action and Information View. The results of the interviews showed that most
interaction with the cardwall takes place during Agile meetings. Each meeting
3
http://multitouch.com/.
4
http://interactjs.io/.
126 M. Kropp et al.
has specic goals, operates on dierent data, and requires dierent supporting
tools and information. To support these dierent types of information handling,
we divide the display into an action view and an information view. Figure 3
shows the view for a daily standup meeting highlighting the separation into
information view and action view. The action view is the main work area, which
is dedicated to the core artifacts of a specic meeting. The main interactions dur-
ing a meeting are performed by users on the action view. The information view
provides supporting information and tools needed for the meeting. The infor-
mation view represents the dynamic memory of the team and as any dynamic
system they need to allow for change. For example, the information view for
the daily standup meeting contains additional information, like a timer widget
showing the meeting moderator and a countdown, a team widget showing the
team members, a denition-of-done widget, an impediment list widget, and a
burn-down chart for an iteration. When necessary, new widgets can be added
and removed from the information view.
Dedicated Views. aWall provides dedicated views that are tailored to the specic
needs of Agile meetings. For the sprint planning meeting shown in Fig. 4, the
action view is divided into three columns. The left column shows the top priority
user stories of the product backlog. The centre column shows the so far selected
user stories for the next iteration. The right column shows a detailed view of
the currently selected user story. This column can be used by the product owner
to discuss and clarify open issues during the meeting with the development
team. Relevant documents can be easily attached and opened in the application.
Figure 5 shows the retrospective meeting view after team members have sent
their iteration feedback where the notes have been ordered on the right side.
Users can navigate between the dierent meeting views by means of a navigation
bar displayed at the bottom of the view.
Information Widgets. The information view consists of a set of widgets (e.g.
team widget, timer widget, fun widget, avatar widget see Figs. 3, 4, 5) and can
be independently congured for each Agile meeting. Each widget is designed
to support distinct aspects of the collaborative Agile process. The team widget
shows the team members and can be used to assign people to tasks during a daily
standup meeting. The timer widget supports time boxing during the meeting
and furthermore, allows to choose a meeting moderator. The moderators names
are stored in the application and future moderators can be suggested based on
previous selections. The fun widget allows users to post personal or fun images
to the information view to help bring emotion to the cardwall and foster team
thinking. The avatar widget can be used to drag avatars to any position on
the wall or attach it to tasks or user stories. Both the fun and avatar widgets
are designed to help with the interpersonal process in Agile teams (emotion
management, team spirit). All widgets can be detached from the information
view and moved around the cardwall to facilitate user interaction.
Availability of Information. Any information needed for a meeting is visible and
accessible; either on the action view or on the information view. If the team
Fig. 3. Daily Standup with the following views: Information View (top section with red border) and Action View (middle section with
Enhancing Agile Team Collaboration
Data can be either entered on the cardwall with a virtual or physical keyboard
or via the underlying issue tracker system and mobile devices such as tablets.
Scalability of Information. By default, user story cards and task cards show only
a few details (e.g. title). By increasing the card size with a pinch-to-zoom gesture
more information is displayed. The text size increases concomitantly with the
widening of the cards so that information can be more easily read depending
on the distance from the cardwall. When all information is shown the widget
automatically switches into edit mode, so that data can be added or modied.
5 User Study
To evaluate the usability of the aWall prototype we conducted a qualitative user
study with professional Agile practitioners. The goals were:
1. evaluate the availability of context specic information
2. evaluate reachability and discoverability of functionality and information
3. evaluate the support of Agile workstyle and Agile culture,
4. evaluate the applicability to real life situations in Agile teams.
The user study was conducted with an early prototype of aWall. The partic-
ipants worked in teams and had to complete various tasks.
5.1 Participants
We recruited 11 employees (nine men and two women see Table 2) from the
same companies that participated in our interview study [8]. Most participants
had many years of experience in IT, and several of them in Agile development.
They came from dierent elds and covered a wide spectrum of Agile team
roles. Among the participants were four Scrum Masters, two Agile coaches, two
senior developers, one Agile grandmaster, one UX consultant and one head of a
software development department. Two of the companies were from the assur-
ance domain, one manufacturing, two service providers, one engineering, and one
enterprise software development company. Four companies sent two employees,
and three companies sent one employee each. All companies had been applying
Agile processes for at least one year, and all employees to executed the given
tasks in their companies before.
5.2 Procedure
We divided the eleven participants randomly into two groups by ve and six peo-
ple. Both groups completed the same tasks with aWall in two separate workshop
sessions. Each workshop session lasted one hour.
Upon signing an informed consent statement, the participants were asked to
act as a team during the workshop. Prior to the user study, the participants
received a presentation on the interview study results, but did not receive any
130 M. Kropp et al.
information about the aWall application. Each member of the team received
three tasks to be solved together in groups using aWall. The tasks involved a
daily standup meeting and a sprint planning meeting. After receiving the task,
each participant read the task out aloud to the other participants and completed
it with their help.
The daily standup tasks included to start the daily standup meeting (task 1),
choose a moderator for the meeting (task 2), and update the task board during
the meeting (task3), assign team members to a task card (task 4). For example:
In this team you play the role of team member M. Please find a way to carry
out a daily standup. The application suggests a moderator. Please ask the team
member suggested by the application to play the moderator. Please act as a team
accordingly to the received instructions.. The sprint planning tasks included to
show and discuss a user story during the meeting (task 1) and move the story
to the sprint backlog (task 2). Other tasks were to switch on and o dierent
widgets in the information view.
After completing the tasks for each type of meeting we asked the participants
about the benets and diculties of aWall in an open discussion. The discus-
sions were recorded and the results written down. Both team workshops were
conducted by two moderators.
5.3 Findings
The overall feedback for the prototype was very positive, with the participants
considering aWall to be usable, capable to support Agile processes in general
and especially the collaborative working style in teams.
Size Aspects. The participants especially valued the large size and high resolution
of aWall. The large size supports real team collaboration capabilities, similar to
Enhancing Agile Team Collaboration 131
Flexibility and Customization. Increased exibility with respect to both the man-
ner of conducting the meetings and displaying information was considered impor-
tant by the participants. For example, the timer widget solicited choosing a mod-
erator at the beginning of a meeting. The exibility provided by aWall was also
5
All quotes have been translated from German.
132 M. Kropp et al.
6 Conclusions
Current Agile cardwalls dont full todays requirements for eective software
development. We aim to bridge that gap with aWall, a digital cardwall tool
to support co-located and distributed Agile teams. aWall provides a collabora-
tive workspace using large multi-touch displays, information transparency, direct
information interaction without the need for navigation, support for the whole
Agile process, and dedicated views for dierent types meetings. We conducted a
user study with 11 Agile practitioners and found that they especially valued the
large-size of the wall due to the physical space aordances, the dedicated views
with context specic information, and the always visible and direct information
access. Our future work involves deploying aWall within companies.
Enhancing Agile Team Collaboration 133
References
1. Anslow, C., Marshall, S., Noble, J., Biddle, R.: Sourcevis: collaborative software
visualization for co-located environments. In VISSOFT, pp. 110. IEEE (2013)
2. Anslow, C., Marshall, S., Noble, J., Tempero, E., Biddle, R.: User evaluation of
polymetric views using a large visualization wall. In: SoftVis, pp. 2534. ACM
(2010)
3. Atlassian: JIRA (2015). https://www.atlassian.com/software/jira
4. Azizyan, G., Magarian, M.K., Kajko-Matsson, M.: Survey of agile tool usage and
needs. In AGILE, pp. 2930. IEEE (2011)
5. Bragdon, A., DeLine, R., Hinckley, K., Morris, M.: Code space: touch + air gesture
hybrid interactions for supporting developer meetings. In: ITS, pp. 212221. ACM
(2011)
6. Esbensen, M., Tell, P., Cholewa, J.B., Pedersen, M.K., Bardram, J.: The dBoard:
a digital scrum board for distributed software development. In ITS, pages 161170.
ACM, 2015
7. Gossage, S., Brown, J., Biddle, R.: Understanding digital cardwall usage. In
AGILE, pp. 2130. IEEE (2015)
8. Mateescu, M., Kropp, M., Greiwe, S., Burkhard, R., Vischi, D., Zahn, C.: Erfol-
greiche zusammenarbeit in agilen teams: Eine schweizer interview-studie ber kom-
munikation, 22 December 2015. http://www.swissagilestudy.ch/studies
9. Mayring, P.: Einfhrung in die qualitative Sozialforschung. Beltz-UTB, Weinheim
(2003)
10. Morgan, R., Walny, J., Kolenda, H., Ginez, E., Maurer, F.: Using horizontal
displays for distributed and collocated agile planning. In: Concas, G., Damiani,
E., Scotto, M., Succi, G. (eds.) XP 2007. LNCS, vol. 4536, pp. 3845. Springer,
Heidelberg (2007). doi:10.1007/978-3-540-73101-6 6
11. Muller, M., Wursch, M., Fritz, T., Gall, H.: An approach for collaborative code
reviews using multi-touch technology. In: CHASE Workshop. ACM (2012)
12. Version One. Enterprise agile platform. (2015). http://www.versionone.com.
Accessed 6 Jan 2017
13. Paredes, J., Anslow, C., Maurer, F.: Information visualization for agile software
development teams. In: VISSOFT, pp. 157166. IEEE (2014)
14. Rubart, J.: A cooperative multitouch scrum task board for synchronous face-to-face
collaboration. In: ITS, pp. 387392. ACM (2014)
15. Sharp, H., Robinson, H., Petre, M.: The role of physical artefacts in agile soft-
ware development: two complementary perspectives. Interact. Comput. 21(12),
108116 (2009)
16. CA Technologies. CA agile central (2016). https://www.ca.com/. Accessed 6 Jan
2017
17. Research GmbH VERBI Software, Consult. Maxqda data analysis software (2015).
http://www.maxqda.com. Accessed 6 Jan 2017
18. Wang, X., Maurer, F.: Tabletop agileplanner: a tabletop-based project planning
tool for agile software development teams. In: TABLETOP, pp. 121128. IEEE
(2008)
134 M. Kropp et al.
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Knowledge Sharing in a Large Agile
Organisation: A Survey Study
1 Introduction
2 Related Work
3 Method
The research goal for the study was to identify areas that require improvement
in organisational knowledge sharing in an agile company and to provide a base-
line for assessing the progress and eectiveness of future actions. The study was
initiated by the company who approached the authors1 with a request to inves-
tigate their challenge. A survey2 was used to reach a wide audience, it was sent
to company employees (not customers), and concentrated on knowledge sharing
between three groups: team members, company colleagues, and customers. The
research questions are as follows.
RQ 1 How is knowledge shared in the organisation?
RQ 2 What motivates knowledge sharing in the organisation?
RQ 3 Is there a relation between agility and ease of knowledge sharing?
RQ 4 Is there a relation between frequency of knowledge sharing activities and
ease of knowledge sharing?
3.2 Procedure
The survey was developed iteratively in collaboration with our company con-
tacts and piloted rst with students and then with a few company representa-
tives. A link to the online survey was then distributed via a contact person in
the company and it was advertised on the company intranet. The survey was
open from May to July 2016 and there were altogether 113 responses from com-
pany employees of which 81 were completed. Of the 81 complete responses, 36
responded to the open-ended question on how to improve knowledge sharing
in the company. No incentives were oered and two reminders were sent. The
survey was anonymous. Mean completion time was 11 min (SD 19 min).
1
The authors are members of the Agile Research Network (agileresearchnetwork.org)
which is funded by the Agile Business Consortium Ltd. (ABC) Board, The Open
University and University of Central Lancashire. Our research approach is explained
here: Barroca, L., Sharp, H., Salah, D., Taylor, K., & Gregory, P. (2015). Bridging
the gap between research and agile practice: an evolutionary model. IJSA, 112.
2
The survey can be found from here: http://agileresearchnetwork.org/kss.
Knowledge Sharing in a Large Agile Organisation: A Survey Study 139
3.3 Survey
The survey addressed practices, motivators and ease of knowledge sharing with
team members, company colleagues and with the customer. The survey had three
sections, on (1) agile methods and agile techniques employed, (2) knowledge
sharing and (3) background information. Questions on knowledge sharing were
related to frequency of use of knowledge sharing practices, motivation towards
sharing and experienced ease of sharing. Survey themes were as follows
3.4 Analysis
3.5 Respondents
The response rate was 9%. The main job responsibility of the 81 respondents was
as follows: software development 42%, architecture 16%, project management
15%, software testing or quality 7%, business or system analyst 6%, design or UX
design 4%, conguration/support 1% and other roles 9% (coaching or training
or a mixture of development and design roles). Of the 81 respondents, 43% did
not lead a team or function, 35% led 1 to 9 persons, 14% led 10 to 19 persons
and 9% led over 19 persons. Almost all the respondents worked for customer
accounts: 4% had not worked for a customer account, 30% had worked for one
customer account, 40% for 2 to 4 customer accounts and 27% had worked for
ve or more customer accounts. On average, respondents had worked for the
company for 7 years, standard deviation 6 years.
4 Results
For answers about agile methods and techniques multiple responses were pos-
sible. Scrum was the most used agile method reported by 83% of respondents.
Kanban and Scrumban were also often used, reported respectively by 32% and
22% of the respondents. The most often employed agile techniques were daily
standups, prioritised backlogs, iteration or sprint planning, retrospectives and
short iterations or sprints (Fig. 1).
Knowledge Sharing in a Large Agile Organisation: A Survey Study 141
The most common techniques for knowledge sharing in general were informally,
in meetings, and by email (Fig. 2). In general, knowledge sharing was more fre-
quent within teams than with customers or company colleagues outside the team.
This is an expected result as teams are often the fundamental social units of an
organisations knowledge creation [16] and Scrum - the most widely used agile
method in the company - emphasises the role of collaborative teams. Sharing
knowledge with colleagues was most often done informally, whereas when shar-
ing knowledge with customers, meetings were the most frequent technique. Both
represent a personalisation knowledge sharing strategy (person-to-person) which
is the favoured strategy in agile. The next most commonly used knowledge shar-
ing techniques with customers were email and through the team lead or a senior
member of the team.
The mean number of reported motivation sources per respondent was higher
for sharing knowledge with team members than with either company colleagues
or customers (Fig. 3). There was a dierence between the frequency of intrinsic
and extrinsic motivators when sharing with customers compared to when sharing
with either team members or company colleagues. When sharing knowledge with
team members or company colleagues, a greater number of respondents reported
intrinsic sources of motivation than extrinsic sources whereas when sharing with
142 K. Kuusinen et al.
Fig. 2. Mean frequency of use of knowledge sharing practices in team, in company and
with customer. N = 81
Table 2. Wilcoxon signed rank test on the frequency of motivation sources for sharing
knowledge with team members, company colleagues and customer. N = 81.
Compared sharing partner pair Test outcome (Z) Level of signicance (p)
Intrinsic: Team members - Colleagues Z = 3.98 p <.001
Intrinsic: Team members - Customer Z = 4.94 p <.001
Intrinsic: Colleagues - Customer Z = 1.53 n.s.
Extrinsic: Team members - Colleagues Z = 4.12 p <.001
Extrinsic: Team members - Customer Z = 2.33 p <.05
Extrinsic: Colleagues - Customer Z = 2.00 p <.05
Fig. 3. Frequency of motivation sources for knowledge sharing with team members,
customer and company colleagues outside the team. N = 81.
is no dierence between the ease of knowledge sharing with team members and
customers and there is no dierence between the ease of knowledge sharing with
team members and company colleagues were rejected while the hypothesis there is
no dierence between the ease of knowledge sharing with company colleagues and
customers was accepted. Of the respondents, 62% strongly agreed that knowl-
edge sharing with team members is easy whereas 28% and 27% strongly agreed
that knowledge sharing with customers or with company colleagues, respectively,
is easy. Knowledge sharing with customers was considered slightly easier than
with company colleagues (Fig. 4). Only 9% did not agree that knowledge sharing
is easy with team members whereas 30% did not agree that knowledge sharing is
easy with customers and 33% did not agree that knowledge sharing is easy with
company colleagues outside the team. Thirty-six employees suggested improve-
ments for organisational knowledge sharing in an open-ended question. Almost
all of the suggestions were about knowledge sharing in the company outside the
team. Half of the respondents suggested having small informal sessions among
interested individuals to share knowledge, for example, about architectural solu-
tions or new technologies. Also, half of respondents suggested either creating
new knowledge bases, or repositories, or using the current ones more eciently.
Other ideas included fostering the company culture to embrace knowledge shar-
ing. Such a culture would build on trust and encourage people to share their
knowledge instead of making them fear they are replaceable if they share.
Fig. 4. Perceived ease of knowledge sharing with team members, customer and col-
leagues. N = 81.
Knowledge Sharing in a Large Agile Organisation: A Survey Study 145
was calculated from knowledge sharing practices, using a wiki (t = 3.6, p <.01)
and having meetings (t = 2.6, p <.05) were signicant predictors. Thus, knowl-
edge sharing is easier when a collaborative exchange of information is frequently
used and meetings with the customer are frequent.
5 Limitations
Construct validity relates to the appropriateness of the survey as a mea-
sure. Several techniques were used to mitigate this threat. Questions 1, 2 and
6 in the survey were based on questions found in existing literature, to ensure
that terminology used was in common use. The survey was developed itera-
tively and piloted with practitioners. Some of the questions contained repetition
asking respondents to consider knowledge sharing from three perspectives, with
team members, company colleagues and customers. Factors such as boredom
and practice could have impacted the results. Question randomisation or coun-
terbalancing were not used because of limitations of the surveying tool. Multiple
response was controlled by allowing only one response per device. Internal
validity relates to causal conclusions drawn. We used the number of specic
agile techniques employed as a measure of agility in the survey, an approach
used by [11,24]. This is not sophisticated, however in the context of this survey
it provides a useful indication of how agility varies within the company. The
strength of motivators was not asked for and therefore it is unknown if some of
them are more powerful than the others. The measures of agility and motiva-
tion were both used in the linear regression analysis. Moreover, statistical tests
are always prone to incorrect rejection or retaining of the null hypothesis and
multiple hypothesis testing increases the risk. We did not use adjustments for
these error types since correction of one of the types increases the risk to the
other type. External validity relates to generalizability of the ndings. As only
one company was surveyed, the results are specic to that company. Moreover,
only a number of employees responded to the survey which makes it prone to
non-response bias.
6 Discussion
The summary answers to our research questions are as follows:
Our ndings indicate that specic agile techniques improve ease of knowledge
sharing within teams. This conrms ndings from Pikkarainen et al. [22] who
found that agile practices improved both informal and formal communication,
and [20], who suggest that the knowledge-as-relationship focus of agile teams
facilitates team knowledge sharing. It also conrms common-sense expectations
that agility improves knowledge sharing and communication within the team.
Our ndings also suggest that a high level of agility helps knowledge shar-
ing to some extent with customers, but has little impact on knowledge sharing
with company colleagues. This nding conrms the view that simply using agile
techniques does not help much with inter-team knowledge sharing [6,17].
Software engineers are outcome-oriented and motivated by technically inter-
esting content and the work itself [28]. One of the characteristics of agile working
is that all of the teams eort is focused on producing code that provides business
value, and that plays directly into this motivation prole. In this context, sharing
experiences with company colleagues who are not directly involved in the same
project or with the same customer, requires compelling extrinsic motivators.
Yet motivators for knowledge sharing with company colleagues were intrinsic
rather than extrinsic. Therefore, it seems clear that this organisation does not
have sucient extrinsic motivators in place to encourage knowledge sharing with
company colleagues.
These results are inuenced by the collaborators specic cicumstances, and
these require further investigation. For example they are mostly based in India
and the Indian agile community faces a range of challenges [30], are embedded
in customer sites around the world, and hence at a distance from each other.
References
1. Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler,
M., et al.: The Agile Manifesto (2001)
2. Biao-wen, L.: The analysis of obstacles and solutions for software enterprises to
implement knowledge management. In: 2010 The 2nd IEEE International Confer-
ence on Information Management and Engineering (ICIME), pp. 211214. IEEE
(2010)
3. Bjrnson, F.O., Dingsyr, T.: Knowledge management in software engineering: a
systematic review of studied concepts, ndings and research methods used. Inf.
Softw. Technol. 50(11), 10551068 (2008)
4. Charband, Y., Navimipour, N.J.: Online knowledge sharing mechanisms: a sys-
tematic review of the state of the art literature and recommendations for future
research. Inf. Syst. Front., pp. 121 (2016)
5. Chatterjee, S., Simono, J.S.: Handbook of Regression Analysis, vol. 5. Wiley, New
York (2013)
6. Chau, T., Maurer, F., Melnik, G.: Knowledge sharing: Agile methods vs. Tayloristic
methods. In: WETICE, vol. 3, pp. 302307 (2003)
7. Cockburn, A., Highsmith, J.: Agile software development, the people factor. Com-
puter 34(11), 131133 (2001)
8. Deshpande, A., Sharp, H., Barroca, L., Gregory, P.: Remote working and collabo-
ration in agile teams. In: International Conference on Information Systems, ICIS
2016. AIS Electronical Library (2016)
9. Dyb a, T., Dingsyr, T.: Empirical studies of agile software development: a system-
atic review. Inf. Softw. Technol. 50(9), 833859 (2008)
10. Ersoy, I.B., Mahdy, A.M.: Agile knowledge sharing. Int. J. Softw. Eng. (IJSE) 6(1),
115 (2015)
Knowledge Sharing in a Large Agile Organisation: A Survey Study 149
11. Gandomani, T.J., Nafchi, M.Z.: An empirically-developed framework for agile tran-
sition and adoption: a grounded theory approach. J. Syst. Softw. 107, 204219
(2015)
12. Gregory, P., Barroca, L., Sharp, H., Deshpande, A., Taylor, K.: The challenges
that challenge: engaging with agile practitioners concerns. Inf. Softw. Technol. 77,
92104 (2016)
13. Han, B.M., Anantatmula, V.S.: Knowledge sharing in large it organizations: a case
study. Vine 37(4), 421439 (2007)
14. Hansen, M.T., Nohria, N., Tierney, T.: Whats your strategy for managing knowl-
edge? In: The Knowledge Management Yearbook 20002001, pp. 5569 (1999)
15. Hoegl, M., Gemuenden, H.G.: Teamwork quality and the success of innovative
projects: a theoretical concept and empirical evidence. Organ. Sci. 12(4), 435449
(2001)
16. Hung, S.Y., Durcikova, A., Lai, H.M., Lin, W.M.: The inuence of intrinsic and
extrinsic motivation on individuals knowledge sharing behavior. Int. J. Hum. Com-
put. Stud. 69(6), 415427 (2011)
17. Karlsen, T.J., Hagman, L., Pedersen, T.: Intra-project transfer of knowledge in
information systems development rms. J. Syst. Inf. Technol. 13(1), 6680 (2011)
18. Kettunen, P., Laanti, M.: Combining agile software projects and large-scale orga-
nizational agility. Softw. Process Improv. Pract. 13(2), 183193 (2008)
19. Lin, H.F.: Eects of extrinsic and intrinsic motivation on employee knowledge
sharing intentions. J. Inf. Sci. 33(3), 340359 (2007)
20. Melnik, G., Maurer, F.: Direct verbal communication as a catalyst of agile knowl-
edge sharing. In: Agile Development Conference 2004, pp. 2131. IEEE (2004)
21. Nonaka, I., Takeuchi, H.: The Knowledge-Creating Company: How Japanese Com-
panies Create the Dynamics of Innovation. Oxford University Press, New York
(1995)
22. Pikkarainen, M., Haikara, J., Salo, O., Abrahamsson, P., Still, J.: The impact of
agile practices on communication in software development. Empirical Softw. Eng.
13(3), 303337 (2008)
23. Quinn, J.B., Anderson, P., Finkelstein, S.: Managing professional intellect: making
the most of the best. In: Strategic Management of Intellectual Capital, pp. 87100
(1998)
24. Qumer, A., Henderson-Sellers, B.: An evaluation of the degree of agility in six agile
methods and its applicability for method engineering. Inf. Softw. Technol. 50(4),
280295 (2008)
25. Qumer, A., Henderson-Sellers, B.: A framework to support the evaluation, adoption
and improvement of agile methods in practice. J. Syst. Softw. 81(11), 18991919
(2008)
26. Ritchie, J., Lewis, J., Nicholls, C.M., Ormston, R., et al.: Qualitative Research
Practice: A Guide for Social Science Students and Researchers. Sage (2013)
27. Santos, V., Goldman, A., De Souza, C.R.: Fostering eective inter-team knowledge
sharing in agile software development. Empirical Softw. Eng. 20(4), 10061051
(2015)
28. Sharp, H., Baddoo, N., Beecham, S., Hall, T., Robinson, H.: Models of motivation
in software engineering. IST 51(1), 219233 (2009)
29. Sharp, H., Robinson, H.: Three Cs of Agile Practice: Collaboration, Co-ordination
and Communication. In: Dingsyr, T., Dyb a, T., Moe, N.B. (eds.) Agile Software
Development, pp. 6185. Springer, Heidelberg (2010)
150 K. Kuusinen et al.
30. Srinivasan, J., Lundqvist, K.: Agile in India: challenges and lessons learned. In:
Proceedings of ISEC 2010 the 3rd India Software Engineering Conference, pp.
125130. ACM, New York (2010)
31. VersionOne: Annual State of Agile Survey (2016). http://stateofagile.versionone.
com. Accessed 29 Nov 2016
32. Wenger, E., McDermott, R.A., Snyder, W.: Cultivating Communities of Practice:
A Guide to Managing Knowledge. Harvard Business Press (2002)
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Teaching Agile Methods to Software Engineering
Professionals: 10 Years, 1000 Release Plans
1 Introduction
Since the introduction of the Agile Manifesto, Agile methods in software engi-
neering have gained popularity year on year, and today Agile is not just com-
monplace, but often expected as a standard industry practice in software devel-
opment teams. Agile methods were evolved by and are applied by industry [6].
This growth in applying Agile principles in the software industry went hand-
in-hand with a growth in Agile training being oered to software engineering
professionals in the work place, as well as more recently in undergraduate and
some graduate computer science and software engineering degrees.
The University of Oxford Software Engineering Programme (SEP) was estab-
lished in 1993 and exists to create strong connections between theory and prac-
tice in software engineering and to make the expertise of the university available
c The Author(s) 2017
H. Baumeister et al. (Eds.): XP 2017, LNBIP 283, pp. 151166, 2017.
DOI: 10.1007/978-3-319-57633-6 10
152 A. Martin et al.
2 Course Outline
The Agile Methods course aims to give an overview of Agile to software engi-
neering professionals and help them understand and adopt an Agile mindset.
The learning objectives of the course are as follows: (1) compare and contrast
the dierent agile methods, (2) determine the suitability of agile methods for a
particular project and organization, (3) evaluate how well a project is following
agile principles, and assist the project to become more agile (where appropri-
ate), (4) understand the relationship between the customer and the development
team in agile projects and the responsibilities of both communities, and (5) how
to foster organizational change to build better software.
The course is scheduled for a week and spans ve consecutive days (Monday
to Friday), where each day is timetabled from 0900 to 1730, except for Friday
where the class concludes at lunch time (see Table 1 for an example Agile Meth-
ods course schedule). The week long class is split into discrete time boxes, with
three sessions in the mornings, and three in the afternoons, concluding each day
with a learning stand up. Each time box consists of a lecture, an exercise, or a
case study discussion, with breaks in between each session.
1
https://www.cs.ox.ac.uk/softeng/subjects/AGM.html.
Teaching Agile Methods to Software Engineering Professionals 153
The only prerequisite is that a student must be already enrolled in the SEP.
To cover enough Agile background material and dierent methods we use Agile
Software Development Ecosystems [8] as the text book. A pre-study assignment
is given to each student to help them prepare in advance of the teaching week
and a post-course assignment as the students assessment.
asked to rst present on who the organization is, who the author is and what their
role is within the organization, and what they are trying to achieve or improve in
the organization. The class then discusses what should the organization do based
on this information. The presenter then describes what the authors actually did
and what the outcome of the case study was. Finally, the class discusses if what
the authors did made sense, if something dierent should be recommended, and
compares this study with other case studies that have already been presented.
This case-based learning approach enables students to gain an appreciation
of how dicult Agile adoption is at an organizational level. By discussing a
range of case studies we aim to equip students with knowledge of a broad range
of situations that may arise and be able to think critically about where Agile
methods can and should be applied in practice.
2.2 Lectures
During the week lectures are delivered that t into one hour time boxes and
consist of presentations and class exercises. Throughout the week we disperse
the lectures among case study sessions and group exercises, to keep class activity
varied and to ensure the theory is backed up with practical exercises. Table 1
highlights the lectures in yellow.
Agile Manifesto. After an introductory lecture, we present the Agile manifesto
and the 12 underlying principles. We focus on the main idea of the manifesto that
is: We are uncovering better ways of developing software by doing it and helping
others do it. We emphasize the importance of the main items of the manifesto,
discuss the principles of the manifesto and give some examples to illustrate these
principles and values. Finally, we nish the lecture with some of the common
misconceptions about Agile methodologies and from our own experience such as
If youre going to adopt Agile development, you should do it 100% and Switching
to Agile development oers excellent immediate benets.
Agile Methods. We present lectures on time-boxed methods in Agile, where we
give an overview of both Scrum and XP. For each method we give an overview
of the main features, the dierent practices and roles that team members have,
and explain the core values and contributions. In both methodologies we focus
on explaining delivering business value with regular steps, monitoring features
delivered, and adjusting plans according to results. Then we discuss balancing
allowing the business to change their mind while the development team continues
to get work done on a stable scope. We present the dierent team roles, dierent
practices such as sprints/iterations, maintaining a product backlog, planning,
daily meetings, and iteration reviews. We emphasize the values of Agile teams:
commitment, focus, openness, respect, and courage. Scrum and XP have similar
and overlapping structures, roles, and values. There are however some subtle
dierences that we highlight in the Scrum and XP lectures, for example where
XP has a greater emphasis on engineering practices such as pair programming
and Test-Driven Development (TDD). We feel it is important to cover both
of these time boxed methodologies, as Agile training frequently champions one
Teaching Agile Methods to Software Engineering Professionals 155
2
http://www.planningpoker.com/.
156 A. Martin et al.
One of the key approaches we take with teaching our Agile Methods course is
to encourage peer learning and learning-by-doing. To reinforce the lectures stu-
dents participate in a number of exercises, working as pairs and groups. Table 1
highlights the group exercises in blue.
Communication. We explain to the students how important it is to commu-
nicate eectively with customers on Agile projects by illustrating the customer
design cartoon3 . To reinforce this message the students complete a communi-
cation exercise Ong the O-Site Customer 4 . This exercise involves pairs of
students where one acts as a customer and the other as a programmer. The
aim of the exercise is for the programmer to elicit requirements from the cus-
tomer in order to draw a diagram of the product vision on paper (see Fig. 1(b)).
The customers are given a drawing that they need to communicate to the pro-
grammers to recreate, without visually communicating the drawing. The exercise
is played out over two rounds. In the rst round the customers must only com-
municate with the programmer via handwritten text messages on index cards.
In the second round, the customers and programmers are allowed to use ver-
bal communication. After each round, the students reect on the experiences of
trying to communicate the drawings between them. The point of this exercise
is to suggest that people in close proximity to each other with minimal phys-
ical barriers have a better chance of communicating eectively. We encourage
the students to think about their own work place and to nd a way to set up
environments to encourage regular and meaningful collaboration.
Prototyping. To get a feel of prototyping with time-boxed methods, students
complete the Marshmallow Challenge5 and are asked to prototype a fully func-
tioning coee machine out of cardboard based on ideas from Cockburn [4] (see
Fig. 1(c)). The goal of the coee machine exercise is to try Scrum for an iteration
and then walk a mile in a product owners shoes as part of a second iteration.
The students are divided into teams (up to four). During the rst iteration the
teams have 7 min to write stories about how the machine will work and prepare
materials (e.g. boxes, tape, scissors, cups, water). For each iteration they have
5 min to plan what stories they will implement, followed by 10 min to design and
implement the stories, and nally a group presentation to the class. The purpose
of this exercise is to get the students to work in a simulated environment as a
team in a time-boxed manner, and to understand that prototyping and early
releases only need to demonstrate a concept to a customer to deliver value.
Agile Debate. To help students gain a better understanding of the dierences
between the Scrum and XP methodologies we ask them to perform a debate. The
class is separated into two sides: Scrum and XP. We give them two well-known,
3
http://projectcartoon.com.
4
http://www.jamesshore.com/Presentations/OngTheOsiteCustomer.html.
5
http://www.tomwujec.com/design-projects/marshmallow-challenge/.
Teaching Agile Methods to Software Engineering Professionals 157
and highly contrasting, quotes, from Martin Fowler6 and Ken Schwaber7 as the
basis for their arguments. The students use the session to come up with their
own arguments and perform the debate with the lecturer as the adjudicator. The
aim of the debate is for the students to understand that there is no silver-bullet
when it comes to applying and adopting Agile methods.
Kanban Game. To help students gain an appreciation of the Kanban method
we get them to play the getKanban8 board game (see Fig. 1(d)). getKanban is a
physical board game designed to teach the concepts and mechanics of Kanban
for software development in a classroom setting. Each team can have up to six
people. Each team has a playing board representing a Kanban task board, and
a collection of story cards representing work to be done. Teams compete to
maximise prot by optimizing the ow of work. We simulate the game for up to
21 days. During the game the teams construct charts based on data from the
game including a Cumulative Flow Diagram, a Run Chart, and a Lead Time
Distribution Chart. To help make the game more realistic there are a number
of simulated events that occur throughout the game that challenge the teams
(e.g. a developer needs to attend a training course) and require them to make
various system design, prioritization, and resource allocation decisions. We allow
a couple of hours to play the game and have a debrief session at the end to help
students understand the intricacies of the method.
Team Release Planning. Building on the accompanying lecture sessions, stu-
dents carry out a team release planning exercise which covers most of Thursday.
This puts into practice everything they have been taught about Agile. In this
exercise, we split the students into groups of no more than four per team. In
this exercise, we do not mandate any team structure we allow the students to
self-organize, much like a real Agile team would be expected to do. The lecturer
sets a particular domain area (e.g. solve Londons transport issues) in which each
team can then pick their own idea for a small product or service. They create
a release plan (including personas and user stories) over four weeks and four
time-boxes on a card wall, with the aim of being able to release a rst version
of their product to a customer after the four weeks. At the end of the exercise,
each team presents their release plan to the rest of the class (see Fig. 1(e)).
Retrospective. A retrospective on the course is performed on the last day where
an external guest lecturer usually facilitates. Students record their thoughts
about the course on post-it notes into three categories: positive, could be better,
and aspects that were a surprise. Students place the ideas into dierent days of
the course on a card wall based on the timetable (see Fig. 1(f)). The facilitator
walks through the card wall and identies and discusses key themes. The aim of
this exercise is for students to reect upon what they have learned.
Learning Stand-up Meeting. At the end of each day the students perform
a learning stand-up meeting similar to a daily stand-up meeting (see Fig. 1(g)).
6
http://martinfowler.com/bliki/FlaccidScrum.html.
7
http://kenschwaber.wordpress.com/2010/06/10/waterfall-leankanban-and-scrum-2/.
8
https://getkanban.com/.
158 A. Martin et al.
(a) Estimation: plan- (b) Communication: customers & (c) Prototyping: cardboard
ning poker with ani- programmers diagrams. coee machine.
mal cards.
(d) getKanban board game. (e) Team Release (f) Retrospective on the
Planning Exercise. class.
Fig. 1. Agile methods course some sample class exercises that simulate some key
points about dierent Agile practices including: estimation, communication, prototyp-
ing with cardboard, Kanban, release planning, class retrospectives, and daily learning
stand up meetings.
The stand-up meeting is for each student to address the questions like they would
in a daily stand-up, hence fostering Agile team values of openness, respect, and
courage. The questions focus on what have they learned during the day and
what they would like to learn. Students write answers on post-it notes, present
them to the group, and then put them on a learning card wall.
Teaching Agile Methods to Software Engineering Professionals 159
3 Discussion
Teaching the AGM course over the last decade has given us in-depth experiences
from which to draw upon, that we would like to share. Throughout the duration
of this course, we have gathered student feedback to help inform and evolve the
course along the way, as well as having gathered formal feedback from students,
some of which we now discuss.
Lectures. One of the biggest challenges in designing this course is catering for
the intensive nature of the course delivery. While there are just over 30 h of
face-to-face time allocated to the course, we were conscious not to overwhelm
students with only lectures. To this end, about a third of the class time was
allocated for lectures, broken up with exercises and case study discussion ses-
sions. While lectures are useful for delivering information to students, our key
aim was to enable the Agile mindset. In this case, we put further emphasis on
learning-by-doing with hands-on exercises and class discussion. For each lecture,
we ensured that a relevant exercise or case study followed. Keeping the lectures
to a planned limit of only one hour per session we felt also deferred any feel-
ings of fatigue or boredom, which is vitally important in a short but intensive
learning environment. The students found the theory was important to learn
and appreciated the lecture content on empirical studies of Agile project teams
which showed evidence about the use of dierent practices within industry.
9
http://www.cs.ox.ac.uk/softeng/handbook/examinations.html.
160 A. Martin et al.
Group Exercises. The exercises were carefully chosen to help the students
put into practice, or to help them quickly understand, the lecture material. As
discussed above, the lectures were normally paired with relevant exercises or
case studies. For example, to take the learning from the release planning lecture
and put it into practice, we would follow the lecture with an exercise on story
estimation. Each of the exercises aimed to teach important aspects about the
dierent Agile methods. The communication exercise highlights the importance
of fast and frequent customer feedback. The prototyping exercise looks at how
Agile teams are formed and how to respond to change. The estimation exercise
put the use of abstract story points into practice on non-software artifacts to help
understand that estimation is a team eort and not a formula that is uniformly
applied. The Kanban board game exercise aims to demonstrate the Kanban
method and allows students to put the method in action to understand workow.
Team Release Planning Exercise. The team release planning exercise
involves putting into practice the learning from all the previous lectures and
exercises. We encouraged the students to self-organize and gave them reminders
and guidance on the course material. We mainly left them to make their own
decisions on how to plan their product releases. This exercise always proves to
be the most challenging for the students, as it was designed to simulate the
real planning of a hypothetical product or service, where the exercise often took
many hours or a whole day. The task also requires a level of creativity that many
students were uncomfortable with, but it was essential to move them away from
their comfort zone in order to get into an Agile mindset where all members of a
team should be able to feel they can contribute.
Assignments. The assignment tasks mirrored much of what was taught during
the class, where students are asked to write a short essay comparing and con-
trasting two case studies, and then to create a release plan similar to their team
release planning exercise. The essay question was generally straight forward as
the case study presentations and debates prepared students well for this part
of the assignment. The release planning exercise, however, proved challenging
for many. The main diculty in this task was that in class it was done as a
group exercise, while in the assignment the students were asked to do a similar
plan but on their own. Some students took the initiative to simulate the group
environment by asking work colleagues to carry out the collaborative parts of
the exercise, such as estimation. Others on occasions, however, fell back into
old habits or forgot the learning in class and strayed on a tangent to what was
expected. The creativity aspect of the release planning exercise, on occasions,
proved problematic, where students either could not come up with an idea for
a product that was suitable to generate a good number of personas and user
stories, or that sometimes a student would get carried away and produce an
assignment submission that was all about their great idea, but little in substance
for demonstrating what they learned in class. What we learned is that setting
such an assignment, care should be taken to ensure the students remember they
need to focus and demonstrate their learning in their submissions.
Teaching Agile Methods to Software Engineering Professionals 161
The aggregate and average score over the time period for which we have data
is 4.32 out of 5 based on 132 completed questionnaires11 (see Fig. 2). The last
three editions of the course feedback scored the most highly and were above
the SEP all courses average of 4.55, at 4.6, 4.73, and 4.66 respectively. This
feedback shows some perceived evidence that the course structure and content
has matured where students are generally satised with what is being delivered.
While the feedback was generally positive, there were however some negative
comments on the course content in the feedback questionnaires. Many of these
10
http://pairstair.com.
11
Statements and raw data located in https://tinyurl.com/AGM-Student-Feedback.
162 A. Martin et al.
Fig. 2. AGM course evaluation as perceived feedback by students since 2010. Black
average score for each AGM course by the students. Red average score for all AGM
courses. Blue average score for all SEP courses. Last three editions scored the highest.
(Color gure online)
focused on the fact that given such a short space of time allocated in class, there
was far too broad material in the Agile space to impart in further depth onto
the students. In particular, we received comments such as:
The course content is not enough to stretch 5 days.
The large amounts of material made timing dicult.
This is a clear acknowledgment that the amount of material around Agile
methods makes teaching the subject very dicult, especially in an intensive
teaching environment. There was some skepticism about the game-like exercises,
however, on further reection with students several weeks after the course had
completed even those students acknowledged that they had taken on board the
learning from the exercises when they returned to their own organizations to
share their new-found knowledge around Agile. Some of the positive comments
we received included:
Excellent way of teaching! You have expanded my horizon and gave me an
excellent introduction to Agile.
One of the best courses I have studied at Oxford. The lecturer and their use
of guests made the course better and maybe of benet to other courses! Initially
I had doubts about the lecturer coming from industry but for this course it works
better as they can draw on experience.
A useful course with a timeliness of current industry trends.
Good and helpful lecturers. The idea of students studying and presenting a
case study is brilliant and helped a lot with understanding and discussing.
Teaching Agile Methods to Software Engineering Professionals 163
We have kept the Agile Methods course content timely by consciously putting
Agile into practice in how we prepare and deliver the Agile Methods course itself.
Feedback, in particular via the retrospective exercise, has allowed us to keep the
course up to date with student and industry needs.
4 Related Work
Related work has mainly focused on teaching Agile to undergraduate and gradu-
ate students as part of computer science and software engineering curriculums.
The majority of these courses are typically group based projects, last 1016
weeks, and teach Scrum and or XP. Our work reports on teaching a novel Agile
methods course to software engineering professionals that are already working
within industry and likely already have a degree, potentially in a computing
subject, or have extensive software industry experience.
Lu and DeClue [12] discuss how Agile skills improve the marketability of
new graduates. They also highlight the challenges posed in teaching Agile to
undergraduates that stem from prerequisite experience and maturity. These
challenges include fostering Agile approaches to skills such as communication,
self-organization, and teamwork, where students who have less experience in a
workplace may nd mastery of these skills more dicult.
A panel at SIGCSE 2016 [3] raised a number of issues for teaching Agile
methods in software engineering courses at a variety of computer science pro-
grams. The panel focused only on undergraduate university teaching (100 to 400
levels), hence novices to Agile with limited development experience.
Anslow et al. [1] reported their experience of teaching Agile methods to
undergraduate and graduate students and presented a course outline along with
associated teaching materials. They recommended not to teach the course to
dierent levels simultaneously due to the nature of dierent levels of assessment
required, abilities of the students, and additional administrative overheads.
Steghofer et al. [16] reported on their eorts to improve teaching Agile, and
Scrum in particular. They aimed to teach in a realistic manner but without
encountering the technical diculties of creating a real product by introducing
exercises decoupled from software, such as LEGO Scrum.
Kropp et al. [10,11,13] looked at the status of Agile in education and indus-
try and proposed a competency model on which to base integration of Agile
into undergraduate teaching at two dierent universities. They found the most
dicult competencies to teach are Agile values and management practices which
they put signicant emphasis on. Our AGM course also focuses on values and
management practices and we have a complimentary course that focuses on Agile
engineering practices12 such as TDD and continuous integration.
Soundararajan, et al. [15] developed an advanced graduate-level course (to
non-software professionals) in Agile software engineering at Virginia Tech. Their
12
http://www.cs.ox.ac.uk/softeng/subjects/APE.html.
164 A. Martin et al.
course has similarities to our approach where they focus on Agile product devel-
opment, host guest talks from industry experts, and encourage students to
present and debate Agile case studies within the class.
5 Conclusions
For todays computer science students who look towards entering a career in
software engineering, skills beyond programming and technical excellence are
essential. For any new graduate entering the tech industry, knowledge of Agile
is essential. We hope that by sharing our extensive experiences in teaching Agile
we can help foster excellence in Agile methods education in formal educational
settings, such as in high school, university degree programs, and perhaps also in
industrial training. From our experiences in teaching the Agile Methods course
at the University of Oxford, we can extract many aspects of what we taught
to graduate students that could be applied in any Agile teaching course. We
believe that putting Agile theory into practice with a hands-on approach will
lead to more eective learning. Based on the material reported in this paper
other academics who wish to run similar courses can learn from our experiences.
P1. M. Albisetti. Launchpads quest for a better and agile user interface. In
XP, pages 244250. Springer, 2010.
P2. K. Boekhout. Mob programming: nd fun faster. In XP, pages 185192.
Springer, 2016.
P3. C. Fry and S. Greene. Large scale agile transformation in an on-demand
world. In AGILE, pages 136142. IEEE, 2007.
P4. S. Hublikar and S. Hampiholi. Pause, reect and act, the pursuit of con-
tinuous transformation. In XP, pages 201208. Springer, 2016.
P5. M. Keeling. Put it to the test: Using lightweight experiments to improve
team processes. In XP, pages 287296. Springer, 2010.
P6. T. Little, F. Greene, T. Phillips, R. Pilger, and R. Poldervaart. Adaptive
agility. In AGILE, pages 6370. IEEE, 2004.
P7. S. McCalden, M. Tumilty, and D. Bustard. Smoothing the transition from
agile software development to agile software maintenance. In XP, pages
209216. Springer, 2016.
P8. B. Pieber, K. Ohler, and M. Eheg otz. University of Viennas u:space turn-
ing around a failed large project by becoming agile. In XP, pages 217225.
Springer, 2016.
P9. D. Poon. A self funding agile transformation. In AGILE, pages 342350.
IEEE, 2006.
P10. M. Rajpal. Lessons learned from a failed attempt at distributed agile. In
XP, pages 235243. Springer, 2016.
P11. N. Robinson. A technical story. In AGILE, pages 339343. IEEE, 2007.
Teaching Agile Methods to Software Engineering Professionals 165
P12. K.H. Rolland, V. Mikkelsen, and A. Nss. Tailoring agile in the large:
Experience and reections from a large-scale agile software development
project. In XP, pages 244251. Springer, 2016.
P13. C. Sudbery. How XP can improve the experiences of female software devel-
opers. In XP, pages 261269. Springer, 2016.
P14. A. Takats and N. Brewer. Improving communication between customers
and developers. In AGILE, pages 243252. IEEE, 2005.
P15. I. Tsyganok. Pair-programming from a beginners perspective. In XP,
pages 270277. Springer, 2016.
P16. B. Victor and N. Jacobson. We didnt quite get it. In AGILE, pages 271
274. IEEE, 2009.
Acknowledgments. Thanks to Jeremy Gibbons and Jim Davies from the Software
Engineering Programme at the University of Oxford for their support. Thanks to guest
lectures by Antony Marcano, Duncan Pierce, Lazaro Wolf, and Robert Biddle. Thanks
to Rob Chatley for expert advice. Thanks to Clint Sieunarine and Ross Gales for being
teaching assistants.
References
1. Anslow, C., Maurer, F.: An experience report at teaching a group based agile
software development project course. In: SIGCSE, pp. 500505. ACM (2015)
2. Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change. Addison
Wesley, Reading (2004)
3. Campbell, J., Kurkovsky, S., Liew, C.W., Taiovich, A.: Scrum and agile methods
in software engineering courses. In: SIGCSE, pp. 319320. ACM (2016)
4. Cockburn, A.: Agile Software Development: The Cooperative Game. Addison Wes-
ley, Boston (2006)
5. Derby, E., Larsen, D.: Agile Retrospectives: Making Good Teams Great. Pragmatic
Bookshelf, Raleigh (2006)
6. Hazzan, O., Dubinsky, Y.: Why software engineering programs should teach agile
software development. SIGSOFT Softw. Eng. Notes 32(2), 13 (2007)
7. Lee, S.H., Lee, J., Liu, X., Bonk, C.J., Magjuka, R.J.: A review of case-based
learning practices in an online MBA program: a program-level case study. Educ.
Technol. Soc. 12(3), 178190 (2009)
8. Highsmith, J.: Agile Software Development Ecosystems. Addison Wesley, Boston
(2002)
9. Kerth, N.L.: Project Retrospectives: A Handbook for Team Reviews. Dorset House
Publishing Co., New York (2001)
10. Kropp, M., Meier, A.: Teaching agile software development at university level:
Values, management, and craftsmanship. In: International Conference on Software
Engineering Education and Training (CSEET), pp. 179188. IEEE (2013)
11. Kropp, M., Meier, A.: New sustainable teaching approaches in software engineering
education. In: EDUCON, pp. 10191022. IEEE (2014)
12. Lu, B., DeClue, T.: Teaching agile methodology in a software engineering capstone
course. J. Comput. Sci. Coll. 26(5), 293299 (2011)
166 A. Martin et al.
13. Meier, A., Kropp, M., Perellano, G.: Experience report of teaching agile collabora-
tion and values: agile software development in large student teams. In: International
Conference on Software Engineering Education and Training (CSEET), pp. 7680.
IEEE (2016)
14. Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Pearson, Upper
Saddle River (2001)
15. Soundararajan, S., Chigani, A., Arthur, J.D.: Understanding the tenets of agile
software engineering: Lecturing, exploration and critical thinking. In: SIGCSE,
pp. 313318. ACM (2012)
16. Vogel, B., Kilamo, T., Kurti, A.: Teaching distributed agile development to software
professionals: a exible approach. In: European Conference on Software Architec-
ture Workshops, ECSAW, pp. 31:131:8. ACM (2015)
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Are Software Startups Applying Agile Practices?
The State of the Practice from a Large Survey
1 Introduction
Startups are organizations designed to create new products or services under
the conditions of extreme uncertainty, which constantly seek repeatable, prof-
itable and scalable business models and aim at rapid growth [1,2]. Software
startups are startups that have a primary focus on developing new and innova-
tive software-intensive products or services from which business value is created.
Even though sharing common characteristics with other types of startups, such
as resource scarcity and a lack of operational history [3], software startups are
often caught up in the wave of technological change frequently happening in soft-
ware industry, such as new computing and network technologies and devices [4].
c The Author(s) 2017
H. Baumeister et al. (Eds.): XP 2017, LNBIP 283, pp. 167183, 2017.
DOI: 10.1007/978-3-319-57633-6 11
168 J. Pantiuchina et al.
2 Related Work
2.1 Agile Methods in Software Startups
The emergence of agile methods was a response to the inability of heavy-
weight, waterfall-like development methodologies to allow software organizations
to respond to change. Popular agile methods, such as Scrum and XP, have been
adopted by both small and large companies worldwide over the years, render-
ing agile a mainstream software development approach [11]. At their core, agile
methods focus on incremental and iterative development. The nimbleness and
exibility allowed by dierent agile practices, such as short iterations, continu-
ous integration, etc., enable software organizations to address change eectively
[12,13]. The eective adoption and use of agile methods in established companies
have been manifested in a growing body of agile research [1416].
When the context is switched to software startups, the picture is less clear-
cut. Some studies suggest in a general manner that agile methods are viable and
suitable for software startups (e.g., [17,18]). For example, Duc and Abrahamsson
[9] nd that four out of ve startups they studied have adopted agile development
processes. However, these studies do not specify clearly which particular agile
method or agile practices have been used in software startups.
Other studies suggest a dierent picture. Coleman and OConnor [5] argue
that startups are creative and exible in nature and are reluctant to intro-
duce process which may hinder their natural attributes. They have very limited
resources and typically wish to use these resources to support product develop-
ment. Giardino et al. [18] observe that, to quickly validate the product in the
market, software startups tend to use agile methods, but in an ad-hoc manner.
Yau and Murphy [8] go further and contend that, given that the communication
and cooperation dynamics in startups are very dierent from more established
companies and the fact that the initial focus of a startup might be signicantly
dierent from its nal objective, even the agile approach seems to impose too
much rigidity and process on them. Without denying that agile methods oer
clear benets to startups over some of the more traditional methods, the authors
question whether they are appropriate in tackling the problems faced by star-
tups. Doubts are cast on the usefulness of agile practices including test-driven
development, pair programming, user stories, velocity and backlogs [8].
3 Research Method
3.1 Survey Questions
This study utilizes a large online survey that was conducted between 2013 and
2014. The original survey explored various aspects of startups and covered a
large set of questions. The authors had the opportunity to access the survey
data and select the questions that were pertinent to the purpose of this study.
Agile Practices in Software Startups 171
Table 1 shows the list of questions used in this study, as the result of the selection
process. The questions are mainly divided into three categories:
Background questions
About respondent Select your gender
How old are you?
What is your motivation with this startup?
About startup What kind of startup are you a part of?
What is the total size of your team?
How many founders are there on your team that own a
significant piece of equity?
Whats the stage of your primary product?
How many core features does your product have?
Agile practice related questions
Regular Refactoring How often do you refactor code?
Test First When do you start writing tests?
Frequent Release What is the frequency of your product release cycle?
Agile Planning How far ahead do you plan your product development
pipeline?
Daily Standup Do you do daily stand up meetings?
Lean Startup related questions
Hypothesis-driven We identified the riskiest hypotheses about our business in
order to test them first
MVP We built minimally viable products to test our hypotheses
Pivot How many pivots have you had?
172 J. Pantiuchina et al.
To ensure the quality and validity of the survey data, we went through a careful
data cleaning and validation process on the original dataset, which is described
in detail in this section. The process was mainly automatized using R software
package. Additionally, we have removed suspicious data entries manually.
To start with the data cleaning process, we set the threshold of 50 (out of a
total of 278 original survey questions) as the minimum number of answered
questions that a data entry should contain. All the rows with less than 50
answers were removed from the dataset. Afterwards, we merged rows if they
were answered by the same person and for the same startup, because the sur-
vey collection application saved the data as a separate entry if the survey was
interrupted and then restarted again. We also removed duplicate columns that
might have been introduced during the data exporting process. We also xed
various obvious errors that may be attributed to the original survey design or
data exporting process.
After this rudimentary step, we started automatized and manual data clean-
ing column by column (question by question). We removed all the rows where
startup names were missing, to ensure that respondents have answered the ques-
tions by referring to specic startups. We also removed the rows with empty
emails. We have decided to exclude from the sample the answers referring to
the same startup but answered by dierent respondents because there was not a
convincing rationale as to which answer to keep: the CEOs or the developers.
Each of them has its pros and cons. Fortunately there were not many dupli-
cated startups. We also checked startup names, emails and websites and further
removed the rows with suspicious values, for example, the answers that contain-
ing none, not, test, xyz, untitled, etc. We then applied the regular
expressions to all the columns that had a xed set of values to further remove
invalid answers. For example, if a question was Boolean, we ensured that only
0s and 1s were in the corresponding column. In the last step, we printed
all the possible values for each closed question and ensured that only the valid
answers were present in the dataset.
After the initial cleaning, we checked the validity of the data using a set
of validation cases that we discovered based on a close inspection of all the
survey questions. The validation cases detected a set of unrealistic, impossi-
ble, invalid combinations of answers which rendered certain data entries invalid,
which in turn were removed from the dataset. All the validation cases we used
are described in an online document that can be accessed at https://gshare.
com/s/08c35ec98fd85e827594
The original dataset had 10171 entries. After applying the data cleaning
and validation process, the nal cleaned dataset has a sample size of 1526. By
performing such strict data cleaning and validation steps, we may have removed
some valid entries unintentionally. But removing some valid entries is a trade
o that is worth making in order to obtain a clean dataset to conduct the data
analysis.
Agile Practices in Software Startups 173
To answer the research questions posed in Sect. 1, we analyzed the data in two
steps:
Step 1 : To answer RQ1, rstly the structure of the ve questions related to
agile practices was analyzed using exploratory factor analysis. Two factors t
the model and the practices group in pairs: regular refactoring with test rst,
and frequent release with agile planning. Instead daily standup meeting does not
show a signicant correlation with any of the two factors. Therefore three dimen-
sions can be dened to group the ve agile practices: quality (regular refactoring
and test rst), speed (frequent release and agile planning), and communication
(daily standup meeting). Next the internal consistency between the two items
in the quality and speed dimensions was analyzed using Cronbachs alpha. How-
ever a low level of reliability estimates ( = 0.41 and = 0.50 respectively)
was obtained, which meant that the two items within each dimension were not
suitable to aggregate. Therefore, the further analysis was conducted on each
individual agile practice, rather than at the group level. To allow a sharper com-
parison, for each agile practice, we divided the startups into using the practice
vs. not using it based on their answers to the question. In this way we converted
the four agile questions that were categorical (ordinal) into binary. We exam-
ined the frequency of the use of ve agile practices in the surveyed startups.
Since software startups at dierent product development stages may adopt agile
practices dierently, we further investigated the dierence using Chi-square. The
hypothesis for each of the agile practices can be formulated as the following:
Ha1 : There is signicant dierence in the use of [the agile practice] among soft-
ware startups at dierent product development stages.
Step 2 : The focus of this step was to analyze the use of agile practices in the soft-
ware startups that adopted the Lean Startup approach, in order to answer RQ2.
To identify lean software startups in the sample, we used the three questions
related to the Lean Startup approach, as explained in Sect. 3.1. The software
startups that answered yes to the rst two questions and have pivoted at least
once were considered adopting the Lean Startup approach therefore lean software
startups. 229 out of 1526 are lean startups. The use of the ve agile practices
in these lean startups was compared to that in the rest of the whole sample, to
understand if there was dierence in agile practice use between the two sub sam-
ples. For this purpose again Chi-square tests were used. The hypothesis under
the test regarding each agile practices can be formulated as the following:
Ha2 : There is signicant dierence in the use of [the agile practice] between lean
software startups and non lean software startups.
Since pivot is an important aspect of software startups, we also examined
the number of pivots the surveyed startups made as part of Step 2 analysis.
The data analysis process was conducted using R software environment.
174 J. Pantiuchina et al.
4 Results
The cleaned dataset contains information about 1526 software startups, pro-
vided by 1526 respondents who either founded or worked for these startups. Not
surprisingly only a very small percentage (8%) are females in comparison to the
much larger percent of males (76%, the remaining 16% didnt reveal gender infor-
mation). The age of these respondents spread from 18 to 72 (based on 1219 cases
that contain age information), with a mean of 34 and a median of 32 (sd = 9.58).
A slight majority of the respondents (52.3%) have the age between 25 and 35. It
is intriguing to understand what motivated the respondents to found or work for
these startups. As expected the majority of answers reect an entrepreneurial
mindset: Build a Great Product covers the 52% of the motivations, followed
by Change the world (29%). Make a Good Living, Get Rich and Create
a quick ip are motivations for only less than 20% of the respondents.
Regarding the types of these software startups, more than half of them (877)
are working on web-based products. 264 software startups provide both web
and mobile solutions. Mobile applications are the focus of 171 startups. Only 65
startups provide non web-based software solutions. The remaining 149 startups
either work on products where software plays a less signicant role or did not
provide specic information regarding the types of their startups.
1461 software startups answered the question What is the total size of your
team? with meaningful values. The distribution of the sample is skewed right
signicantly, with 81.2% of the software startup teams with less than 9 members.
The mean of the team size is 7.23 and the median is 4 (sd = 19.15). When the
number of founders is concerned, even though we could not obtain the direct
data from the survey, we could infer from the question how many founders
are there on your team that own a signicant piece of equity? that most often
an entrepreneurial team has two co-founders that have signicant equity of the
company, followed by 1-signicant-founder and trio co-founder teams.
The distribution of the software startups across product development stages
is shown in Fig. 1. It can be seen that it follows a normal distribution, with soft-
ware startups that have functional products with limited users as most common,
and those with mature products as the minority. A closer look at the number of
core features that these products have reveals that the average number of the
core features of a product is 5 (mean = 5.2, median = 4, sd = 4.07). 72% of the
startups work on products that have 5 core features or less.
Fig. 2. Startup distribution with respect to the frequency of code refactoring (Color
figure online)
Similar results are shown in the test rst practice. It is evident from Fig. 3
that around 32% of them are writing tests as soon as they write features, there-
fore practicing test rst (blue bar). However, again one fourth of the startups
never write tests. Among the other options, as soon as we know were going to
keep a feature indicates clearly the test rst practice is not used. Even though
we could not interpret properly the options as soon as we reach a legal agree-
ment with a customer and other due to a lack of access to the original survey
design, we could still conclude that the majority of the startups surveyed do not
adopt the test rst practice.
Fig. 3. Startup distribution with respect to the frequency of code testing (Color figure
online)
Agile planning and frequent release are the two practices that allow software
teams to be able to collect feedback on their products and adjust their devel-
opment speed accordingly. 1391 startups responded with their release frequen-
cies and 1290 indicated how far ahead they planned their product development
176 J. Pantiuchina et al.
Fig. 4. Startup distribution with respect to agile planning (Color figure online)
pipelines. Regarding planning, Fig. 4 shows that most often the software star-
tups plan ahead for 1 to 3 weeks (about 24%), more than 10% plan for 2 to 7
days, and about 3% are doing daily planning. Only less than 6% put up a yearly
or longer-term plan. In total, more than 57% of the startups plan in an agile
manner in terms of the time frame covered by the planning (shown by the blue
bars. We used 30-day sprint to draw the division). Agile planning should be for
3 to 6 weeks (30 working days) or shorter.
As shown in Fig. 5, the most common (about 21%) release frequency used by
these software startups is every 2 to 3 weeks, followed by every 13 months (about
19%). It is interesting to see that more than 13% of the startups are practicing
continuous delivery and release product once per day or even multiple times per
day. However, more than 15% other startups have really low release frequency
(every 36 months or even more than 6 months), which is worrying given the
fact that they are software startups and moving fast is not an option but a must
for many of them. The bars in Fig. 5 are divided into two groups: those with
release frequency of 23 weeks or less (blue bars) therefore indicating frequent
release (again the 30-day sprint length was used as the division line), and those
indicating low release frequency (taking more than one sprint to release a new
version). It can be seen that more than 64% of the startups do frequently release
their products.
Daily standup meeting is an agile ceremony used to facilitate communication
among software development teams and organizations. Among the 1286 software
startups that answered the question, more than 70% are not using the practice,
in contrast to about 30% that said yes to the question.
Fig. 5. Startup distribution with respect to frequency of product releases (Color figure
online)
Agile Practices in Software Startups 177
Table 2. The use of agile practices in software startups across product stages
Table 2 shows the use of the ve agile practices by the software startups across
dierent product development stages. As explained in Sect. 3.3, the use of the
agile practices are simplied into yes/no Boolean options, to allow a sharper
comparison. Table 2 does show that for each agile practice, the percentage of
software startups using it varies across the product development stages. However,
there is no discernible pattern in the variance of the percentages.
To test Ha1 , Chi-square tests were applied. A pre-examination excluded fre-
quent release from the test since the assumptions requested to run Chi-square
test were not met. We run the tests on the cleaned sample (n = 1526). Since
the data entries that have empty answers to each agile practice and/or product
development stage were removed, each test has a dierent sample size (as shown
in Table 3, Column 2). The test results show that regular refactoring and agile
planning are linked to the development stages (the respective Ha1 is supported).
Instead, Ha1 regarding test rst and daily standup meeting cannot be supported.
We identied the riskiest hypotheses about our business in order to test them
rst, and 55% claimed that We built minimally viable products to test our
hypotheses. It is interesting to explore the pivoting behavior of these startups
in terms of the number of pivots they have made. 1440 out of 1526 gave valid
answers to the number of pivots. The mean is 1.528 and median is 1 (sd = 2.06),
in a range from 0 to 30 pivots.
229 out of the 1526 software startups are considered following the Lean
Startup approach based on the selection criteria specied in Sect. 3.3. When
looking closely at the pivoting in this subset, the number of total pivots the
surveyed startups experienced ranges from 1 to 15, with the mean equal to 2.153
and the median to 2 (sd = 1.73). From the perspective of product development
stages, we can see that, as shown in Table 4, the mean of the number of total
pivots of startups at dierent stages ranges from 2 to 2.6. The lean startups that
progressed to the stages of having functional or mature products in total have
not pivoted more than those at the early product development stages.
Table 5 shows the use of the ve agile practices in lean startups in comparison
to that in the rest of the sample. It can be seen that there is a higher percentage
of lean startups using each of the agile practices for all the ve agile practices.
To test Ha2 , we used the Chi-square test on the two groups: lean startups
vs. non-lean startups. The results are shown in Table 6. The dierence between
Table 5. The use of agile practices in lean startups vs. non lean startups
the two groups is not signicant in terms of the use of regular refactoring and
agile planning. Instead, the percentage of lean startups using test rst, frequent
release or daily standup meeting is signicantly higher than that of non-lean
startups.
5 Discussion
So are software startups using agile practices? The results of our study reveal
that a majority of software startups do not use quality related agile practices,
such as regular refactoring and test rst. It reects the major concern expressed
in the literature that quality has a low priority and technical debt is accumulated
in software startups, especially at their early stages. When the agile practices
regarding the speed of development are concerned, our study shows that a large
majority of software startups do move fast by adopting frequent releases and
short-term agile planning. This is in line with the literature that emphasizes
that speed matters signicantly to software startups [7]. However, the under
use of quality related agile practices in comparison to speed related practices
is not unique to software startups. The same pattern has been manifested in
the surveys of agile and lean adoption in software organizations in general. For
example, in the 10th annual agile survey conducted by VersionOne (based on
3,880 completed responses) [11], it is shown that speed related practices (e.g.,
short iterations, iteration planning, release planning) are employed more often in
the surveyed organizations than quality related practices (such as unit testing,
refactoring, test-driven development). A smaller scale academic survey on agile
and lean usage in Finnish software industry with 408 responses demonstrates
the same tendency [21]. It seems that, in terms of balancing speed and quality
concerns, software startups are not so dierent from the general population of
software organizations. Agile practices related to speed are more often used by
both software startups and established companies alike.
In contrast, our ndings regarding daily standup meeting indicate that this
well-known agile practice is not used in software startups to the same extent as
in established software organizations. According to the VersionOne survey [11],
daily standup meeting is the most popular agile practice among the surveyed
180 J. Pantiuchina et al.
Lastly, the results reported in this paper need to be viewed in the lights of the
limitations of and validity threats to the study. The lack of access to the original
survey design and no control to the quality of collected data pose the biggest
limitation to our study, constraining the types of analysis that can be conducted
and consequently the results that can be obtained. For these reasons, we went
to great lengths to clean and validate the data to ensure its quality. Another
limitation is due to the fact that there are a very limited number of questions
in the original survey that can be associated with agile methods and practices
with an acceptable level of condence. At the end only ve agile practices were
brought into the study. In addition, each agile practice had only one correspond-
ing question (item), so the risk of not obtaining valid data was increased due
to the lack of multiple items to probe the same practice. These concerns pose
a potential threat to the construct validity of the study. Instead, the external
validity is ensured by the size and random nature of the sample. Therefore the
ndings of this study can be generalized to a general population of software
startups.
6 Conclusion
In the past years agile methods have become main-stream software develop-
ment approaches in established companies, small or large. They are considered
natural choices for software startups too, since startups operate under various
uncertainties and the demand on their ability to deal with change is high. Mean-
while software startups have to focus on business development as well as product
development. Lean Startup is the approach that an increasing number of startups
adopt to test the riskiest business assumptions in their business models. This
study provided a better understanding of the state of agile practices in software
startups, with a particular focus on lean startups. Based on a large survey of
1526 software startups, we found out that dierent agile practices are used to
dierent extents, depending on the focus of the practices. Speed related agile
practices are used to a greater extent in comparison to quality related practices.
Communication practices represented by daily standup meeting is least used. In
addition, unlike what is speculated in the literature, software startups who adopt
the Lean Startup approach do not sacrice quality for speed more than other
startups do. Our study is the rst step towards more in-depth understanding of
how software startups can better use agile practices and eventually benet from
them.
In our current study we could not identify any questions specic to lean
practices, such as kanban, from the original survey questions. Future work can
investigate how lean practices are used in software startups. Meanwhile, doing
agile, using agile practices, does not ensure software startups of being agile,
being able to respond to change and uncertainty. This study was focused on
doing agile. Future work can assess the agility of software startups, and estab-
lish the link between doing and being agile to startup success. It would be
also eort worth spent to design a new survey that is focused on investigating the
adoption of agile and lean methods as well as Lean Startup in software startups.
182 J. Pantiuchina et al.
Acknowledgement. Thanks a lot to Carmine Giardino who shared the original sur-
vey data with us.
References
1. Ries, E.: The Lean Startup: How Todays Entrepreneurs Use Continuous Innova-
tion to Create Radically Successful Businesses. Crown Business, New York (2011)
2. Blank, S.G.: The Four Steps to the Epiphany: Successful Strategies for Products
that Win. Cafepress.com, Foster City (2005)
3. Sutton, S.M.: The role of process in a software start-up. IEEE Softw. 17, 3339
(2000)
4. Unterkalmsteiner, M., Abrahamsson, P., Wang, X., Nguyen-Duc, A., Shah, S.,
Bajwa, S.S., Baltes, G.H., Conboy, K., Cullina, E., Dennehy, D., et al.: Software
startups-a research agenda. e-Informatica Softw. Eng. J. 10(1), 89123 (2016)
5. Coleman, G., OConnor, R.V.: An investigation into software development process
formation in software start-ups. J. Enterp. Inf. Manag. 21(6), 633648 (2008)
6. Thomas, S.: Done is better than perfect: how to beat perfectionism paralysis (2016).
http://engageme.online/done-is-better-than-perfect-how-to-beat-perfectionism-
paralysis/
7. Giardino, C., Paternoster, N., Unterkalmsteiner, M., Gorschek, T., Abrahamsson,
P.: Software development in startup companies: the greenfield startup model. IEEE
Trans. Softw. Eng. 42(6), 585604 (2016)
8. Yau, A., Murphy, C.: Is a rigorous agile methodology the best development strategy
for small scale tech startups? Technical report (CIS), Paper980, p. 9 (2013)
9. Duc, A.N., Abrahamsson, P.: Minimum viable product or multiple facet product?
The role of MVP in software startups. In: Agile Processes, in Software Engineering,
and Extreme Programming, vol. 251, pp. 118130 (2016)
10. Terho, H., Suonsyrja, S., Syst
a, K.: The developers dilemma: perfect product devel-
opment or fast business validation? In: Abrahamsson, P., Jedlitschka, A., Nguyen
Duc, A., Felderer, M., Amasaki, S., Mikkonen, T. (eds.) PROFES 2016. LNCS, vol.
10027, pp. 571579. Springer, Cham (2016). doi:10.1007/978-3-319-49094-6 42
11. VersionOne: The 10th Annual State of Agile Report. Technical report (2016)
12. Highsmith, J., Cockburn, A.: Agile software development: the business of innova-
tion. Computer 34(9), 120127 (2001)
13. Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd
edn. Addison-Wesley Professional, Boston (2004)
14. Dyb a, T., Dingsyr, T.: Empirical studies of agile software development: a system-
atic review. Inf. Softw. Technol. 50(9), 833859 (2008)
15. Abrahamsson, P., Conboy, K., Wang, X.: lots done, more to do: the current state
of agile systems development research. Eur. J. Inf. Syst. 18, 281284 (2009)
16. Dingsyr, T., Nerur, S., Balijepally, V., Moe, N.B.: A decade of agile methodologies:
towards explaining agile software development. J. Syst. Softw. 85(6), 12131221
(2012)
17. Paternoster, N., Giardino, C., Unterkalmsteiner, M., Gorschek, T., Abrahamsson,
P.: Software development in startup companies: a systematic mapping study. Inf.
Softw. Technol. 56(10), 12001218 (2014)
18. Giardino, C., Unterkalmsteiner, M., Paternoster, N., Gorschek, T., Abrahamsson,
P.: What do we know about software development in startups? IEEE Softw. 31(5),
2832 (2014)
Agile Practices in Software Startups 183
19. Gilb, T., Gilb, K.: Lean Startup - the most extreme agile method by far. Agile
Rec. (9), 5354 (2012)
20. Bosch, J., Holmstr om Olsson, H., Bj
ork, J., Ljungblad, J.: The early stage software
startup development model: a framework for operationalizing lean principles in
software startups. In: Fitzgerald, B., Conboy, K., Power, K., Valerdi, R., Morgan,
L., Stol, K.-J. (eds.) LESS 2013. LNBIP, vol. 167, pp. 115. Springer, Heidelberg
(2013). doi:10.1007/978-3-642-44930-7 1
21. Rodrguez, P., Markkula, J., Oivo, M., Turula, K.: Survey on agile and lean usage
in finish software industry. In: Proceedings of the ACM-IEEE International Sym-
posium on Empirical Software Engineering and Measurement - ESEM 2012, p. 139
(2012)
22. Eloranta, V.P.: Towards a pattern language for software start-ups. In: 19th Euro-
pean Conference on Pattern Languages of Programs, pp. 111 (2014)
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Adopting Test Automation on Agile Development Projects:
A Grounded Theory Study of Indian Software
Organizations
1
Netaji Subhash Institute of Technology, Delhi University, New Delhi, India
[email protected], [email protected]
2
Guru Gobind Singh Indraprastha University, New Delhi, India
[email protected]
1 Introduction
The widespread use and popularity of agile methodologies are primarily due to their
ability to produce quality software in less time with limited manpower. Most of the
software industries are using scrum and XP methodologies of agile software develop
ment. Testing is an integral part of development in agile projects rather than a distinct
Software Development Life Cycle (SDLC) phase [1].
Software test automation refers to the activities and eorts that intend to automate
engineering tasks in a software test process using well-dened strategies and systematic
solution [2]. According to [3] test automation is one of the most eective solution for
projects which have strict deadlines as it speeds up the test execution and increases the
test coverage.
Automation on a scrum project is not optional, for a team to sprint eectively and
deliver value quickly, it needs to rely heavily on test automation [4]. Crispin and Gregory
[5] argued that test automation is the key factor for successful agile software develop
ment and the core of agile testing. In a study by Puleios [6] test automation was seen
as a key factor in agile testing to keep development and testing in synchronization. It is
evident from the above studies that test automation is a crucial ingredient of agile soft
ware development projects. Further, a study from Collins [7] reported that test
automation works very well if the agile teams nd the right way to implement test
automation in their projects and presented some strategies to minimize the risk during
test automation implementation.
The objective of this study is to create an understanding on dierent challenges faced
by agile practitioners while adopting test automation on agile projects and to present
some possible strategies to overcome those challenges. To provide more empirical
insight in this area, a grounded theory study has been conducted that involved 38 agile
practitioners from 18 dierent software organizations in India. We hope our research
will help in understanding the issues while adopting test automation on agile projects
and streamlining it through proper strategies.
The rest of the paper is structured as follows: in the next section a brief overview of
the Grounded Theory is presented; the third section describes the ndings of this study;
the fourth section discusses these ndings; the fth section presents limitations of this
study and the last section concludes the paper.
2 Research Method
Which version of ground theory. Glaser GT states that researchers should start with the
general area of interest and beginning a GT study with specic research questions can
lead to pre-conceived ideas or hypothesis of the research phenomena [11]. Other two
versions of GT are Straussin GT [12] and Charmazs constructivist GT [13]. This study
employed the Glaserian version as our objective was to nd out the issues from the real
life experience of the agile practitioners related to our general area of interest i.e. Agile
Project Management rather than imposing our own pre-conceived ideas and concerns
that could inuence this study and also due to plenty of resources available on Glaserian
GT [8]. GT has been chosen as our research method for many reasons. Firstly, agile
software development focuses on people and interactions, and GT, allows us to study
social interactions and the behavior of people. Secondly, GT is most suited to areas of
research that have not been explored in detail, and according to our knowledge, the
research studies on test automation practices in agile software development is also
scarce. Thirdly, GT focuses on theory generation rather than extending or verifying
existing theories [14]. Finally, GT is being liberally used to study the agile teams [11,
1518]. Following Glasers guidelines, the study started with a general area of interest
Agile project management rather than beginning with a specic research problem.
Problems and its key concerns will emerge in the initial stages of data analysis and it
did [19].
186 S. Tyagi et al.
Table 1. Summary of participants and project details. (Agile Position: Agile Coach (AC), Chief
Technical Ocer (CTO), Developer (DEV), Devops (DO), Product Owner (PO), Scrum Master
(SM), Senior Agile Coach (SAC), Senior Developer (SD), Senior Quality Analyst (SQA), Senior
Tester (ST), Test Analyst (TA), Tester (TES), Vice-President (VP)
Participant Agile Position/ Project distri Agile method Domain Team size Project dura Sprint duration
(Code) Experience bution location tion (Mos) (Wks)
(yrs)
P1, P2 TES/3, SM/10 India-UK Scrum Finance 1012, 1618 12, 24 2
P3, P4 ST/4, PO/5 India-USA Scrum & XP Network 10 10 to 12 23
Mgmt. Serv
ices
P5, P10 SM/6, ST/5 India-South Scrum & XP Insurance 1214, 12 810, 1516 34
East Asia
P6 TES/4 India-Europe Scrum & XP Mobile Retail 18 1820 34
P7, P8 TES/3, SD/5 India-USA Scrum & XP E-Commerce 14 1214 12
P9 SD/4 India-Australia Scrum & XP Banking & 20 24 34
Finance
P11, P12 AC/12, India-USA - Scrum & XP Software 1415, 1820 1214, 1516 24
CTO/16 Australia Consultancy &
Services
P13, P14 AC X 2/8, 10 India-New Scrum & XP IT & Agile 78 36 23
Zealand Training
P15 DEV/3 India-UK Scrum & XP Telecom 1213 42 34
P16, P17 TA/5, VP/12 India-UK Scrum & XP Insurance 910 12 23
P18, P19 SM/7, AC/8 India-Western Scrum Health Care 1819 24 34
Europe
P20, P21 TES/3.5, DO/4 India-USA Scrum & XP Energy 1012 36 34
Metering Solu
tions
P22, P23 TES/4, India-Canada Scrum & XP Finance 910, 12 24, 1820 34
DEV/4.5
P24, P25 ST/5.5, TA/5 India-Australia Scrum & XP E-Commerce 10, 910 12, 1214 12, 23
P26 SQA/4 India-South Scrum Information 89 18 34
East Asia- Security
Australia
P27 TES/3.5 India-Western Scrum Web Portal 1213 1012 12
Europe
P28 SM/8 India-Western Scrum & XP IT & Agile 1012 1214 23
Europe Training
P29, P30 SM/10, VP/12 India-USA Scrum & XP IT Infrastruc 1214 1618 23
ture
P31 SAC/12 India-Europe Scrum & XP IT & Agile 89 24 3
Training
P32 SM/6 India-Europe Scrum & XP Agile Training 1011 12 34
P33 PO/3 India-Europe Scrum & XP Finance 1213 1516 23
P34 ST/4.5 India-UAE Scrum Banking & 1518 24 23
Finance
P35 TES/4 India-USA Scrum Telecom 1011 1012 34
P36, P37 SM/7, DEV/4 India-USA Scrum & XP E-Commerce 1214, 1819 68, 18 23
12
P38 PO/4.5 India-UK Scrum & XP Telecom 20 1214 23
is into smart metering and energy management solutions with presence in over 30 coun
tries and Y is into e-commerce business with presence in over 4 countries.
Observation period in Sigma and Delta was 8 and 6 months respectively. Sigma was
practicing agile mainly blend of scrum and XP from past 3 years but Delta was relatively
new to agile and practicing scrum from past 1 year. We observed daily stand ups, sprint
188 S. Tyagi et al.
retrospectives, sprint review meetings, end sprint demos, pair programming practices,
daily smoke and regression tests and we had taken eld notes along the way about our
observations and transcribed them for analysis. Moreover, we compared the codes
emerged during observations with the codes from the interviews that helped us in
achieving triangulation. The interview data was further strengthened by our observations
from these two projects.
Constant Comparative Method. Here, codes are compared with other codes to produce
concepts, codes are compared further with concepts to produce new concepts and nally
concepts are compared with other concepts to produce categories [14].
Memoing. Memos are written notes to log reections between data, codes and their
relationships as they occur in researchers mind [20]. In our case, we wrote memos as
soon as we had some ideas about emerging codes and their relationships.
Open Coding. In open coding interview transcripts are being analyzed in detail and key
points are identied from each interview transcript [24]. In the next step, key points are
collated and particular code is assigned to each key point [25]. Code is a phrase used to
summarize the key point in 2 to 3 words. Using the constant comparative method, the
codes from each interview were compared constantly with the codes from the same as
well as from other interviews and also with data based on our observations and written
memos. The constant comparison and grouping of similar codes lead to the second level
of abstraction, called concepts. Further, this method is repeated on concepts to produce
the third level of abstraction, called categories.
Open coding was ended on identifying our core category Adopting test automa
tion. Two potential near core categories were also emerged like Quality work
delivery and Manage changing requirements, but we selected Adopting test auto
mation as our category as it is related to most other categories in a meaningful way.
An example of open coding process is shown in Table 2 that depicts the emergence of
our core category from the combined analysis of interviews and observations.
Adopting Test Automation on Agile Development Projects 189
Phase 2: Rening the core category. As per theoretical sampling process, selecting
new interviewees and sites for data collection should come from the results of the coding
process [14]. We progressed into phase 2 and continued our data collection process.
Selective Coding. Here, only those interview transcripts were coded that were related
to our core category i.e. Adopting Test Automation. Constant comparative method
190 S. Tyagi et al.
was used on interview transcripts and observations to nd out codes, concepts and nally
the categories related to our core. Table 3 shows an example of selective coding
process.
The other concepts and categories emerged in a similar manner which sheds light
on the problems faced by agile teams while adopting test automation. Observations
gathered from the two projects were also analyzed and compared to the concepts derived
from the interviews. It was found that our observations supported the data provided in
the interviews, thereby strengthening our interview data. During our data analysis one
more set of concepts emerged that formed the strategies used by agile teams in order to
overcome those challenges as described in the present study. Figure 1.a shows dierent
levels of data abstraction using GT and Fig. 1.b explains the emergence of category
choosing the right tool from underlying concepts.
Fig. 1. a. Dierent levels of data abstraction in GT. b. Emergence of category choosing the right
tool from concepts
emerge directly from the data, which is collected from the real world, the resulting theory
is grounded within the context of the data [17].
In the following section, we present the research ndings from our study. Selected
interview quotations are provided under each category to better explain it in the present
context. Our results are grounded further by key points, codes, and concepts from the
interviews as well as the observations from two agile projects. It is dicult to describe
here in detail due to space reasons.
In this section, we present our grounded theory: Strategies used by agile practitioners
while adopting test automation in their projects. We have selected quotations from our
study to explain the challenges faced by agile teams and strategies opted by them.
Test automation is very important right from the start of any agile project. It is essential
to know the project requirements, which tests needs to be automated and what tools are
needed. Agile practitioners admitted that while transitioning to scrum and XP, they were
still using traditional record and playback tool but results were highly unsatisfactory.
Other associated concerns include choosing a tool for automating continuous inte
gration and deployment, automating acceptance and regression tests and a tool for
eective test management.
Output of sprint N has to combine with sprint N + 1, daily defect xes that continuously check
in to the code, this whole process is continuous integration (CI), it also takes lot of time, and
only by automating our CI process we could survive our project deadlines. P10, Senior Tester
Choice of test automation tool particularly in agile projects is a very crucial decision as
if you would end up choosing a wrong tool with the partial or incomplete evaluation; it may
192 S. Tyagi et al.
lead to loss of efforts spent in each sprint, loss of licensing fees as well as loss of automa
tion opportunities. In order to prevent these losses, some strategies were used to overcome
the problem of choosing the right tool. Two adopted strategies are explained below:
Strategy 1: Know your Test Automation Requirements, Know your Tool. One
should be scrupulous while choosing a test automation tool in agile projects. Agile teams
should understand their project needs and then decide on test automation tool, it is
imperative to rst know the exact automation requirements of the projects like test types
(unit, acceptance, regression, etc.) needs to be performed, coding languages to be used
on the project and suitability of choosing between licensed and open source tools; it is
good to choose a tool based upon the compatibility with the application under test (AUT).
A lot of licensed and open source tools are availableYou must know that what you want to
do with that [Tool] and for what [purpose] as requirements may vary depending on project size,
cost and allocated time. P16, Test Analyst
Strategy 2: Cost Benet Analysis (CBA). Cost of the tool is also one of the important
deciding factors in most agile projects. Licensed tools have certain benets over open
source tools like good user support, sucient training material and ease of use but that
comes with the cost.
would be using that [tool], whether its a licensed or open source it depends on CBA (Cost
to benet analysis) of that tool w.r.t our project. P32, Scrum Master
It is always better to know what test types needs to be automated, tools utility with
project needs, its ability to integrate with other project and defect management tools.
The ultimate aim of any agile project is to deliver quality product and test automation
plays an important role in adding that quality to the product in such short sprint durations.
Keeping test environment as close as possible to production environment ensures the
quality of the test automation. Agile teams were facing diculties while creating
multiple test environments for every dierent conguration, platforms and workows.
Why it is worth to have Test Automation in agile projects because it helps you in achieving
your quality objectives, test environment should be a replica of your live [production] environ
mentif you practice this then the code that go into upper [production] environment would meet
quality criteria. P13, Agile Coach
important to have upfront plan for managing your test environments by maintaining
spreadsheets containing all our test environment related information like dierent congura
tions, dierent test devices and test data used by those devices, any database related information
and continuously update it. P29, Scrum Master
For every new addition or modication in feature, test script needs to be modied and
maintained for the entire duration of the projects with multiple sprints and this was a
challenge for them.
The scale of regression testing grows with each sprint and so does the test scripts, so how
you would add more test cases to the existing regression test suite? How you maintain those
scripts? P34, Senior Tester
Maintainability of code was a big issue, many participants worked on web based
applications where test script was created by identifying web page elements and their
associated properties, so if any page element whether it is a dropdown box or submit
button had changed then they needed to track and modify that script.
Strategy 6: Page Object Model (POM). Another technique used by many agile prac
titioners to make test script maintenance easier was Page Object Model (POM) approach.
Here, each web page element (button, text box) is modeled as an object within the test
code and represents as one class.
194 S. Tyagi et al.
Strategy 8: ROI Evaluation. Senior management should provide the required infra
structure and environment necessary to conduct eective test automation practices.
Eleven of our participants used ROI (Return on Investment) evaluation to get their
support. ROI calculation is based on evaluating the benets of test automation with
respect to its implementation costs in terms of tool cost, manpower cost, time needed to
build required infrastructure for automation.
While implementing test automation, it is very important for developers and testers
to collaborate with each other, testers should help developers in designing unit test cases
and developers should help testers in automating acceptance tests. The more they
communicate more eective test automation would become.
Strategy 9: One Team Approach. One team approach was the key crusader in
building eective communication between testers, developers and POs as mentioned
by ten agile practitioners. Many agile teams were giving much emphasis to have proac
tive communication with each other including both verbal and written communication
Adopting Test Automation on Agile Development Projects 195
so that every team member developed this feeling that they are working together as one
single team not as separate entities.
When you automateexpected to not only report defects but also to communicate [defects]
eectively to the development team and track it till closure. When you have that [proactive
communication] surrounding your team that keeps everyone in one loop then results are more
than satisfactory. P32, Scrum Master.
Agile projects have daily rounds of unit tests, integration tests, acceptance tests and
continuous deployment. The serious eect of not having perfect test automation in place
forms the rationale behind our study.
The choice of the right tool from a plethora of available tools is a decisive step
towards successful test automation. This is conrmed by studies of Oliveira [27] and
Collins [28]. If one tool is not working well for the project, in the next iteration, agile
teams should try something new [28]. Yoder [29] discussed the importance of selecting
automation tools and when automated tests should be run under Automate First
pattern.
The implications of managing test environment and test script maintenance revealed
by our ndings are also supported by a number of studies. Deak [30] highlights a number
of negative factors that inuence testing like insucient number of test environments
and weak infrastructure. Karhu [31] contributes test environment, test maintenance and
implementation time as key concerns about test automation infrastructure. Fewester
et al.s study [32] mentioned negative impact on test automation cost due to improperly
managed test script maintenance cost. Bach [33] advocates the benets of test automa
tion over maintenance cost of constantly changing test scripts suite.
For successful test automation, management should be open to test automation prac
tices and their nancial benets in spite of time constraints. Late testing mindset need
to be changed to early testing mindset in agile environment [34] and management
support is also desired in terms of having realistic expectations from the test automa
tion [35].
According to [34] ecient communication and interaction between testers and
developers improved both testing and development, eventually improving information
ow and eciency in process. Graham [36] suggested active participation of testers in
requirement reviews along with developers for performing test planning in parallel.
Yoder [29] also reported whole team approach as one of the pattern for agile quality
mindset.
196 S. Tyagi et al.
5 Limitations
The inherent limitation with grounded theory research study is that the research ndings
are grounded in the specic contexts that are explored in the research. Data triangulation
was used for reducing researcher bias, as we gathered the data from two sources, namely,
interviews and observations that may yield more reliable data than using a single data
source. The context in this research was governed by our choice of research destinations
and the availability and accessibility of agile practitioners to participate in this study.
We do not claim that our ndings are universally applicable to all the agile projects
practicing test automation, however, they accurately characterize the contexts studied.
6 Conclusion
A Grounded Theory study has been conducted over a period of eighteen months that
involved 38 agile practitioners from 18 software development organizations in India.
This study investigated the test automation adoption from the specic perspective of
agile practitioners through their real life project experiences using GT. Unlike most of
the participant organizations, some of them were recently transitioned to agile software
development methods. However, all of them were striving to build good test automation
infrastructure for their projects. During the study, we discovered the various challenges
and strategies adopted thereof by agile teams while establishing good test automation
practices in their projects. Main contribution of this paper is towards understanding the
key challenges while adopting test automation in agile projects and providing some
widely used strategies to overcome those challenges. This study can be utilized by agile
software development teams to have a plan of action and streamline the test automation
to get maximum benets. We acknowledge this fact that all challenges and strategies
adopted by software development organizations practicing test automation in agile
projects may not have emerged in this study. This may also serve as the foundation for
conducting future studies in the same area.
Acknowledgments. Our big thanks to all agile practitioners for participating in this study. This
research is supported by our institutes TRF academic grant. Thanks to Prof. Yogesh Singh for
his immense support and guidance.
References
1. Sayed, I.N.: The case of agile testing. White Paper, cognizant 20-20 insights (2016). https://
www.cognizant.com/InsightsWhitepaper. Last accessed 08 Jan 2016
2. Gao, J., Tsao, J., Wu, Y.: Testing and Quality Assurance for Component-Based Software.
Artech House, Boston (2003)
3. Dustin, E., Rashka, J., Paul, J.: Automated Software Testing: Introduction, Management, and
Performance. Addison-Wesley, Boston (1999)
4. Cohn, M.: Succeeding with Agile: Software Development Using Scrum, 1st edn. pp. 314
316. Addison-Wesley Professional, Boston (2009)
Adopting Test Automation on Agile Development Projects 197
5. Gregory, J., Lisa, C.: More Agile Testing. Addison-Wesley, Upper Saddle River (2015)
6. Puleio, M.: How not to do Agile testing. In: Proceedings of the Conference on AGILE 2006
(AGILE 2006), pp. 305314. IEEE Computer Society, Washington, DC (2006). doi:http://
dx.doi.org/10.1109/AGILE.2006.34
7. Collins, E., Lucena Jr., F.: Strategies for agile software testing automation: an industrial
experience. In: Proceedings of the 2012 IEEE 36th Annual Computer Software and
Applications Conference Workshops (COMPSACW 2012), pp. 440445. IEEE Computer
Society, Washington, DC (2012)
8. Glaser, B.: Grounded theory institute: methodology of Barney G Glaser (2010). http://
groundedtheory.org/. Last accessed 28 Nov 2015
9. Hoda, R., Noble, J., Marshall, S.: Agile undercover: when customers dont collaborate. In:
XP 2010, Norway, pp. 7387 (2010)
10. Goulding, C.: Grounded Theory: A Practical Guide for Management, Business and Market
Researchers. Springer, Berlin (2002)
11. Dorairaj, S., Noble, J., Malik, P.: Understanding team dynamics in distributed agile software
development. In: Wohlin, C. (ed.) XP 2012. LNBIP, vol. 111, pp. 4761. Springer, Heidelberg
(2012). doi:10.1007/978-3-642-30350-0_4
12. Corbin, J., Strauss, A.: Basics of Qualitative Research: Techniques and Procedures for
Developing Grounded Theory, 4th edn. Sage, London (2015)
13. Charmaz, K.: Constructing Grounded Theory, 2nd edn. Sage (2014)
14. Glaser, B.: Basics of Grounded Theory Analysis: Emergence vs. Forcing. Sociology Press,
Mill Valley (1992)
15. Dorairaj, S., Noble, J., Malik, P.: Understanding lack of trust in distributed agile teams: a
grounded theory study. In: 16th International Conference on Evaluation & Assessment in
Software Engineering (EASE 2012), pp. 8190. IET (2012)
16. Hoda, R., Noble, J., Marshall, S.: Organizing self-organizing teams. In: ICSE 2010, pp. 285
294. ACM, South Africa (2010)
17. Martin, A., Biddle, R., Noble, J.: The XP customer team: a grounded theory. In: Proceedings
of the AGILE Conference, pp. 5764 (2009)
18. Whitworth, E., Biddle, R.: The social nature of Agile teams. In: Agile 2007, pp. 2636. IEEE
Computer Society, USA (2007)
19. Glaser, B.: Doing Grounded Theory: Issues and Discussions. Sociology Press, Mill Valley
(1998)
20. Glaser, B.: Theoretical Sensitivity: Advances in Methodology of Grounded Theory. Sociology
Press, Mill Valley (1978)
21. Glaser, B.G., Strauss, A.L.: The Discovery of Grounded Theory: Strategies for Qualitative
Research. Sociology Press, Aldine (1967)
22. Agile Software Community of India. http://www.agileindia.org/. Last accessed 12 June 2016
23. Agile India 2016. http://www.2016.agileindia.org/. Last accessed 10 Feb 2016
24. Urquhart, C., Lehmann, H., Myers, M.D.: Putting the theory back into grounded theory:
guidelines for grounded theory studies in information systems. Inf. Syst. J. 20(4), 357381
(2010)
25. Georgieva, S., Allan, G.: Best practices in project management through a grounded theory
lens. Electron. J. Bus. Res. Methods 6(1), 4352 (2008)
26. Glaser, B.: The Grounded Theory Perspective III: Theoretical Coding. Sociology Press, Mill
Valley (2005)
27. Oliveira, J.C., Gouveia, C., Filho, R.Q.: A way of improving test automation cost-
eectiveness. In: CAST. EUA, Indianapolis (2006)
198 S. Tyagi et al.
28. Collins, E., Lucena Jr., F.: Software test automation practices in agile development
environment: an industry experience report. In: Proceedings of the 7th International Workshop
on Automation of Software Test (AST 2012), pp. 5763. IEEE Press, Piscataway (2012)
29. Yoder, J.W., Wirfs-Brock, R., Washizaki, H.: QA to AQ part six: being agile at quality
Enabling and Infusing Quality. In: HILLSIDE Proceedings of 23rd Conference on Pattern
Languages of Programs, October 2016
30. Deak, A.: A comparative study of testers motivation in traditional and agile software
development. In: Product Focused Software Process Improvement, pp. 116 (2014)
31. Karhu, K., Repo, T., Taipale, O., Smolander, K.: Empirical observations on software testing
automation. In: Proceedings of the 2nd International Conference on Software Testing,
Verication, and Validation (ICST 2009), Denver, Colo, USA, pp. 201209 (2009)
32. Fewster, M.: Common Mistakes in Test Automation, Grove Consultants (2001). https://
www.stickyminds.com/sites/default/les/presentation/le/2013/01TAU_M5.pdf. Last
accessed 02 Feb 2016
33. Bach, J.: Test automation snake oil. Windows Tech. J., 4044 (1996)
34. Taipale, O., Smolander, K.: Improving software testing by observing practice. In: Proceedings
of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering (ISESE
2006), pp. 262271. ACM, New York (2006). doi:http://dx.doi.org/
10.1145/1159733.1159773
35. Kettunen, V., Kasurinen, J., Taipale, O., Smolander, K.: A study on agility and testing
processes in software organizations. In: Proceedings of the 19th International Symposium on
Software Testing and Analysis, pp. 231240 (2010)
36. Graham, D.: Requirements: requirements and testing: seven missing-link myths. IEEE Softw.
19(5), 1517 (2002). doi:10.1109/MS.2002.1032845
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Safety Critical Software
How is Security Testing Done in Agile Teams?
A Cross-Case Analysis of Four Software Teams
Abstract. Security testing can broadly be described as (1) the testing of security
requirements that concerns condentiality, integrity, availability, authentication,
authorization, nonrepudiation and (2) the testing of the software to validate how
much it can withstand an attack. Agile testing involves immediately integrating
changes into the main system, continuously testing all changes and updating test
cases to be able to run a regression test at any time to verify that changes have
not broken existing functionality. Software companies have a challenge to
systematically apply security testing in their processes nowadays. There is a lack
of guidelines in practice as well as empirical studies in real-world projects on
agile security testing; industry in general needs a more systematic approach to
security. The ndings of this research are not surprising, but at the same time are
alarming. The lack of knowledge on security by agile teams in general, the large
dependency on incidental pen-testers, and the ignorance in static testing for
security are indicators that security testing is highly under addressed and that more
eorts should be addressed to security testing in agile teams.
1 Introduction
Security testing can broadly be described as (1) the testing of security requirements that
concerns condentiality, integrity, availability, authentication, authorization, non-repu
diation [16] and the testing to validate the ability of the software to withstand attack
(resiliency) [28]. This process can be performed by showing conformance with the
security properties, similar to requirements-based testing; or by trying to address known
vulnerabilities, similar to traditional fault-based testing. It is essential to take testing into
account in all phases of the secure software development lifecycle, i.e., analysis, design,
development, deployment, as well as maintenance. Thus, security testing must be
holistic covering the whole secure software development lifecycle. Proper security
testing requires a mix of techniques as there is no single testing technique that can be
performed to eectively cover all security testing and their application within testing
activities at unit, integration, and system level [2]. Nevertheless, many companies adopt
only one security testing approach, for instance penetration testing.
Agile testing is one approach that is increasingly being adopted by software compa
nies. This approach does not just mean testing on agile projects, but testing an application
with a plan to learn about it and let the product information and customer feedback guide
the testing. Agile testing involves immediately integrating changes into the main system,
continuously testing all changes and updating test cases to be able to run a regression
test at any time to verify that changes have not broken existing functionality [18, 23].
In agile software development, there is a focus on the feature implementation and
delivery of value to the customer and, as such, non-functional aspects of a system should
also be of attention. Non-functional requirements testing is challenging due its cross-
functional aspects and lack of clarity of their needs by business in the most part of
projects, therefore, although important, the non-functional requirements are often
neglected in agile testing for many reasons, such as experience, culture, awareness,
priority, cost and time pressure [5].
There is a lack of guidelines in practice as well as empirical studies in real-world
projects on security testing; for agile projects in general needs a more systematic
approach to security. The main contribution of this paper is to deepen relevant knowl
edge and experience on the characterization of security testing in an agile context. Based
on the traditional waterfall testing approaches and techniques, we have analyzed four
teams and asked about how they perform these in the agile context. We then provide
recommendations of ways to improve it based on lessons learned and good practices
from the cases. In addition, we provide an improved understanding on how research and
practice are aligned.
The remainder of the paper is organized as follows. In Sect. 2, we provide back
ground on software and security testing. It also forms the backbone of the used interview
guide. Section 3 presents the research methodology and describes how the studies were
conducted. Section 4 presents the main ndings of the case studies. Section 5 discusses
the cross-case analysis ndings. Finally, Sect. 6 concludes the paper and highlights
directions of future work.
Software testing consists of all software development lifecycle activities, both static and
dynamic, concerned with evaluation of software products and related artifacts to deter
mine that they satisfy specied requirements, to demonstrate that they are t for purpose
and to detect defects. Testing can be classied according to the three dimensions objec
tive, scope, and accessibility shown in Fig. 1.
Test objectives are reason or purpose for designing and executing a test. The reason
is either to check the functional behavior of the system or its nonfunctional properties.
Functional testing is concerned with assessing the functional behavior of an SUT
(System under Testing), whereas nonfunctional testing aims at assessing nonfunctional
requirements with regard to quality characteristics like security or performance.
How is Security Testing Done in Agile Teams? 203
Objective
Nonfunctional Scope
System
Integration
Functional
Component
Accessibility
White-Box Black-Box
Fig. 1. Software testing dimensions objective, scope and accessibility (adopted from [16]).
The test scope describes the granularity of the SUT and can be classied into compo
nent, integration and system testing. It also determines the test basis, i.e., the artifacts
to derive test cases. Component testing (also referred to as unit testing) checks the
smallest testable component in isolation. Integration testing combines components with
each other and tests those as a subsystem, that is, not yet a complete system. System
testing checks the complete system, including all subsystems. A specic type of system
testing is acceptance testing where it is checked whether a solution works for the user
of a system. Regression testing is a selective retesting to verify that modications have
not caused side eects and that the SUT still complies with the specied requirements.
In terms of accessibility of test design artifacts we can classify testing methods into
white-box and black-box testing. In white-box testing, test cases are derived based on
information about how the software has been designed or coded. In black-box testing,
test cases rely only on the input/output behavior of the software. This classication is
especially relevant for security testing, as black-box testing, where no or only basic
information about the system under test is provided, enables to mimic external attacks
from hackers.
Security testing is testing of security requirements related to security properties like
condentiality, integrity, availability, authentication, authorization, and non-repudia
tion in addition to testing the resilience of the system against attack. In security testing,
there are two principal approaches that can be distinguished, i.e., security functional
testing and security vulnerability testing [33]. Security functional testing validates
whether the specied security requirements are implemented correctly, both in terms of
security properties and security mechanisms. Security vulnerability testing addresses
the identication of unintended system vulnerabilities. It uses the simulation of attacks
and other kinds of penetration testing attempting to compromise the security of a system
by playing the role of a hacker trying to attack the system and exploit its vulnerabilities
[1]. Furthermore, security vulnerability testing requires specic expertise, which makes
it dicult and hard to automate [21]. By identifying risks in the system and creating
tests driven by those risks, security vulnerability testing can focus on specic parts of a
system implementation where an attack is likely to succeed.
204 D.S. Cruzes et al.
Figure 2 abstracts from concrete security testing techniques mentioned before, and
classies them according to their test basis within the secure software development life
cycle, which takes security aspects into account in each phase of software development,
i.e., analysis, design, implementation, deployment, maintenance, and additionally
testing.
Fig. 2. Process for risk-based test strategy development (adopted from [16]).
Crispin and Gregory [9] discuss the Agile Testing quadrants that are widely adopted in
practice. Each quadrant in Fig. 3 reects dierent reasons to test. Traditionally, software
testing is involved late in the development process to detect failures, but typically not
to prevent them. Companies focus almost exclusively on the right hand side (Q3 and
How is Security Testing Done in Agile Teams? 205
Q4), criticizing the product, but not playing a productive part in supporting the creation
and guidance of the product (Q1 and Q2). In agile testing, the testers are not only
involved in identifying, but also in preventing failures by continuous interaction with
developers and customers. Automation is an important enabler for agile testing. Auto
mation of the tests in Q1 is usually easiest to implement, and at the same time has a big
impact on the process eectiveness. Tests in Q3 are usually performed manually. Tests
in Q4 are heavily dependent on tools and specialized skill sets. But, manual exploratory
testing by a knowledgeable security tester is indispensable to detect issues that auto
mated tests can miss.
Agile testing increases the need for improved communication and coordination
between testers and developers, in addition to a new mind-set at the personal and organ
izational levels. In the rush to deliver functionality, most agile teams lack to think about
security [5]. Authorization is often the only aspect of security testing that the agile teams
consider as part of business functionality.
During the last years there have been several eorts to reconcile software security
with the conicting premises imposed by agile methodologies [4, 19, 24]. In a systematic
review of agile challenges for secure software development Queslati et al. [24] conclude
that the reported security assurance challenges are as follows: security assessment favors
detailed documentation; tests are, in general, insucient to ensure the implementation
of security requirements; tests do not cover in general, all vulnerability cases; security
tests are in general dicult to automate; and continuous changing of the development
processes conicts with audit needs of uniform stable processes.
Probably, the most widely known software security methodology is Microsofts
framework, which is integrated into the Microsoft Agile Security Development Life
cycle [22]. Other approaches also exist. Recently, Baca et al. [3] demonstrate how
security features can be integrated into an agile software development method process
at Ericsson AB. The approach focuses on risk management. Chlis et al. [7] describe a
206 D.S. Cruzes et al.
case study of a software security testing process based on the Microsoft Software Devel
opment Lifecycle for Agile. The case company moves their software engineering teams
from waterfall to agile. The case shows that a synchronization between the tasks of agile
software engineering teams and the independent security team is possible. Trpe et al.
[34] report on a one-year study of penetration testing and its aftermath at a major software
vendor, and show how an agile development team managed to incorporate the test
ndings. Rindel et al. [30] describes a case of building a secure identity management
system and its management processes. The projects steering group required the use of
Scrum. In the implementations of this model the security testing, reviews and audits are
viewed as normal stories in the sprint backlog and executed as part of the daily scrum.
Furthermore, security testing approaches for agile projects have especially been
proposed for web applications [12, 32] and service-oriented systems [15]. These cases
show how it is possible to integrate security testing into agile software development for
specic system types. Our research comprises an independent study on the state of
practice in security testing in agile teams.
3 Research Methodology
The overall goal of this paper is to investigate the role of security testing in agile teams,
process-wise. For this purpose, we present the synthesis of the results of the four cases
in security testing, highlighting the security engineering process, testing phases and
techniques. The results of the interviews and context mapping provide insights into the
recommended practices and lessons learned in the context of agile testing. The following
three research questions (RQs) were investigated:
This study is carried out in four teams in two countries, i.e., Austria and Norway,
within three organizations and denoted as 1, 2, 3-Team1, and 3-Team2, as shown in
Table 2. Organizations 1 and 2 are located in the same country while organization 3 is
located in another country. Organization 3 is a company with roughly 90 engineers. The
team setup are both co-located and distributed. 3-Team1 has teams distributed in sepa
rate locations while 3-Team2 has the core development teams (frontend and backend)
in the same location and interacts with a QA team that sits in a separate location. 3-team1
develops identity management APIs that are mainly consumed by other teams within
the organization. They do not interact with external users. 3-Team2 on the other hand,
develops solution for storage and processing of end user images and videos.
We prepared semi-structured interview guide (see Table 1) using a qualitative data
collection approach that is based on in-depth literature review of the state-of-the-art in
security testing. The interviews were compared with the collected information about the
organizational contexts and interactions with the companies. The resulting interview
How is Security Testing Done in Agile Teams? 207
audios were then analyzed using the thematic analysis approach [10] to crosscheck and
compare the answers in order to nd behavioral conrmation and disconrmation as
well. The transcripts and recordings of the interviews were categorized, tabulated, and
also analyzed by coding of the interviews. All the transcriptions and coding were vali
dated with other researchers before analysis. By doing so, another researcher independ
ently double-checked the codes and data to tag the key words, phrases and paragraphs.
It is important to note that basic information on each context was considered (see
Table 2). This information served as a context to better understand the points of view
of each participant connected to the results. In this analysis, we considered in which
areas the cases suggest the same points, where they dier, and where the cases conict.
4 Results
We collected our main ndings in a mind map shown in Figs. 4, 5 and 6. These results
are then discussed in more detail in the next subsections.
We found three main themes from the interviews in relation to the roles and responsi
bility (Fig. 4). The rst observation is that larger companies have their own chief security
ocer, who is not part of the teams to not interfere with any daily team activities.
Sometimes the responsibility of the chief security ocer overlaps with the project owner
in order to ensure that the applications being developed do not impose security risks.
One team mentioned that their project owner (PO) or project manager (PM) has domain-
specic security knowledge, which is not the case for the other teams. In fact, for the
smaller companies, there is no such chief security ocer role. One problem that the
teams experienced with involving the security ocer is that it is hard to identify when
to include him in the activities.
The second observation is that external experts are normally hired for penetration
testing. However, a problem experienced by one of the companies is that external
consultants do not have sucient domain knowledge needed for security testing. There
fore, some domain-specic vulnerabilities are left undiscovered. The periodicity of the
How is Security Testing Done in Agile Teams? 209
execution of these tests is quite ad-hoc, sometimes linked to big deliveries or when there
are too many changes in the source code. The results of the tests are not completely
integrated in the development process and almost never get into the planning of the
activities of the sprint.
The third observation is that testers or QA personnel focus on the system level in the
case this role still exists and the developers take care of the daily activities and developers
are expected to have knowledge on security both during coding and sometimes for
testing their own code. This knowledge is also needed when reading the output of the
security tools. One interviewee said: We generally organize mainly as software devel
opers, we generally have a software engineering role and we are expected to be with a
broad knowledge, and skill set, computer science engineering and security and safe
programming. But there is no specic validation of this stated broad knowledge and
skill set. Another interviewee stated on some tool output: Normally, the errors are
quite readable. From technician level, the developer that develops component should
also understand the message of the tool. For instance, if the tool says, open API C#
token found, hopefully developers also know what it says. The tools check very huge
part, but they cannot check all. This is the responsibility that developer has while devel
oping. It was clear that this knowledge was not something systematically evaluated or
externalized, just assumed, as the agile mindset brings the focus to people instead of
process and tools the teams are not completely sure of how much knowledge on secure
coding was in the teams.
Automated unit testing is not security-oriented at all. Risk assessment is performed
mostly by the Austrian teams (Team 1 and Team 2), and is applied to focus testing. One
interviewer said: Yes, we are using risk assessment, it is a kind of matrix where we have
210 D.S. Cruzes et al.
on one hand probability occurrence and on the other hand importance of that stu or
if it can occur. We have this matrix and we are using it for small tools.
4.2 RQ 2: How Does the Agile Teams Perform Security Testing in Each Testing
Phase?
To answer how security testing is performed in each testing phase, we analyzed the
scope, objective and accessibility of the security testing, as shown in Fig. 5. With regard
to the scope, unit tests are commonly used in agile teams, but typically not with a specic
security focus. With some approaches for example testing positive and negative cases
one team specically mentions security focus for unit tests. Only one team highlights
that security aspects are considered when negative unit tests, which are intended to fail,
are executed.
Static source and binary code analysis is performed for security reasons on the unit
level. All teams stated that no specic security aspects are considered during integration
testing. Security testing is most prominent on the system level. On this level security
tests are typically a synonym for penetration testing, typically performed as black box
testing. Security tests on the system level are to a large extent automated and there is
almost no manual security testing on this level. White-box aspects are typically only
considered during static source or binary code analysis.
When testing non-functional requirements, the focus in the interviewed teams is
typically on performance. One interviewee said: We usually have unit test. And those
are trying to exercise the happy path, which should already catch a many of basic the
problems. We dont have much integration tests. We have also some performance tests.
And that may go to the non-functional category, but we do not have much. We worry
mostly on if the code works as it is supposed to work.
testing and dynamic analysis as well as security regression testing. The interviewees
were asked to talk about how they perform these activities in their agile software devel
opment and how often security testing or security related activities are done in their agile
cycles. An overview of the results is shown in Fig. 6.
example, it is not allowed to go live without testing from external company and that does
not only involve our software but the whole system.
Dynamic analysis was only mentioned by one interviewee as something they have
tried but it was too costly to maintain it. He said: It was taking too much time to keep
it for us. And it requires a lot of manual integration and once that the scenario broke
because of an UI change or something and then we would have again manual eort to
x that. For me, what makes code review and static analysis to work so well is that every
time you compile the code you can see the feedback on it. On the dynamic tests, you cant
do that very easily at that point you have to wait, and there is a lag between you writing
your code and you receiving some feedback on it. Even if it is part of the development
process, it doesnt happen right away. In my experience the further away from your
commit, it less likely that you will either notice or be able to change it.
In most cases security regression testing relies on test automation and on the system
level only tests for critical scenarios are automated, but not a specic regression testing
for security. One interviewee said: So what is working well is, I think our development
processes are well structured and the biggest problem is, that we have frequent changes
of user stories and that is very challenging on the one hand side on the development
process and on the other side testing process. You have to adopt everything. The user
stories are not from our customers, the problem the changing part is more about our
c-level changes, on time this and one time that. So this is very big problem which also
is very big problem for agile software development because it is very big problem.
5 Discussion
Based on the results, we discuss recommendations for practice and research as well as
limitations of this work.
With regard to the security engineering process, it is evident that the teams assume that
developers have some security knowledge, but the issue is that they did not state how
they conduct security engineering processes as well as what they need. For this reason,
there is a demand for better use of guidelines for secure coding and testing practices like
the OWASP guidelines [25]. Moreover, there should be a more systematic approach of
spreading knowledge in security inside the teams. In a recent survey, Oyetoyan et al.
[27] found that the developers condence in their software security knowledge is low,
and therefore more eorts should be spend on getting the level of security knowledge
higher at the companies. This is stronger in agile setting context because there is a strong
dependency on people and not on process and tools. In addition code review and static
analysis are used more and more in software projects, but without specic focus on
security [27]. For this reason, processes of code reviews and static analysis should be
more focused on security.
Even though the teams rely on penetration testing performed by externals, there is a
danger of external penetration testers not having domain knowledge to catch important
How is Security Testing Done in Agile Teams? 213
So far, security testing in agile teams makes little use of security risk assessments,
which typically exist in an implicit or explicit for in other organization units. Risk
assessment can be used to develop risk-based testing approaches [14], which can guide
decisions during testing, and for instance help to select and prioritize security regression
tests [13]. Baca et al. [3] shows that using a risk analysis approach, it s possible to nd
more severe risks, besides, more advanced skills and a deeper awareness of the problems
become available. More research needs to be done in order to understand the best way
to apply risk management in agile projects and especially on security.
6 Conclusion
In this paper, we investigated by a cross-case analysis of four teams, two from Austria
and two from Norway, how security testing is performed in agile teams. We investigated
how the security engineering process is managed/organized in agile teams, how security
testing is performed in each testing phase, and how security testing techniques are
generally used in the secure software development lifecycle.
Although the study is based only on the results of a limited amount of agile teams,
i.e., four, agile teams, we could derive recommendations for research and practice. The
ndings of this research are not surprising, but at the same time are alarming. The lack
of knowledge on security by agile teams in general, the large dependency on incidental
penetration testers, and the ignorance in static testing for security are indicators that
security testing is highly under addressed and that more eorts should be addressed to
security testing in agile teams.
How is Security Testing Done in Agile Teams? 215
In the future, we plan to replicate this study and to develop and evaluate suitable
security testing approaches to support the adoption of security testing in agile teams
through action research studies with industry.
References
1. Arkin, B., Stender, S., McGraw, G.: Software penetration testing. IEEE Secur. Priv. 3(1), 8487
(2005)
2. Austin, A., Williams, L.: One technique is not enough: a comparison of vulnerability discovery
techniques. In: ESEM 2011, pp. 97106 (2011)
3. Baca, D., Boldt, M., Carlsson B., Jacobsson, A.: A novel security-enhanced agile software
development process applied in an industrial setting. In: ARES 2015, pp. 1119 (2015)
4. Beznosov, K., Kruchten, P.: Towards agile security assurance. In: NSPW 2004, pp. 4754
(2004)
5. Camacho, C.R., Marczak, S., Cruzes, D.S.: Agile team members perceptions on non-
functional testing: inuencing factors from an empirical study. In: ARES 2016, pp. 582589
(2016)
6. Chess, B., McGraw, G.: Static analysis for security. IEEE Secur. Priv. 2(6), 7679 (2004)
7. Choliz, J., Vilas, J., Moreira, J.: Independent security testing on agile software development:
a case study in a software company. In: ARES 2015, pp. 522531 (2015)
8. Common Weakness Enumeration (CWE), 5 March, 2017. https://cwe.mitre.org/index.html
9. Crispin, L., Gregory, J.: Agile Testing: A Practical Guide for Testers and Agile Teams.
Addison-Wesley Professional, Boston (2009)
10. Cruzes, D., Dyb, T.: Recommended steps for thematic synthesis in software engineering. In:
ESEM 2011, pp. 275284 (2011)
11. CWE/SANS TOP 25 Most Dangerous Software Errors, 5 March 2017. https://www.sans.org/
top25-software-errors/
12. Erdogan, G., Meland, P.H., Mathieson, D.: Security testing in agile web application
development - a case study using the EAST methodology. In: Sillitti, A., Martin, A., Wang,
X., Whitworth, E. (eds.) XP 2010. LNBIP, vol. 48, pp. 1427. Springer, Heidelberg (2010).
doi:10.1007/978-3-642-13054-0_2
13. Felderer, M., Fourneret, E.: A systematic classication of security regression testing
approaches. Int. J. Soft Tools Technol. Transf. 17(3), 305319 (2015)
14. Felderer, M., Schieferdecker, I.: A taxonomy of risk-based testing. Int. J. Softw. Tools
Technol. Transf. 16(5), 559568 (2014)
15. Felderer, M., Agreiter, B., Breu, R., Armenteros, A.: Security Testing by Telling Test Stories.
Modellierung 161, 195202 (2011)
16. Felderer, M., Bchler, M., Johns, M., Brucker, A.D., Breu, R., Pretschner, A.: Chapter one-
security testing: a survey. Adv. Comput. 101, 151 (2016)
17. Felderer, M., Zech, P., Breu, R., Bchler, M., Pretschner, A.: Model-based security testing: a
taxonomy and systematic classication. Softw. Test. Verication Reliab. 26(2), 119148
(2016)
216 D.S. Cruzes et al.
18. Fitzgerald, B., Stol, K.-J.: Continuous software engineering: a roadmap and agenda. JSS
123, 176189 (2017)
19. Keramati, H., Mirian-Hosseinabadi, S.: Integrating software development security activities
with agile methodologies. In: AICCSA 2008 (2008)
20. Marback, A., Do, H., He, K., Kondamarri, S., Xu, D.: A threat model-based approach to
security testing. Softw. Pract. Experience 43(2), 241258 (2013)
21. McGraw, G., Potter, B.: Software security testing. IEEE Secur. Priv. 2(5), 8185 (2004)
22. Microsoft, Agile Development Using Microsoft Security Development Lifecycle 5 March
2017. http://www.microsoft.com/en-us/sdl/discover/sdlagile.aspx
23. Moe, N.B., Cruzes, D., Dyb, T., Mikkelsen, E.M.: Continuous software testing in a globally
distributed project. In: ICGSE 2015, pp. 130134 (2015)
24. Oueslati, H., Rahman, M.M., Othmane, L., Ghani, I., Arbain, A.F.: Evaluation of the
challenges of developing secure software using the agile approach. Int. J. Secure Softw. Eng.
7, 17 (2016)
25. OWASP Foundation: OWASP Testing Guide v4. 5 March, 2017. https://www.owasp.org/
index.php/OWASP_Testing_Project
26. OWASP Top 10. 5 March 2017. https://www.owasp.org/index.php/Top_10_2013-Top_10
27. Oyetoyan, T.D., Cruzes, D.S., Jaatun, M.G.: An empirical study on the relationship between
software security skills, usage and training needs in agile settings. In: ARES 2016, pp. 548555
(2016)
28. Paul, M.: Ocial (ISC)2 Guide to the CSSLP CBK, 2nd edn. (ISC)2 Press (2014)
29. Peischl, B., Felderer, M., Beer, A.: Testing security requirements with non-experts:
approaches and empirical investigations. In: QRS 2016, pp. 254261 (2016)
30. Rindell, K., Hyrynsalmi, S., Leppnen, V.: Case study of security development in an agile
environment: building identity management for a government agency. In: ARES 2016, pp.
556563 (2016)
31. Sindre, G., Opdahl, A.L.: Eliciting security requirements with misuse cases. Requirements
Eng. 10(1), 3444 (2005)
32. Tappenden, A., et al.: Agile security testing of web-based systems via HTTP unit. In:
Proceedings of Agile Conference. IEEE (2005)
33. Tian-yang, G., Yin-sheng, S., You-yuan, F.: Research on software security testing. World
Acad. Sci. Eng. Technol. 70, 647651 (2010)
34. Trpe, S., Kocksch, L., Poller, A.: Penetration tests a turning point in security practices? In:
Organizational Challenges and Implications in a Software Development Team,
WSIW@SOUPS 2016 (2016)
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
An Assessment of Avionics Software Development
Practice: Justications for an Agile Development Process
1
SINTEF, Trondheim, Norway
[email protected]
2
NLR, Amsterdam, The Netherlands
{gosse.wedzinga,martijn.stuip}@nlr.nl
1 Introduction
Avionic systems play a crucial role aboard modern aircraft. These systems oer pilots
operational support in areas such as communications, navigation, and control of the
aircraft during all phases of ight and in all weather conditions. A system is safety-
critical when its failure could result in loss of life, signicant property damage, or
damage to the environment [11]. An example of a safety-critical avionic system is the
ight control system, which governs the attitude of an aircraft and, as a result, the ight
path it follows. Safety-critical systems are not limited to the avionics domain only,
examples of other important domains include, process control [20], medical equipment
[17], and automotive [9].
Present day avionic systems are increasingly based on computers and more functions
are implemented as software. Certication agencies, like the European Aviation Safety
Agency (EASA), accept the use of RTCA document DO-178 [18] for the development
of avionics software to provide assurance of compliance with airworthiness require
ments. Document DO-178 requires the achievement of many safety objectives, which
is generally costly and time consuming [4, 10].
The avionics industry traditionally uses the V-model, or a variant thereof, as life-
cycle model for software development. This matches DO-178 well when looking at the
life-cycle data items that have to be produced. There are, however, also disadvantages.
For example, no working software is produced until late in the development life-cycle.
Errors detected in this stage can lead to much rework of earlier performed activities, and
increase the risk of budget and schedule overruns [4]. In the same way, changes in
requirements in a late stage can also lead to much rework with similar consequences.
The application of agile methods could be a solution for these problems. The di
culty lies, however, in the fact that the looseness of an agile process does not seem to
be reconcilable with the rigour imposed by DO-178. For example, agile development
considers responding to change more important than following a plan, while DO-178 is
strictly plan driven. The main question addressed by this research is how agile methods
can be adapted to be usable in an avionics development process that is governed by
DO-178.
The following of the paper describes our research method (Sect. 2), an analysis of
DO-178C (Sect. 3), an overview of research and industry experience (Sect. 4), a survey
of present practice (Sect. 5), and an outline of an agile process aligned with DO-178
(Sect. 6). Conclusions and further work are presented in Sect. 7.
2 Research Method
In order to answer our research question, three complimentary activities have been
carried out and used to propose a DO-178-aligned agile process.
(1) An assessment of DO-178 has been performed to indicate how an agile strategy for
meeting the objectives could look like and whether there are potential conicts by
using an agile method (Sect. 3.2). Annex A of DO-178 contains 10 summary tables
with 71 objectives. The information provided for each objective includes: (a) a brief
description, (b) its applicability for each software criticality level, (c) the require
ment for independent achievement, and (d) the data items in which the results are
collected. Each objective has been assessed to determine how the objective can be
met using an agile approach like Scrum and whether there is a need for extensions
beyond what can be considered a plain agile approach. The work performed by
K. Coetzee1 was taken as a starting point.
1
http://www.embeddedfool.net/blog/2015/04/08/a-more-agile-do-178/ (last accessed, Dec. 5,
2016).
An Assessment of Avionics Software Development Practice 219
(2) Relevant literature addressing the application of agile methods in the avionics
domain has been reviewed and main ndings about opportunities and limitations
of using agile methods for development of avionics software were summarized
(Sect. 4). In order to build an understanding of the status of research and reported
industrial experience on the use and eects of agile methods in development of
safety-critical avionics software, a search for relevant literature has been conducted
with Google Scholar. We applied search phrases based on relevant terms such as
agile, avionic, and DO-178. To strengthen the search, we applied snowballing,
meaning that relevant work referenced in identied publications was checked for
relevance and potentially included if the focus and quality was found sucient.
From this search, 11 publications were found that potentially could oer insight
into industrial experience.
(3) A survey was done as an online questionnaire to establish a better overview of the
stateincluding challenges and potential points of improvementof software devel
opment and certication in the avionics industry, and to map the current status of
using or plans to use agile methods. As part of the ASHLEY2 EU-project, we
selected professionals believed to have sucient knowledge about their own organ
ization and about how software is developed and certied. 29 contact persons were
selected, each representing a unique ASHLEY partner organization. 10 contact
persons completed the questionnaire fully or partially.
Our study has some limitations. Firstly, the literature review identied a relatively
low number of relevant studies providing industrial experience. This is however a
valuable insight as it nevertheless summarizes the present state of research within this
specic domain. Secondly, the survey has a relatively low number of respondents. This
is due to resource priorities, but is somewhat compensated by selecting qualied
respondents, each representing a major avionic system provider in Europe. The results
present the most comprehensive overview of this industry so far.
2
Avionics Systems Hosted on a distributed modular electronics Large scale dEmonstrator for
multiple tYpe of aircraft, http://www.ashleyproject.eu (last accessed, Dec. 9 2016).
220 G.K. Hanssen et al.
with loss of aircraft. For lower software levels, the consequence of erroneous software
behaviour gradually reduces to no eect on safety (level E).
DO-178 is a process-based standard relying on evidence that the various activities
associated with software development have been performed successfully. DO-178 cate
gorizes processes into three types: (1) the software planning process, which denes and
coordinates the activities of all processes (2) the software development processes, which
produce the software product, and (3) the integral processes, which ensure the correct
ness of the software product and condence in the software development processes and
their outputs. DO-178 does not address system life-cycle processes, but it does describe
the interaction with system processes, including system safety assessment.
The common background and motivation for nearly all reviewed publications is the need
for improving the software development process, including certication based on
DO-178B/C. The trend seems to be that avionic system complexity is increasing [5].
Requirements tend to be more volatile (even late in the development process), calling
for better approaches to manage requirements and their changes in more exible ways
222 G.K. Hanssen et al.
[5, 15, 16]. We also see an increased customer orientation where industry wants to listen
more closely to customers [1, 3, 16, 21, 22], opening up for a more exible development
process with less emphasis on complete and detailed up-front design. Experience also
indicates that cost and schedule overruns are happening too frequently [1, 4].
One of the main characteristics of the established practice and application of the V-
model is that development of avionics software may be characterized as document driven
and sequential [16]. This may become challenging in cases where requirements change
throughout a development project, even despite there have been made very detailed plans
and design up-front. Change may come from several sources, like design revisions,
review of safety analysis, and verication [16]. Recent gures indicate that requirements
change can be quite extensive, from 25% in typical projects to 35% in large and complex
projects [21], and discovering problems and dealing with changes late in the process
may become very costly [4]. According to Wils et al., agile methods may lower the
change eort as compared to traditional development [22]. This does not mean that up-
front plans are to be avoided, as that would conict seriously with the process objectives
in DO-178. However, the role of agile requirements management is to detail high-level
requirements per iteration, not to create new high-level requirements [5]. New high-
level requirements could be added after the Sprint, as part of the Sprint review. Up-front
requirements may not be complete or even in conict (and need to be rened) [5].
However, there is a potential conict herethat exible requirements management
negatively aects the software verication process. If previously veried components
of a system are changed, the verication results need to be updated. This requires strict
conguration management and relentless testing of the software under development [2].
In general, the consensus seems to be that there is no conict per se for using agile
methods in development of avionics software [2, 3, 13, 21, 22]. In fact XP/Agile is
claimed to be particularly suitable [3] to deal with the increasing complexity and
An Assessment of Avionics Software Development Practice 223
3
Under EASA regulation, Certification Verification Engineers (CVEs) perform equivalent tasks as
DERs.
224 G.K. Hanssen et al.
4.6 Testing
Extensive testing and full traceability is fundamental in development of avionics soft
ware and implementation of all requirements has to be veried by tests [3]. Testing is
also strongly emphasized in agile methods, which focus on test-driven development and
high test-coverage. However, for avionics software development purposes, agile
methods need to extend testing activitiese.g. by having more thorough acceptance
testing (not (only) relying on customer feedback) [2, 16]. Carlson and Turner argue that
incremental testing increases iteration pace and enables issues to be revealed and
dispatched [1]; they also argue that testers should be part of the development team
(provided that any independency requirements are guaranteed).
Experience (e.g. from object-oriented development) shows that uptake and acceptance
of a new practice takes timewe should expect the same for agile methods as well [21,
22]. The avionics domain relies on well-established and well-proven practices and
processes and it is natural to be careful with new ideas, like agile methods, as they may
seem to impose more challenges than benets. However, as this literature in sum shows,
there seems to be a growing interest at least.
The literature review done here has focused explicitly on the avionics domain. However,
we nd that the main challenges and approaches clearly coincide with other domains
where safety-critical software is essential. Other studies show that the same type of
challenges are being addressed, e.g., for process control systems [20], medical equip
ment [17], and automotive [9], and that agile methods may be applicable to other safety
standards and frameworks like IEC 61508, SPICE, and IEC 62304.
A questionnaire was used to gain insights into the organizations proles, their maturity,
their relationship to safety standards and authorities, various life-cycle aspects, and
perceived challenges and problems.
Respondents have a great variety in proles, from developers and testers to managers.
Their organizations also have a wide range of business models, target markets (civil
passenger aircrafts on the top), and type of software applications (real-time embedded
systems being the most common).
An Assessment of Avionics Software Development Practice 225
5.2 Maturity
The avionics domain/industry is mature and professional with established system
providers having decades of experience. There is a wide range of methods for require
ments analysis and architectural and detailed design in use. There is also a wide range
of testing approaches in use (white/black-boxunit/module/system/hardware-in-the-
loop). All practice extensive testing and inspection. Customer involvement is extensive.
There is extensive use of DOORS from IBM Rational for requirements analysis and
management, but half of the respondents also use typical oce tools.
DO-178 is clearly the most relevant standard for all organizations. Applications are
developed at all levels of DO-178, where level C is the most common (60% of the
respondents). Consequently, there is a very high coverage of data items. When asked
about the level of interaction with the external assessor, 50% report that they collaborate
with the assessor in all phases of the project. The rest report a lower level. The average
estimate of costs related to verication and certication (including all reviews and
testing) is 40% of the total project budget.
There are a wide variety of software life-cycle models in use. The V-model is in use in
some form by all organizations, while 25% use incremental/iterative methods in some
form. Customers are involved to a very high degree. Testing (in general) and code
inspection/analysis are used by all respondents. Formal methods are applied by about a
third of the respondents.
As mentioned in Sect. 3.1, document DO-178 [18] does not prescribe a particular soft
ware life-cycle model. This makes it possible to dene software life-cycles, such as,
waterfall, V-model, incremental, and spiral, but also to apply agile methods. Scrum is
considered to be a suitable (non-safety) agile framework that could be used as a baseline.
226 G.K. Hanssen et al.
It is the most commonly used agile framework in the software industry, in general, with
a large number of training resources, industrial experience, and available research liter
ature. Scrum will have to be extended for the development of avionics software to enable
delivery of all required data items in compliance with DO-178.
Scrum phases
Soware
DO-178 processes
development
processes
Sprints
Soware
vericaon
process
During the Preparation phase, planning and architecture activities are performed.
Scrums concept of planning is somewhat broader than that of DO-178. Scrum includes
the denition of the next software release based on the currently known backlog, analysis
of system requirements, and development of user stories. The architecture activities
establish (or update) the software structure. During the Development phase, the func
tionality of a new release is developed as well as tests for new or changed code. The
software is designed, and source code is implemented, integrated, and tested during a
sequence of Sprints. In the Closure phase, the software release is prepared, including
system testing, nal documentation, and release. The sequence of Preparation, Devel
opment, and Closure is repeated until the nal software release has been completed. In
the next sections, the activities in each phase are described in more detail.
During the Preparation phase, the allocated system requirements, or a subset thereof,
are taken and high-level requirements (HLRs) are produced in the form of features that
4
For simplicity, the DO-178 planning process and integral processes other than software veri
cation are not shown in Fig. 1.
An Assessment of Avionics Software Development Practice 227
are further divided into user stories. A software architecture is established (or rened),
which, together with the prioritized HLRs, as part of the product backlog, is provided
to the Development phase. As required by DO-178, outputs of all processes are veried,
e.g., by means of review or analysis. Further details are presented in Table 2.
The planning process of DO-178 is kept outside the agile process. It is responsible
for establishing and updating all plans, including the Software Development Plan, the
Conguration Management Plan, and the Plan for Software Aspects of Certication.
The latter document is used for communication with the authorities.
The Development phase consists of a sequence of Sprints, all with preferably the same
xed duration (from 1 to 4 weeks). The number of Sprints is not xed. The result of a
Sprint is a set of implemented and tested user stories that are integrated into a working
application. In addition, a Sprint produces information for the assessor (the data items).
The application can be demonstrated to stakeholders, but not all features may be
complete and hence it is not releasable. Further details are presented in Table 3.
Agile development promotes the Test-Driven Development (TDD) technique. A
cyclic process is performed whereby rst LLRs are established together with their test
cases. Next, test code is produced and all tests are executed to verify that they fail. Then,
source code is produced that just passes the tests. Finally, the code is refactored and tests
are re-executed. This cycle repeats until all LLRs have been implemented. In practise,
the TDD technique implies that software development activities will be performed in
conjunction with software verication activities.
items required for compliance with DO-178 are produced by other processes than soft
ware development and software verication. For example, the software conguration
process produces the Software Conguration Index and the certication liaison process
produces the Software Accomplishment Summary.
The proposed process aims to address some of the key challenges we identied in the
survey, in particular challenges related to requirements management. Breaking work
down in shorter iterations, including planning (Preparation) and evaluation (Closure)
means that planning may be done using updated information from previous Sprints, and
that each Sprint provides information needed to meet the requirements of DO-178 (in
the form of data items). From related research we know that such a process needs to be
supported by tools to automate test-driven development and documentation creation as
much as possible in order to save time and to ensure quality and consistency [8].
Including agile approaches in the development process for avionics software prom
ises the usually cited benets such as frequent delivery of working software, including
all data items required by DO-178, and the ability to deal with frequent changes in
requirements. There are, however, also a number of potential issues.
Contrary to the waterfall model, or the V-model, HLRs are dened in batches; each
time that the Preparation phase is entered, a sucient number of HLRs are dened for
the subsequent sequence of Sprints. Having no overview of the complete set of HLRs
in an early phase of the development could lead to an inadequate software architecture
that may need drastic (and therefore costly) revision during subsequent Preparation
phases. This means that also agile projects needs to invest in a sucient level of detail
of HLRs and overall system architecture early. An agile process though may create better
opportunities to manage changes when they occur.
An Assessment of Avionics Software Development Practice 229
Another issue is that the denition of derived HLRs late in the development, e.g.,
after several cycles of Preparation, Development, and Closure have taken place, may
have consequences for the safety analysis [21]. For example, if derived HLRs imply
new interfaces that falsify earlier independence claims, a higher software level could be
required, creating additional (verication) work that could have been done more e
ciently when known beforehand.
Acknowledgments. The authors would like to thank the anonymous contributors to the survey
and Rob Udo from NLR for his contributions to this research. Also the insightful comments from
the reviewers are much appreciated. The research leading to these results has received funding
230 G.K. Hanssen et al.
from the European Communitys Seventh Framework Programme FP7/2012-2016 under grant
agreement no. ACP2-GA-2013-605442.
References
1. Carlson, R., Turner, R.: Review of agile case studies for applicability to aircraft systems
integration. Procedia Comput. Sci. 16, 469474 (2013)
2. Cawley, O., Wang, X., Richardson, I.: Lean/Agile software development methodologies in
regulated environments state of the art. In: Abrahamsson, P., Oza, N. (eds.) LESS 2010.
LNBIP, vol. 65, pp. 3136. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16416-3_4
3. Chenu, E.: Agility and lean for avionics. In: Lean, Agile Approach to High-Integrity Software
Conference, Paris (2009)
4. Chenu, E.: Agile and Lean software development for avionic software. Whitepaper, Thales
Avionics (2011)
5. Coe, D.J., Kulick, J.H.: A model-based agile process for DO-178C certication. In:
Proceedings of 2013 World Congress in Computer Science, Computer Engineering, and
Applied Computing, Las Vegas (2013)
6. Dingsyr, T., Nerur, S., Balijepally, V., Moe, N.B.: A decade of agile methodologies: towards
explaining agile software development. J. Syst. Softw. 85(6), 12131221 (2012)
7. Fitzgerald, B., Stol, K.-J., OSullivan, R., OBrien, D.: Scaling agile methods to regulated
environments: an industry case study. In: Proceedings of the 2013 International Conference
on Software Engineering. IEEE Press (2013)
8. Hanssen, Geir K., Haugset, B., Stlhane, T., Myklebust, T., Kulbrandstad, I.: Quality
assurance in scrum applied to safety critical software. In: Sharp, H., Hall, T. (eds.) XP 2016.
LNBIP, vol. 251, pp. 92103. Springer, Cham (2016). doi:10.1007/978-3-319-33515-5_8
9. Hantke, D.: An approach for combining spice and scrum in software development projects.
In: Rout, T., OConnor, R.V., Dorling, A. (eds.) SPICE 2015. CCIS, vol. 526, pp. 233238.
Springer, Cham (2015). doi:10.1007/978-3-319-19860-6_18
10. Hilderman, V.: DO-178B Costs Versus Benets. HighRely Inc., HighRely Whitepaper (2009)
11. Knight, J.C.: Safety critical systems: challenges and directions. In: Proceedings of the 24rd
International Conference on Software Engineering, ICSE 2002. IEEE (2002)
12. Lambourg, J., Comar, C.: Methodology: agile development of safety critical systems.
OpenCoss Framework 7 project (2012)
13. Meunier, V., Destouesse, M., Cros, T.: How to take credit of agile principles within a
certication context? (2008) (Presentation)
14. Myklebust, T., Stlhane, T., Hanssen, G., Wien, T., Haugset, B.: Scrum, documentation and
the IEC 61508-3: 2010 software standard. In: International Conference on Probabilistic Safety
Assesment and Management (PSAM). PSAM, Hawaii (2014)
15. Paige, Richard F., Charalambous, R., Ge, X., Brooke, Phillip J.: Towards agile engineering
of high-integrity systems. In: Harrison, Michael D., Sujan, M.-A. (eds.) SAFECOMP 2008.
LNCS, vol. 5219, pp. 3043. Springer, Heidelberg (2008). doi:10.1007/978-3-540-87698-4_6
16. Paige, R.F., Galloway, A., Charalambous, R., Ge, X.: High-integrity agile processes for the
development of safety critical software. Int. J. Crit. Comput.-Based Syst. 2(2), 181216 (2011)
17. Rottier, P.A., Rodrigues, V: Agile development in a medical device company. In: AGILE
2008 Conference (2008)
18. RTCA, DO-178C: Software considerations in airborne systems and equipment certication
(2011)
An Assessment of Avionics Software Development Practice 231
19. Schwaber K.: SCRUM development process. In: Sutherland, J., Casanave, C., Miller, J., Patel,
P., Hollowell, G. (eds.) Business Object Design and Implementation, pp. 117134. Springer,
London (1997). ISBN 978-3-540-76096-2
20. Stlhane, T., Myklebust, T., Hanssen, G.K.: The application of Scrum IEC 61508 certiable
software. In Proceedings of ESREL, Helsinki, Finland
21. VanderLeest, S.H., Buter, A.: Escape the waterfall: agile for aerospace. In: Proceedings of
IEEE/AIAA 28th Digital Avionics Systems Conference, DASC 2009, p. 6, (6D3). IEEE
(2009). doi:10.1109/DASC.2009.5347438
22. Wils, A., Baelen, S., Holvoet, T., Vlaminck, K.: Agility in the avionics software world. In:
Abrahamsson, P., Marchesi, M., Succi, G. (eds.) XP 2006. LNCS, vol. 4044, pp. 123132.
Springer, Heidelberg (2006). doi:10.1007/11774129_13
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Short Research Papers
Inoculating an Agile Company with User-Centred Design:
An Empirical Study
1
Department of Information Engineering and Computer Science, University of Trento,
via Sommarive 9, 38123 Trento, Italy
{Silvia.bordin,antonella.deangeli}@unitn.it
2
School of Computer Science, University of Lincoln, Brayford Pool, Lincoln, LN6 7TS, UK
1 Introduction
Still in 2013, Moreno et al. stated that the integration of usability engineering methods
into software development life cycles is seldom realized in industrial settings [11]. One
reason for this is the sheer lack of usability specialists in the industry [5], which results
in insucient knowledge about the work of the end user [8] and in the so-called devel
oper mindset [1], overly focused on technological aspects. Another issue relates to the
limited suitability of most usability and UX methods for the Agile setting [15], with
several authors [2, 4, 7] reporting a particular scarcity of lightweight practices for user
involvement in development projects despite the benets induced by the ability to
perform usability and UX work in an agile context [4, 15]. In addition, even companies
realising a need to increase the usability of their products may be unable to invest in the
resources needed to achieve this [5], and this is particularly true in the case of small
enterprises [1, 5].
To facilitate the adoption of user-centred design (UCD) in small Agile companies,
we curated the identication of a small set of design techniques; we then planned an
action research intervention for presenting them to developers and assessing the impact
of these techniques on their working practices. A rst iteration has been reported in [3],
while a second iteration is reported here. Our results suggest that even such a lightweight
approach may support the enactment of a user-centred mindset. However, the impact of
the intervention has been limited by the relationship with a dominant customer resistant
both to Agile and UCD: we conclude by pointing out the need both for researchers and
2 Related Work
The term user-centred design denotes a broad set of techniques, methods, procedures
and processes that places the user at the centre of an iterative design process [17]. The
acknowledged benets of involving users in systems design [e.g. 1] include improved
quality and acceptance of the system, and cost saving [12]. Although promising to
support the execution of software development projects targeting the delivery of useful
and usable software [4], the integration of UCD and Agile development is however not
trivial to achieve [e.g. 2] and limited empirical research exists on the topic [4, 7]. One
of the ways to enact this integration, particularly in the limited-resource context of small
enterprises, is to use the software developers as a UX work resource by enhancing their
qualications within the eld of usability and UX [14], or in other words to train
developers on usability techniques. Advantages include the potential of easing prob
lems regarding the lack of usability specialists in the industry [5]; the chance for small
companies to lessen the need to sta usability specialists, which cannot be funded [5];
a good t with the Agile feature of team members being able to perform every given
work task [13]. This is where we place our contribution.
We also point out, however, that also the customer needs to be supportive of the inte
gration of UCD and Agile, allowing for a suitable design to be researched [2] and for
adequate access to users. Scepticism is more frequent in large customers [10] and may
result in a lack of customer engagement, which can be a big challenge for development teams
[10] especially given the relevance placed on the customer by the Agile philosophy. The
solution may require the capability of demonstrating business value, management support,
and nurturing a change of mindset and culture in the customer [9]: how to effectively
communicate this has however remained largely an open point to date.
The activities described here were carried out in the Company, a branch of a large
Italian IT group providing cyber security and network conguration services to the
largest telecommunication operators of the country. The Company had long adopted
Agile successfully, and had one main customer, a large telecommunication provider that
we will call the Telco. Being the Telco a much larger venture, the power relationship
between the two parties was naturally asymmetrical, although generally warm.
However, the Telco is also a highly structured corporate, whose constrained workow
prevents a full implementation of Agile in the projects followed by the Company, and
where some representatives seem to oppose contacts between the Company and nal
users of their software. While trying to reduce their dependency from the Telco, the
Company realised that they were lacking sucient skills in usability and interface
design, and that this could be an issue in proposing their products to fresh customers;
therefore, they asked for our help.
Inoculating an Agile Company with User-Centred Design 237
3.1 Method
We followed the Cooperative Method Development approach, a domain specic adap
tation of action research that moves from an ethnographically-inspired understanding
of the existing practice of software development in concrete industrial settings and
aims at improving such practice by cooperating with practitioners [6].
Design techniques presented to developers were chosen to overcome potential
communication breakdowns in the integration of UCD and Agile [2], and to reect
surveys on the usability techniques most used in industry [e.g. 14], particularly
accounting for their feasibility of integration into an Agile environment and of teaching
non-UX professionals. These methods include low-delity prototyping, usability
testing, personas, expert evaluations, and user task analyses. We remark that this inter
vention is meant for supporting developers during ongoing day-to-day product devel
opment [13] and that we do not discard the need for a usability expert [8].
The rst author interviewed developers in June 2016 about their perception of the
working environment, their current working practices, and their attitude towards UCD-
related themes. The interview study lasted two days and involved 7 people. For what
concerns the organisational setting, the Company employs about 20 people, mostly
young graduate developers, and exhibits a pretty at hierarchy. The environment is
predominantly technical, yet with a positive and rather curious attitude towards UCD-
related themes, to the point that employees explicitly argued in favour of the collabo
ration with our University in front of the group managers, who tend to adopt a more
command and control approach instead.
The Company proposed to focus on what we will call the Software (a desktop appli
cation used to congure and monitor networking devices for corporate customers of
Telco) as a running example during the intervention, for a variety of reasons: it is entirely
developed within the Company for Telco; it has evolved over several years as the juxta
position of dierent parts, and would now need a refactoring; being one of the main
projects of the Company, it is suciently well known to all employees.
3.3 Implementation
In August 2016 a series of four workshops, each lasting a whole day, was carried out at
the Company site. The agenda of workshops is outlined in Fig. 1 and was grounded on
dierent elements: on a practical level, we accounted for the results of preliminary
interviews and for the feedback from our previous iteration of a similar series of work
shops [3]; on a more theoretical level, we accounted for the stages of the traditional UCD
lifecycle, and the set of focal points to consider in the integration of UCD and Agile
development [2], namely the extent of user and customer involvement, the role of docu
mentation, the synchronisation of design and development iterations, and ownership
over UX tasks.
238 S. Bordin and A. De Angeli
Three developers (who will be referenced as D1 to D3) were appointed to attend the
whole workshop cycle, led by the rst author in the role of a facilitator. All of them
expressed great interest in user-related themes: D1 was self-taught on UCD techniques,
while D2 and D3 were not familiar at all with them.
One doesnt even know where to start from, without knowing any basics (D3)
More than once [design choices] have been a stab in the dark (D1)
If theres one skill in the Company we are really lacking it is interface design we try to do
what we can (D2)
Finally, the dierent purposes of low- and high-delity prototypes and how to
communicate them were illustrated, since D1 repeatedly pointed out that Telco would
not accept discussing over a non serious low-delity prototype and that previous
attempts at doing this had failed. In addition, a session of user testing was simulated on
the ERP system in use at the Company for demonstrative purposes. After the end of the
intervention, participants organised a wrap-up session and, a few weeks later, a dissem
ination seminar for their colleagues.
3.4 Evaluation
In December 2016, an external researcher interviewed participants about what they
remembered of proposed techniques after a few months and whether they felt that their
approach to design and development had changed. Interviews were loosely transcribed
and thematically analysed. Overall, participants positively welcomed our intervention,
regarding it as a chance of professional growth. They appreciated having learnt concrete
techniques, and remembered them correctly:
I enjoyed wireframing a lot. It really gave me a dierent point of view (D1)
We should organise the info with wireframes, the poor user will be scared (D3)
In addition, they expressed appreciation also for the presence of a trainer, reiterating
the eectiveness of scaolding [19]:
In terms of common sense, this is what every developer should do. Yet having someone
explaining you the steps to follow is something dierent (D2)
Now I have a method(D3)
The training seems in fact to have contributed to enacting a shift from a technology-
focused mindset to a more user-centred one:
Before we used to say [the user] will have to get over it The interface as the means to
achieve an objective from the users point of view The goal is to remove the need for a manual
even for us as developers! (D3)
Well surely follow this approach rather than bah, lets just do something I have been
assigned to a project where the interface is set in stone [by Telco], BUT [developers and
management] all agree that we are going to apply UCD techniques at the rst suitable occasion
(D2)
Participants also commented on the positive attitude shown by the rest of the
Company at the end of the dissemination seminar they led:
We reported to the rest of the Company and the reaction was lets hope we will soon have
projects where to apply this approach (D2)
240 S. Bordin and A. De Angeli
Despite the satisfaction and interest shown, participants did not believe the approach
would prove fully applicable in the interaction with their customer due to the strong
developer mindset [1] of Telcos representatives, even harder to overcome due to the
unbalanced power relationship with the Company:
Personas cannot be used with Telco: our customer is very much feature-oriented and in a
dominant position [] it does not want to see the prototype, it wants to see the product Some
techniques will be more applicable than others, because it is impossible to access users [] We
have no [user] feedback. Clearly we miss it (D1)
I guess the customer would be disappointed by storyboards on paper [] it may think we did
not put too much eort into such a proposal (D3)
4 Discussion
References
1. Ardito, C., Buono, P., Caivano, D., Costabile, M.F., Lanzilotti, R.: Investigating and
promoting UX practice in industry: an experimental study. Int. J. Hum. Comput. Stud. 72(6),
542551 (2014)
2. Bordin, S., De Angeli, A.: Focal points for a more user-centred agile development. In: Sharp,
H., Hall, T. (eds.) XP 2016. LNBIP, vol. 251, pp. 315. Springer, Cham (2016). doi:
10.1007/978-3-319-33515-5_1
3. Bordin, S., De Angeli, A.: Supporting cooperative work by integrating user-centred design
and agile development. Submitted at the European Conference on Computer-Supported
Cooperative Work (2016)
4. Brhel, M., Meth, H., Maedche, A., Werder, K.: Exploring principles of user-centered agile
software development: a literature review. Inf. Softw. Technol. 61, 163181 (2015)
5. Bruun, A.: Training software developers in usability engineering: a literature review.
In: Proceedings of the 6th Nordic Conference on Human-Computer Interaction: Extending
Boundaries. ACM (2010)
6. Dittrich, Y., Rnkk, K., Eriksson, J., Hansson, C., Lindeberg, O.: Cooperative method
development. Empirical Softw. Eng. 13(3), 231260 (2008)
7. Dyb, T., Dingsyr, T.: Empirical studies of agile software development: a systematic review.
Inf. Softw. Technol. 50(9), 833859 (2008)
8. Eriksson, E., Cajander, ., Gulliksen, J.: Hello world! experiencing usability methods
without usability expertise. In: Gross, T., Gulliksen, J., Kotz, P., Oestreicher, L., Palanque,
P., Prates, R.O., Winckler, M. (eds.) INTERACT 2009. LNCS, vol. 5727, pp. 550565.
Springer, Heidelberg (2009). doi:10.1007/978-3-642-03658-3_60
9. Gregory, P., Barroca, L., Sharp, H., Deshpande, A., Taylor, K.: The challenges that challenge:
engaging with agile practitioners concerns. Inf. Softw. Technol. 77, 92104 (2016)
10. Hoda, R., Noble, J., Marshall, S.: The impact of inadequate customer collaboration on self-
organizing agile teams. Inf. Softw. Technol. 53(5), 521534 (2011)
11. Moreno, A.M., Seah, A., Capilla, R., Sanchez-Segura, M.-I.: HCI practices for building
usable software. Computer 46(4), 100102 (2013)
12. Nielsen, J.: Usability Engineering. Morgan Kaufmann, San Francisco (1994)
13. vad, T., Bornoe, N., Larsen, L.B., Stage, J.: Teaching software developers to perform UX
tasks. In: Proceedings of the Annual Meeting of the Australian Special Interest Group for
Computer Human Interaction, pp. 397406. ACM (2015)
14. vad, T., Larsen, L.B.: The prevalence of UX design in agile development processes in
industry. In: Agile Conference (AGILE), pp. 4049. IEEE (2015)
15. vad, T., Larsen, L.B.: How to reduce the UX bottlenecktrain your software developers.
Behav. Inf. Technol. 35(12), 10801090 (2016)
16. Pikkarainen, M., Haikara, J., Salo, O., Abrahamsson, P., Still, J.: The impact of agile practices
on communication in software development. Empirical Softw. Eng. 13(3), 303337 (2008)
17. Rogers, Y., Sharp, H., Preece, J.: Interaction Design: Beyond Human-Computer Interaction.
John Wiley & Sons, Hoboken (2011)
18. The Standish Group CHAOS Report (2014). https://www.projectsmart.co.uk/white-papers/
chaos-report.pdf
19. Vygotsky, L.S.: Mind in Society: The Development of Higher Psychological Processes.
Harvard University Press, Cambridge (1980)
242 S. Bordin and A. De Angeli
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
On the Usage and Benets of Agile Methods & Practices
A Case Study at Bosch Chassis Systems Control
1
Fraunhofer Institute for Experimental Software Engineering, Fraunhofer-Platz 1,
67663 Kaiserslautern, Germany
[email protected]
2
Bosch Chassis Systems Control, Robert-Bosch-Allee 1, 74232 Abstatt, Germany
[email protected]
Abstract. Since software became a major part of the car, we were interested in
identifying which agile practices are used and adapted at Bosch automotive.
Therefore, we conducted a multi-case study with nine interviews from ve Bosch
projects. Our results showed a strong focus on Scrum. Most of the Scrum practices
are adapted due to the specic project context. Practices from other agile methods,
e.g. XP, are used and adapted as well. We further collected the benets of the
practices, most often resulting in improved transparency and planning. The results
are used to support automotive projects in selecting and applying agile practices
according to their specic process improvement goals.
1 Introduction
The division CC is part of the business sector Mobility Solutions of the Bosch Group.
The business sector Mobility Solution generated sales of 41.7 billion euros in 2015
(Bosch Group in total: 70.6 billion euros) which makes the Bosch Group to one of the
worlds largest automotive suppliers. The division CC develops and manufactures inno
vative components, functions and systems that are designed to make driving a safe and
comfortable experience. The projects of this study are developing systems for (highly)
automated driving, e.g. a highway pilot.
3 Study Design
Research Questions. Our objective is to better understand the usage, reasons and
adaptions as well as benets of agile methods and practices within Bosch CC. Thus, we
ended up with the following research questions: RQ1 - Which agile elements (incl. agile
methods and agile practices [3]) are used? RQ2 - How is the usage of the agile practice
deviating from the textbooks? RQ3 - What are the benets of the agile practices?
Case and Subject Selection. Possible cases (Bosch CC projects) and subjects (inter
viewees) were identied by Bosch based on the organizational scope and their usage of
agility. The latter was mandatory for participation. We identied 15 candidates repre
senting ve projects. Nine of the 15 candidates participated, covering all ve projects.
4 Results
We covered dierent team sizes and developed functions and considered dierent roles
of the interviewees: group leaders, department leaders, project leaders/managers (cf.
Table 1). Two participants performed the Scrum Master role.
Four Agile Methods were used by the projects: Scrum (n = 4 projects), Flow (n = 2),
iPeP (n = 1), and SAFe (n = 1). The practices that were used in all ve projects belong
to Scrum, namely Sprint, Backlog, Sprint Planning, and Daily Stand-Ups, although one
On the Usage and Benets of Agile Methods & Practices 245
project reported that it is not using Scrum. The practices that were used in most projects
were Sprint Review, Sprint Retrospective, Burndown-charts, Denition of Done, Scrum
Master, and Product Owner (PO) (all Scrum), and User Stories and Epics (both XP).
Continuous Integration, Release Planning and Scrum-of-Scrums completed the set. The
practices that were used in few projects were: Planning Poker and Pair Programming
(both XP), 80%-rule and Pull-system (both Lean/Flow), and Backlog Grooming
(Scrum). In Table 2, we show the use of agile practices.
Table 2. Benets of used agile practices on goals (numbers indicate how many projects
mentioned a benet)
# adressed benefits
understandability
risk management
# using projects
communication
time-to-market
structuredness
transparency
satisfaction
feedback
planning
focusing
Agile
Practice
Daily Stand-Up 0 0 3 5 0 0 0 0 0 2 0 0 3 4
Sprint 0 0 0 2 0 0 0 1 2 1 0 1 5 5
Sprint Review 1 0 2 1 0 0 0 0 0 1 0 0 4 4
Retrospective 0 1 0 0 1 1 0 0 0 0 0 0 3 4
Sprint Planning 0 0 0 0 0 1 0 0 0 4 0 1 3 5
Backlog 1 0 0 2 0 0 0 0 1 1 0 0 4 5
Burndown-Charts 3 1 4
Scrum Master 0 0 0 0 0 1 1 0 0 0 0 0 2 4
Product Owner 0 0 0 1 0 0 1 0 0 1 0 0 3 4
80%-Rule 1 2 2 3 2
Planning Poker 1 2 2 1
User Stories 1 1 4
Epics 3 1 3
Cont. Integration 2 1 2 3
Scrum-of-Scrums 4 1 1 1 4 3
# practices 2 1 3 8 1 3 3 2 4 10 1 3
246 P. Diebold and U. Mayer
responsibility regarding the dierent functions was clear such that it was obvious who
is going to pull what. Thus, sometimes one team member just assigned the tasks.
Deviations of Agile Practices. A prior study on Scrum variations [1] showed similar
patterns, with the Scrum Master and PO given to people already owing a role, e.g.
developer or team lead. However, within our cases most of the Scrum roles were staed.
Considering the 1530 min of the Daily Stand-Ups, this timeframe is exceeded by some
cases and extended up to one hour. The frequency deviation of the Stand-Up is also
248 P. Diebold and U. Mayer
common [1]. For the sprint length variance from two to four weeks could be conrmed.
Only one project reasonably decided to have four weeks due to synchronizations of
teams and disciplines such as hardware and software.
Benets of Agile Practices. Considering the benets reported by [12], we see some
similarities: The benets increased team productivity, improved project visibility,
increased team moral/motivation, better delivery predictability, and reduced project
risk can directly be mapped to the ones reported to us. In contrast, the benets dealing
with engineering and quality, such as enhancing software quality, software maintaina
bility, or improving engineering discipline, were not mentioned within our interviews.
Compared to [9], ve of nine benets were also mentioned by our participants: trans
parency, customer orientation, timing, teamwork, and employee motivation. The results
of [9] (similar to [12]) additionally showed quality as highly impacted, not indicated by
our results.
Besides these studies, there are some practices studied in detail with their dierent
impacts, e.g. User Stories [4], Planning Poker [5] or Pair Programming [7]. Furthermore,
some studies analyzed which agile practice inuence one specic benet, e.g. [10]
dealing with communication: Daily Stand-Ups improve communication and transpar
ency, due to keeping developers, project leaders, and customers aware of the status.
Iteration Planning created awareness of the project plan and iteration goals, whereas the
Retrospective was a good way for working on process improvement. Even if we consider
the benets on a more ne-granular level, the results conrm each other.
An interview guideline and data collection sheet eased aggregation and comparisons.
The guideline reduced the risk of misinterpretation and increased the objectivity. We
could not recognize any misunderstanding, since all interview participants were aware
of the common concepts, methods and practices. Additionally, we experienced that
assuring anonymity led the interviewees to answer openly. Regarding the interviewed
people within a project, we selected independent ones (not from the same team). Thus,
our data is a representative sample of agile development in the area of autonomous
driving. Within the data analysis, the aggregation of interview data within one project
was the most dicult and error-prone, because of considering dierent project roles and
teams with their viewpoints into one data set. The IESE and Bosch team discussed the
aggregated results involving colleagues for an external point of view. We provided a
summary report of the results via e-mail and gathered the feedback. We also performed
a presentation and discussion session with all participants. That our qualitative results
from Bosch CC are in line with most of the related work is another strong indicator for
their validity.
On the Usage and Benets of Agile Methods & Practices 249
Within this paper, we present the results of an interview series covering ve dierent
automotive projects at Bosch CC with overall nine interviews on the topic of usage,
deviation, and benets of single agile practices.
The usage of agile methods as well as the underlying agile practices shows a similar
picture as common studies. The most commonly used method is Scrum, which is adapted
and extended by other practices. There seem to be similar variations of agile practices
in the automotive domain as in information systems. Our study could conrm some of
the benets mentioned by other agile surveys, and could provide further answers to the
question, which agile practice provides what specic benets, and furthermore, that agile
practices overall are most benecial for transparency and planning.
Within future work, we intend to use the elicited data to instantiate the Agile Capa
bility Analysis [2] for Bosch CC, a goal-oriented SPI approach using agile practices.
The next step will be the integration of A-SPICE and connection to the agile practices.
Acknowledgements. We thank all interviewees for their time, participation, and openness. We
also thank A. Schmitt, T. Zehler, S. Theobald and Dr. P. Frhlich for providing feedback.
References
1. Diebold, P., Ostberg, J.-P., Wagner, S., Zendler, U.: What do practitioners vary in using
scrum? In: Lassenius, C., Dingsyr, T., Paasivaara, M. (eds.) XP 2015. LNBIP, vol. 212, pp.
4051. Springer, Cham (2015). doi:10.1007/978-3-319-18612-2_4
2. Diebold, P., Zehler. T.: The agile practice impact model. In: Proceedings of ICSSP 2015.
ACM (2015)
3. Diebold, P., Zehler, T.: The right degree of agility in rich processes. In: Kuhrmann, M., Mnch,
J., Richardson, I., Rausch, A., Zhang, H. (eds.) Managing Software Process Evolution, pp.
1537. Springer, Cham (2016). doi:10.1007/978-3-319-31545-4_2
4. OhEocha, C., Conboy, K.: The role of the user story agile practice in innovation. In:
Abrahamsson, P., Oza, N. (eds.) LESS 2010. LNBIP, vol. 65, pp. 2030. Springer, Heidelberg
(2010). doi:10.1007/978-3-642-16416-3_3
5. Haugen, N.: An empirical study of using planning poker for user story estimation. In:
Proceedings of AGILE 2006, pp. 2334. IEEE (2006)
6. Hirz, M., Dietrich, W., Gfrerrer, A., Lang, J.: Overview of virtual product development. In:
Hirz, M., Dietrich, W., Gfrerrer, A., Lang, J. (eds.) Integrated Computer-Aided Design in
Automotive Development, pp. 2550. Springer, Heidelberg (2013)
7. Hulkko, H., Abrahamsson, P.: A multiple case study on the impact of pair programming on
product quality. In: Proceedings of ICSE 2005, pp 495504. ACM (2005)
8. Kugler Maag CIE. Agile in Automotive State of the Practice (2015)
9. Kumos, A.: Status Quo Agile 2014. University of Applied Science Koblenz (2014)
10. Pikkarainen, M., Haikara, J., Salo, O., Abrahamson, P., Still, J.: The impact of agile practices
on communication in SW development. ESEJ 13(3), 303337 (2008). Springer
11. Shen, M., Yang, W., Rong, G., Shao, D.: Applying agile methods to embedded software
development: a systematic review. In: Proceedings of SEES 2012, pp. 3036. IEEE (2012)
12. VersionOne: The 10th annual State of Agile Report (2016)
250 P. Diebold and U. Mayer
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Checklists to Support Test Charter Design
in Exploratory Testing
1 Introduction
James Bach denes exploratory testing as simultaneous learning, test design and
test execution [3]. Existing literature reects that ET is widely used for testing
complex systems as well and is perceived to be exible in all types of test levels,
activities and phases [7,13]. In the context of quality, ET has amassed a good
amount of evidence on overall defect detection eectiveness, cost eectiveness
and high performance for detecting critical defects [1,911,13]. Session-based test
management (SBTM) is an enhancement to ET. SBTM incorporates planning,
structuring, guiding and tracking the test eort with good tool support when
conducting ET [4].
A test charter is a clear mission for the test session and a high level plan that
determines what should be tested, how it should be tested and the associated
limitations. A tester interacts with the product to accomplish a test mission or
charter and further reports the results [3]. The charter does not pre-specify the
detailed test cases which are executed in each session. But, a total set of charters
for an entire project generally include everything that is reasonably testable. The
metrics gathered during the session are used to track down the testing process
more closely and to make instant reports to management [11]. Specic charters
demand more eort in their design whilst providing better focus. A test session
often begins with a charter which forms the rst part of the scannable session
c The Author(s) 2017
H. Baumeister et al. (Eds.): XP 2017, LNBIP 283, pp. 251258, 2017.
DOI: 10.1007/978-3-319-57633-6 17
252 A.N. Ghazi et al.
sheet or the reviewable result. Normally, a test charter includes the mission
statement and the areas to be tested in its design.
Overall, the empirical evidence of how test charters are designed and how
to achieve high quality test charters are designed are scarce. High quality test
charters are useful, accurate, ecient, adaptable, clear, usable, compliant, and
feasible [4]. In this study we make a rst step towards understanding test charter
design by exploring the factors inuencing the design choices, and the elements
that could be included in a test charter. This provides the foundation for fur-
ther studies investigating which elements actually lead to the quality criteria
described by Bach [4]. We make the following contributions:
C1: Identify and categorize the inuential factors that practitioners consider
when designing test charters.
C2: Identify and categorize the possible elements of a test charter.
The remainder of the paper is structured as follows: Sect. 2 presents the
related work. Section 3 outlines the research method, followed by the results in
Sect. 4. Finally, in Sect. 5, we present the conclusions of this study.
2 Related Work
Test charters, which are an SBTM element plays a major role in guiding inexpe-
rienced testers. The charter is a test plan which is usually generated from a test
strategy. The charters include ideas that guide the testers as they test. These
ideas are partially documented and are subject to change as the project evolves
[4]. SBTM echoes the actions of testers who are well experienced in testing and
charters play a key role in guiding the inexperienced testers by providing them
with details regarding the aspects and actions involved in the particular test
session [2].
The context of the test session plays a great role in determining the design
of test plan or the charter [4]. Key steps to achieve context awareness are, for
example, understanding the project members and the way they are aected by
the charter, and understanding work constraints and resources. When designing
charters Bach [4] formulated specic goals, in particular nding signicant tests
quicker, improving quality, and increasing testing eciency.
The sources that inspire the design of test charters are manifold
(cf. [4,8,12]), such as risks, product analysis, requirements, and questions raised
by stakeholders. Mission statements, test priorities, risk areas, test logistics, and
how to test are example elements of a test charter design identied from the lit-
erature review and their description [1,4,6]. Our study will further complement
the contents of test charters as they are used in practice.
3 Research Method
Study Purpose and Research Questions: The goal of this study is to investigate
the design of test charters and the factors inuencing the design of these charters
and their contents.
Checklists to Support Test Charter Design in Exploratory Testing 253
RQ1: What are the factors influencing the design of test charters? The
factors provide the contextual information that is important to consider
when designing test charters, and complements the research on context aware
testing [4].
RQ2: What do practitioners include in their test charters? The checklist of
contents supports practitioners to make informed decisions about which contents
to include without overlooking relevant ones.
Interviews: Interviews (three face-to-face and six through Skype) were con-
ducted with a total of nine industry practitioners through convenience sampling
combined with choosing experienced subjects who are visible in the communities
discussing ET (see Table 1).
include in test charters is the rst step needed. To reduce the threat multiple
interviews have been used. Using a systematic approach to data analysis (the-
matic analysis) also aids in reducing this threat.
4 Results
RQ1: What are the factors influencing the design of test charters? Based on
interviews with test practitioners, 30 dierent factors have been identied (see
Table 2). The table provides the name of the factors as well as a short description
of what the factor means.
We categorized the factors and identied the following emerging categories,
namely:
Customer and requirements factors: These factors characterize the customer
and their requirements. They include: F01: Client Requirements, F10: Busi-
ness Usecase, F15: Quality requirements, F27: Client location, and F30: User
Journey Map.
Process factors: Process factors characterize the context of the testing in
regard to the development process. They include: F21: Process Maturity Level
and F25: SDLC Phase.
Product factors: Product factors describe the attributes of the product under
test, they include: F08: Functional ows, F09: Product Purpose, F14: Product
Characteristics, F19: General Software design, F20: System Architecture, F22:
Product Design Eects, and F28: Heterogeneous Dimensions.
Project management factors: These factors concern the planning and lead-
ership aspects of the project in which the testing takes place. They include:
F05: Timeframe, F06: Project Purpose, F12: Eort estimation, F17: Test Team
Communication, F18: Project Plan, and F29: Project Revenue.
Testing: Testing factors include contextual information relevant for the plan-
ning, design and execution of the tests. They include: F02: Test Strategy,
F03: Knowledge of Previous Bugs, F04: Risk Areas, F07: Test Function Com-
plexity, F11: Test Equipment Availability, F13: Test Planning Checklist, F16:
Test coverage areas, F23: Feedback and Consolidation, F24: Session Notes,
and F26: Tester.
RQ2: What do practitioners include in their test charters? The interviews
revealed 35 dierent contents that may be included in a test charter. Table 3
states the content types and their descriptions.
Similar to the factors we categorized the contents as well. Seven cate-
gories have been identied, namely testing scope, testing goals, test manage-
ment, infrastructure, historical information, product-related information, and
constraints, risks and issues.
Testing scope: The testing scope describes what to focus the testing on, be
it the parts of the system or the level of the testing. It may also describe
what not to focus on and set the priorities. It includes: C02: Test Focus, C03:
Test Level, C04: Test Techniques, C10: Exit Criteria, C14: Specic Areas of
Interest, C19: Priorities, C28: Coverage, and C33: Omitted Things.
Checklists to Support Test Charter Design in Exploratory Testing 255
Testing goals: The testing goals set the mission and purpose of the test session.
They include: C07: Purpose, C22: Mission Statement, and C24: Target.
Test management: Test management is concerned with the planning, resource
management, and the denition of how to record the tests. Test management
includes: C12: Test Logs, C18: Information Sources, C21: Test Results Loca-
tion, C25: Reporting, C26: Models and Visualizations, C31: Logistics, C32:
Stakeholders, and C34: Diculties.
Infrastructure: Infrastructure comprises of tools and setups needed to conduct
the testing. It includes: C01: Test Setup and C23: Existing Tools.
Historical information: As exploratory testing focuses on learning, past infor-
mation may be of importance. Thus, the historical information includes: C06:
Bugs Found, C16: Compatibility Issues, C17: Current Open Questions, and
C27: General Fault.
Product-related information: Here contextual product information is captured,
including: C08: System Denition, C13: Data and Functional Flows, and C35:
System Architecture.
Constraints, risks and issues: Constraints, risks and issues to testing comprise
of the items: C05: Risks, C15: Issues, and C29: Engineering Standards.
5 Conclusion
In this study two checklists for test charter design were developed. The checklists
were based on nine interviews. The interviews were utilized to gather a check-
list for factors inuencing test charter design and one to describe the possible
contents of test charters. Overall, 30 factors and 35 content types have been
identied and categorized.
The factors may be used in a similar manner and should be used to question
the design choices of the test charter. For example:
Should the test focus of the charter be inuenced by previous bugs (F03)?
How/why?
Are the products goals (F09) reected in the charter?
Is it possible to achieve the test charter mission in the given time for the test
session (F12)?
etc.
With regard to the content a wide range of possible contents to be included
have been presented. For example, only stating the testing goals (C22) provides
much room for exploration, while adding the techniques to be used (C04) may
constrain the tester. Thus, the more information is included in the test charter
the exploration space is reduced. Thus, when deciding what to include from the
checklist (Table 3) the possibility to explore should be taken into consideration.
In future work we need to empirically understand (a) which are the most
inuential factors and how they aect the test charter design, and (b) which of
the identied contents should be included to make exploratory testing eective
and ecient.
258 A.N. Ghazi et al.
References
1. Afzal, W., Ghazi, A.N., Itkonen, J., Torkar, R., Andrews, A., Bhatti, K.: An exper-
iment on the eectiveness and eciency of exploratory testing. Empirical Softw.
Eng. 20(3), 844878 (2015)
2. Bach, J.: Session-based test management. Softw. Testing Qual. Eng. Mag. 2(6)
(2000)
3. Bach, J.: Exploratory testing explained (2003)
4. Bach, J., Bolton, M.: Rapid software testing. Version (1.3. 2) (2007). www.
satiscc.com
5. Christ, R.E.: Review and analysis of color coding research for visual displays. Hum.
Factors J. Hum. Factors Ergonomics Soc. 17(6), 542570 (1975)
6. Ghazi, A.N.: Testing of heterogeneous systems. Blekinge Inst. Technol. Licentiate
Dissertion Ser. 2014(03), 1153 (2014)
7. Ghazi, A.N., Petersen, K., B orstler, J.: Heterogeneous systems testing tech-
niques: an exploratory survey. In: Winkler, D., Bi, S., Bergsmann, J. (eds.)
SWQD 2015. LNBIP, vol. 200, pp. 6785. Springer, Cham (2015). doi:10.1007/
978-3-319-13251-8 5
8. Hendrickson, E.: Explore it! The Pragmatic Programmers (2014)
9. Itkonen, J., et al.: Empirical studies on exploratory software testing (2011)
10. Itkonen, J., Mantyla, M.V.: Are test cases needed? Replicated comparison between
exploratory and test-case-based software testing. Empirical Softw. Eng. 19(2),
303342 (2014)
11. Itkonen, J., Rautiainen, K.: Exploratory testing: a multiple case study. In: 2005
International Symposium on Empirical Software Engineering, p. 10. IEEE (2005)
12. Kaner, C., Bach, J., Pettichord, B.: Lessons Learned in Software Testing. Wiley,
New York (2008)
13. Pfahl, D., Yin, H., M antyl
a, M.V., M unch, J., et al.: How is exploratory testing
used? In: Proceedings of the 8th ACM/IEEE International Symposium on Empir-
ical Software Engineering and Measurement, ESEM 2014 (2014)
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Discovering Software Process Deviations Using
Visualizations
1 Introduction
Various business information systems are focal for corporate management, and
often companies utilize metrics as critical success indicators for their business
[1]. So, in management of any process, both access to valid process data and the
ability to understand the meaning of the data are essential.
Building automated data collection frameworks requires time and eort and
is an investment for the company [2], but collecting data manually from the
employees is a tedious and error prone eort. Fortunately in software develop-
ment the eort required to access the data can be reduced signicantly as many
tools, such as version control and issue management systems, already automat-
ically collect some data [3]. Thus, utilization of this ready-at-hand data could
make process analysis more feasible for software companies.
Raw data items or numbers can rarely illuminate the analyst. Therefore,
visualization methods are used to get a better overall picture of the organization
and its business. When visualizations are available, various stakeholders can
enjoy improved transparency to the actual status and react to possible issues
faster. The usefulness of these visualizations is not limited to managers only, as
everybody can benet from good visualizations of the progress and properties
of the project. This follows the spirit of Andon boards that are used to notify
c The Author(s) 2017
H. Baumeister et al. (Eds.): XP 2017, LNBIP 283, pp. 259266, 2017.
DOI: 10.1007/978-3-319-57633-6 18
260 A.-L. Mattila et al.
2 Research Process
The main research questions of the study are: (1) Can we show deviations from
the assumed software process by visualizing data gathered from software repos-
itories? (2) Is the visualization of project data helpful for keeping track of the
projects? To answer these questions, we decided to study software projects where
we could access the data starting from the beginning of the project. Issue man-
agement system was chosen as our data source as it is used for managing and
reporting the software projects. The research process is presented in detail in
Fig. 1.
Selected Cases. The cases studied are two industrial projects of a Finland-
based multinational large-sized company involved in software R&D. We selected
the company based on their interest towards the research. The company repre-
sentatives selected the studied projects with the following constraints: suitable
Background interviews
Implementing
visualizations
Setting
Selecting Selecting Collecting Interviews for
research Meetings Results
data sources projects data validation
goals
Making
obervations
data are available from the beginning of the project, the project is currently in
the development phase, and selected projects are comparable with each other.
Both of the studied projects are sub-projects of a larger software entity.
In this paper, we refer to the projects as project A and project B. In project
A, a software platform is developed whereas in project B a user interface for
the software is developed. Both projects have 510 team members; the team
composition varies based on the current need. Most of the team members are
developers, but in team B there are also dedicated persons for testing and user
experience design.
The projects use JIRA1 for issue tracking. The guidelines for using JIRA are
the same in both projects. The projects follow the same software development
process, namely Scrumban [12], which is a hybrid of Scrum and Kanban. As the
projects have uniform practices and processes, we assume that the project data
are comparable between the projects.
The data collection period was from the start of the projects till the begin-
ning of January 2015. The projects had started in 2013 project A in May
and B in August. The data sets we used were anonymized by the company
representatives. The data were delivered in text format and contained only the
information necessary for visualization and analysis for example person names,
JIRA comments or issue names were not visible to us.
Participants. We had eight participants from the case company. A manager of
the larger project entity which the studied projects are part of (P1), a person
responsible of the realization of agile ways of working in both projects and who
was also a former developer in project B (P2), three developers from project A
(P3, P4, P5), and three developers from project B (P6, P7, P8).
Four researchers participated to the research by studying the project data,
developing the visualization tool, and participating the meetings with the case
company.
The visualization tool. To empirically examine the relationship between
project data and the perceived state of the project we built a software visu-
alization tool. We chose to utilize timeline as the visualization format because
it enables us to easily explore how projects evolved over time and it is used for
similar purposes in other studies as well [11,13]. We held several meetings with
participants P1, P2, and P3 from the case company to receive feedback from the
visualization. The visualization was developed in an iterative manner where we
ne-tuned the visualizations based on the received feedback.
The main element of the visualization is to show lifespans and state changes
of issues reported in JIRA. Through the lifespan visualization we can observe
which issues have been open for a long time and through which states the issue
is nally resolved. Detailed gures of the visualization are provided with other
additional material on https://github.com/pervcomp/DSPDUV.
Interviews. We held two interview sessions for developers in the projects stud-
ied. The rst interviews were held at the beginning of the research process to
1
JIRA Project management system, https://www.atlassian.com/software/jira.
262 A.-L. Mattila et al.
gain feedback from the initial version of the visualization and get deeper knowl-
edge of the case projects. In the rst interview we had three participants: P2,
P3, and P6. The second interviews were held four months later to validate our
observations made from the visualizations and to gather feedback from the visu-
alization. In the second interview we had seven participants: all the three people
interviewed in the rst round (P2, P3, and P6) were interviewed again along
with two more developers from both projects (P4, P5, P7, and P8). We selected
the themes in a fashion that allowed us to (i) validate the assumptions consider-
ing the visual observations, and to (ii) reveal the ways of working in the projects
as well as possible problems in the team and project.
The interviewing sessions were conducted as follows. Each interview began
by discussing the background of the interviewee and continued to the discussion
about ways of working, challenging issues in the team work and the projects cur-
rent status. We showed the visualization to the interviewee during the last part
of the interviewing session and asked the interviewee to observe and interpret
the visualization. Finally, we discussed the observations made by researchers
together with the interviewee to identify potential misinterpretations and to
determine causes of the observed issues. Interviewees were also asked to give
feedback from the visualization and tell if they thought the visualization is a
useful tool for managing projects. The duration of the interviews varied from
30 to 60 min. All interviews were recorded and written notes were made. The
interviews were conducted by one researcher.
3 Results
The results are based on studying the visualizations of project data and inter-
views. The data visualized from the projects were bug reports, epics, and stories.
We made assumptions of status and ways of working from the visualizations.
The table of assumptions made is available on https://github.com/pervcomp/
DSPDUV with the visualizations and other additional material.
Bugs. When comparing the views that show the lifespans and resolution rate
of bug reports we noticed that the resolution rate of bug reports was higher
in project A than in project B. When interviewing the participants, we found
out that in project A bug xes were prioritized over implementing new features.
Prioritizing the bug xes over new features was not an actual policy of the
software process but an agreement within the team thus in project B similar
convention was not applied.
The long life spans and increasing amounts of bug reports in project B could
be a sign of technical debt or bad architectural decisions but also relate to
problems in organizing and reporting work. Based on the interviews we learned
that in project B there was technical debt as they had built the project directly
on top of their initial prototype, which should have been just a throw away
prototype. In project A the initial prototype was discarded. There were also
problems in organizing and reporting work in project B.
Discovering Software Process Deviations Using Visualizations 263
Epics. The projects diered in how they used epics to plan greater entities. In
project B only three epics were closed during the data collection period and all
open epics were in their initial state. In project A epics were closed and opened in
a more regular pattern. Based on this we could assume that in project B the role
of epics in planning was not clear and they were not used systematically, which
was also proven to be the case based on the interviews. Based on the process
and instructions given to the teams they were supposed to use epics similarly
when planning work.
Stories. When looking at the projects individually we assumed that both
projects had problems in organizing and reporting work. The assumption was
made based on long lifespans and increasing amounts of open stories that were
visible in the visualizations. Also the long lifespans and high amount of open
bug reports in project B supported this assumption for project B. Based on the
interviews there were problems in organizing work. In both projects the product
owners role was not clear. In project A the product owner was not committed
to organize the backlog, and in project B there was no product owner.
Usefulness of the visualization. To get feedback on use of the visualization
for tracking the projects, we asked if the interviewees considered the visualiza-
tion useful. All of the interviewees agreed that the visualization we presented is
practical in tracking the projects as it shows clearly the issues which have been
open for a long time. Most of the interviewees mentioned that the visualization
would be especially useful for the project managers but also for them selfs.
4 Threats to Validity
Wohlin et al. [14] state four dierent categories when considering threats to
validity - conclusion validity, internal validity, construct validity and external
validity. We will deal with those that are particularly relevant to our study.
Threats to conclusion validity are concerned with issues that aect the ability
to draw the correct conclusion about relations between the treatment and the
outcome of an experiment. The threats most concerning our study have to do
with shing for a particular result and reliability of measures. In the start of
the research process we did not expect any results, but were simply curious about
what could be learned by visualizing software project data. Thus, all the obser-
vations made are purely drawn from what could be seen and without prejudice.
Furthermore, the visualizations were interpreted together with company rep-
resentatives, who would correct false assumptions. Additionally, the interviews
were designed to reveal possible overlooked information from the visualizations.
Reliability of measures, in turn, involves the measured data (from the repos-
itories) and verbal information (interviews). The data itself is visualized as is,
without any human involvement required in between, so it is valid. The interview
questions, in turn, were designed in a way that would allow as open answers as
possible and for the interviewer to also perform follow-up questions. Naturally,
the wording of the questions is still always critical, and for example a pilot study
of the interviews could have been benecial.
264 A.-L. Mattila et al.
References
1. Menzies, T., Zimmermann, T.: Software analytics: so what? IEEE Softw. 30(4),
3137 (2013)
2. Robbes, R., Vidal, R., Bastarrica, M.: Are software analytics eorts worthwhile for
small companies? The case of Amisoft. IEEE Softw. 30(5), 4653 (2013)
3. M akinen, S., Leppanen, M., Kilamo, T., Mattila, A.L., Laukkanen, E., Pagels, M.,
M annist
o, T.: Improving the delivery cycle: a multiple-case study of the toolchains
in Finnish software intensive enterprises. Inf. Softw. Technol. 80, 175194 (2016)
4. Liker, J.K.: The Toyota Way. Esensi (2004)
5. Gantt, H.: Work, Wages and Prot. The Engineering Magazine (1910)
6. Schwaber, K., Beedle, M.: Agile Software Development with Scrum, 1st edn. Pren-
tice Hall PTR, Upper Saddle River, NJ (2001)
7. Kerzazi, N., Robillard, P.N.: Kanbanize the Release Engineering Process. In: 2013
1st International Workshop on Release Engineering (RELENG), pp. 912. IEEE
(2013)
8. Paredes, J., Anslow, C., Maurer, F.: Information visualization for agile software
development. In: 2014 Second IEEE Working Conference on Software Visualization
(VISSOFT), pp. 157166. IEEE (2014)
9. Baysal, O., Holmes, R., Godfrey, M.W.: Developer dashboards: the need for qual-
itative analytics. IEEE Softw. 30(4), 4652 (2013)
10. Bjarnason, E., Hess, A., Doerr, J., Regnell, B.: Variations on the evidence-based
timeline retrospective method: a comparison of two cases. In: 2013 39th EUROMI-
CRO Conference on Software Engineering and Advanced Applications (SEAA),
pp. 3744. IEEE (2013)
11. Lehtonen, T., Eloranta, V.P., Lepp anen, M., Isohanni, E.: Visualizations as a basis
for agile software process improvement. In: 2013 20th Asia-Pacic Software Engi-
neering Conference (APSEC), vol. 1, pp. 495502. IEEE (2013)
12. Ladas, C.: Scrumban - Essays on Kanban Systems for Lean Software Development.
Modus Cooperandi Press, USA (2009)
13. Bjarnason, E., Svensson, R.B., Regnell, B.: Evidence-based timelines for project
retrospectives - a method for assessing requirements engineering in context. In:
2012 IEEE Second International Workshop on Empirical Requirements Engineer-
ing (EmpiRE), pp. 1724. IEEE (2012)
14. Wohlin, C., Runeson, P., H ost, M., Ohlsson, M.C., Regnell, B., Wesslen, A.: Experi-
mentation in Software Engineering: An Introduction. Kluwer Academic Publishers,
Norwell (2000)
266 A.-L. Mattila et al.
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Exploring Workow Mechanisms and Task Allocation
Strategies in Agile Software Teams
1 Introduction
Successful project completion depends on how well and eectively the project activities
are planned and managed throughout [1]. Primary project management activities include
managing resources, task allocation, and tracking time and budget in the best possible
way [2]. Several studies have researched task allocation in global and distributed soft
ware development using traditional or agile methods [36]. A limited number of studies
have assessed task allocation mechanisms practiced by Free/Libre Open Source Soft
ware (FLOSS) development teams; however, they did not cover commercial projects [7].
Overall, task allocation in agile software teams, which are meant to be self-organizing
[9, 12], has not be studied.
We conducted a pilot study involving face-to-face interviews with 11 agile practi
tioners from three teams in a software organization in India. Thematic analysis [8] was
performed to derive the dierent types of workow mechanisms and task allocation
strategies from the interview data. We identied three workow mechanisms: team-
independent, team-dependent, and hybrid workow. We also identied ve types of task
allocation strategies: manager-driven, team-driven, individual-driven, manager-assisted
and team-assisted. Identifying these mechanisms and strategies helped understand the
ow and forms in which tasks arrives to the team and the basis on which tasks are
classied and allocated.
2 Related Work
In traditional software development, the project manager plays a key role in task allo
cation and management and overall decision making. With the evolution of
agile methods, software teams are meant to be self-organizing with high levels of
autonomy, teams empowerment and mutual decision making in their everyday work
[10, 12] including project management activities such as task allocation [11, 12]. In
practice, however, agile teams are seen to display varying levels of autonomy as they
gain experience of functioning in a self-organizing way [11]. How the varying levels of
autonomy inuence task allocation is not well understood. In particular, it is unclear
how work ows to and within the team, how tasks are allocated on an individual level,
and what are the dierent types and autonomy levels of task allocation in agile teams.
The research on task allocation in software teams has been largely dominated by
distributed contexts in global software development. Imtiaz et al. in their recent survey-
based study identied functional area of expertise and phasebased task allocation as
the most common way of allocating tasks global software development [5]. Other
studies, e.g. [4, 6], explored task allocation in distributed agile software development
contexts through literature review and proposed models indicating further studies as a
promising area of research. Crowston et al. 2007 [7] demonstrated the possible mech
anisms of tasks allocation in community-based Free/Libre Open Source Software
(FLOSS) development in self-organized volunteer teams. Their ndings support self-
assignment as one of the common ways of assigning tasks adopted by FLOSS teams.
However, not much has been explored in the literature about task allocation mechanisms
outside the FLOSS domain and specically for commercial software development.
Overall, much remains to be understood about how work ows to and within agile teams
and how they practice task allocation.
3 Research Method
Our pilot study involved mixed open- and closed-ended interview questions with 11
agile practitioners. The overarching research questions were:
An invitation to participate was sent out to members of the Agile software community
of India. The company willing to oer a maximum number of teams and participants
was selected. Eleven software practitioners from three agile teams working in this digital
technology company were included (one additional participant was later dropped since
Exploring Workow Mechanisms and Task Allocation Strategies 269
they were the sole representative of a fourth team). Participants were experienced soft
ware practitioners and were using agile methods, either Scrum or Kanban, including key
agile practices such as Daily Team Meetings, Release and Iteration planning, Pair
Programming, Review meetings and Retrospectives. Teams were collaborating with
o-shored customers or product teams in the USA through Google Hangout, Skype or
Webex. The project management tool used by all teams was Jira. Team, project and
participants details are proled in Table 1.
Table 1. Team, project contexts and participants demographics (TS: Team Size, SP#:
Participants; TX: total experience in years; X: agile experience in years; ATL: Assoc.Tech Lead;
TL: Tech Lead; SSE: Senior Software Engineer)
Team TS Software Project Area/ SP# Role Age TX AX
method Context group
T1 1015 Scrum Digital SP1 TL 3135 1011 67
Marketing/ SP2 SE 2125 22.5 1
Features & SP3 ATL 2630 45 45
Maintenance
SP4 SE 2125 2.5 2.5
T2 510 Scrum Analytics/ SP5 TL 3640 7 7
Features SP6 SSE 2630 4 2
SP7 TL 3135 7.5 7.5
T3 1520 Kanban Cloud Services/ SP8 TL 3135 5.5 56
Migration & SP9 ATL 2630 4 2
Enhancement SP10 SSE 2125 3.5 1
SP11 ATL 2630 4.5 2
4 Findings
Fig. 1. Teamwise task allocation mechanisms (T1: team independent workow; T2: team
dependent workow; T3: hybrid workow)
Team Dependent Workow: Client denes the tasks for respective teams (US, India)
separately as user stories during fortnightly iteration planning meeting. Before sprint
planning meeting, the team (T2) go through their stories and team members allocate the
tasks either individually or through mutual consensus. SP7 described the workow as
follows:
Client creates user stories then one day before sprint planning we [T2] go through stories
which are meant for India team and we pick whatever we want to do. SP7, Tech Lead
Exploring Workow Mechanisms and Task Allocation Strategies 271
Hybrid Workow: Team T3 was seen to follow multiple workow mechanisms, but
tasks are typically allocated during a monthly release from the USA technical team, who
collaborates with the client. For a few members of the team, the USA team creates Jira
tickets with a set priority and complexity level. As specied by SP9:
Now that teams have been divided so they have to work according to the tasks that are assigned
to those particular teams only so its not like that X team can work on team Y cards. SP9,
Associate. Tech Lead
For other team members, work comes as features with a defined priority and release
date from the USA team. These features are selected by the Tech Lead in USA, who breaks
them into tasks and sub-tasks and allocates them to their buddy programmer in India.
So the client decides the criticality and to which release these [cards] will belong so once the
lead has decided that then pair [buddy] can pick up. SP10, Sr. Software Engineer
In Team-driven Task Allocation, the team discusses and mutually decides who will
perform which task, for example:
We are three people [in the team] so mutually decide who will do [what]. SP6, Sr. Software
Engineer
In Team-assisted Task Allocation, every team member self-assigns tasks with some
assistance from fellow team members, for example:
So any of the pair[s] can pick up [a task]. SP10, Sr. Software Engineer
5 Discussion
We identied ve task allocation strategies. Four of these strategies involve either the
team as a whole or the manager/client in the task allocation process, making it evident
272 Z. Masood et al.
that the task allocation mostly takes place through assistance or mutual discussions. In
other words, task allocation strategies rely on collective decision making. A prior study
[13] has shown that agile teams make eective decisions collectively compared to indi
vidual decisions, benetting from collective knowledge and experiences.
Another aspect is that for high priority tasks all mechanisms agree on a common
allocation method, i.e. tasks are directly allocated to a skilled and experienced person,
an aspect supported by previous research [7].
Our study supports the dierent levels of autonomy evident on agile teams [11] as
we found evidence of varying management approaches: manager-driven, manager-
assisted and team-driven. Additionally, we also identied a new level: individual-driven
task allocation.
With respect to the eectiveness of their current strategy, all the teams reported being
satised, but some participants shared a few challenges, e.g. vagueness or missing clarity
on tasks was the most commonly reported challenge. One participant (SP10) mentioned
that with their current task allocation strategy (Team-assisted), work at times is not
evenly distributed. Another participant (SP1) revealed drawbacks of picking tasks
remotely. Since their client and the USA team are co-located they were perceived to
have an advantage in picking tasks over SP1s India team. However, these challenges
are not directly related to task allocation, rather, they are also linked to requirements
clarity issues and the distributed nature of the team. This illustrates that task allocation
is impacted by many factors.
This research study can serve as a basis for exploring other task allocation strategies
and internal workow mechanisms of agile teams. This pilot study included only 11
interviews from the same organization which signies a limited dataset and context. Our
larger study will interview more software teams and individuals representing dierent
roles. Future work can focus on evaluating the eectiveness of the strategies.
6 Conclusion
References
1. Pinto, J.K., Slevin, D.P.: Critical success factors across the project life cycle. Proj. Manag. J.
19(3), 6775 (1988)
2. Hoda, R., Noble, J., Marshall, S.: Agile project management. In: New Zealand Computer
Science Research Student Conference, vol. 6, pp. 218221 (2008)
3. Lamersdorf, A., Munch, J., Rombach, D.: A survey on the state of the practice in distributed
software development: criteria for task allocation. In: 2009 Fourth IEEE International
Conference on Global Software Engineering, ICGSE 2009, pp. 4150 (2009)
4. Filho, M.S., Pinheiro, P.R., Albuquerque, A.B.: Task allocation approaches in distributed
agile software development: a quasi-systematic review. In: Silhavy, R., Senkerik, R.,
Oplatkova, Z.K., Prokopova, Z., Silhavy, P. (eds.) Software Engineering in Intelligent
Systems. AISC, vol. 349, pp. 243252. Springer, Cham (2015). doi:
10.1007/978-3-319-18473-9_24
5. Imtiaz, S., Ikram, N.: Dynamics of task allocation in global software development. J. Softw.
Evol. Process 29(1) (2016). doi:10.1002/smr.1832
6. Mak, D.K., Kruchten, P.B.: Task coordination in an agile distributed software development
environment. In: 2006 Canadian Conference on Electrical and Computer Engineering,
CCECE 2006, pp. 606611. IEEE (2006)
7. Crowston, K., Li, Q., Wei, K., Eseryel, U.Y., Howison, J.: Self-organization of teams for free/
libre open source software development. Inf. Softw. Technol. 49(6), 564575 (2007)
8. Clarke, V., Braun, V.: Thematic analysis. In: Encyclopedia of Critical Psychology, pp. 1947
1952. Springer, New York (2014)
9. Moe, N.B., Dingsyr, T., Dyb, T.: Understanding self-organizing teams in agile software
development. In: 2008 19th Australian Conference on Software Engineering, ASWEC 2008,
pp. 7685. IEEE (2008)
10. Highsmith, J.: Agile Project Management: Creating Innovative Products. Pearson Education,
Upper Saddle River, NJ (2009)
11. Hoda, R., Noble, J.: Becoming agile: a grounded theory of agile transitions in practice. In:
IEEE International Conference on Software Engineering (ICSE2017) (2017)
12. Hoda, R., Murugesan, L.K.: Multi-level agile project management challenges: A self-
organizing team perspective. J. Syst. Softw. 117, 245257 (2016)
13. Drury, M., Conboy, K., Power, K.: Obstacles to decision making in Agile software
development teams. J. Syst. Softw. 85(6), 12391254 (2012)
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Are Daily Stand-up Meetings Valuable?
A Survey of Developers in Software Teams
Abstract. The daily stand-up meeting is a widely used practice. However, what
is more uncertain is how valuable the practice is to team members. We invited
professional developers of a programming forum to a survey and obtained 221
responses. Results show that the daily stand-up meeting was used by 87% of
those who employ agile methods. We found that even though the respondents on
average were neutral towards the practice, the majority were either positive or
negative. Junior developers were most positive and senior developers and
members of large teams most negative. We argue that the value of the practice
should be evaluated according to the team needs. Further, more work is needed
to understand why senior developers do not perceive the meetings as valuable
and how to apply the practice successfully in large teams.
1 Introduction
Agile methods introduced the daily stand-up meeting (DSM) as a practice to improve
communication in software development projects. In Scrum, the meeting is mandatory,
time-boxed to 15 min and team members address: (1) what they have done the previous
work day, (2) what they will do today and (3) what obstacles are preventing them from
making progress [1]. Scrum recommends that the DSM should not be used for dis-
cussing solutions to obstacles raised. However, empirical studies have found that
spending time in the short meeting on discussing and solving problems is valuable [2, 3].
DSMs are task oriented, generally unrecorded, and members gather to focus on a
narrow organizational goal. According to Boden [4], such meetings can be charac-
terized as informal. The practice gives team members an overview of what other team
members are doing and is therefore an important mechanism to increase information
sharing and team awareness [5]. The meeting is often conducted standing up to keep it
brief and avoid lengthy discussions, hence the term stand-up meeting. The practice is
also called frequent short meetings [6], morning roll call [7], and daily Scrum
meeting [1]. The DSM is an important practice for agile teams because it helps the
team in monitoring and managing its performance, which is important for the team to
self-manage [8]. Further, such meetings improve access to information that foster
employee empowerment [9].
While DSM is a relatively straightforward practice to adopt, it is challenging to
implement it successfully. Challenges include nding a suitable time of day, keeping
the time limit and whether it should be held daily and standing up [10]. We have
previously found DSMs to last 63% longer when team members sit rather than stand
during the meeting [5]. Another challenge is members reporting their status to the team
leader, resulting in team members not paying attention to each other [8].
Although the DSM is one of the most popular agile practices [11, 12] and the only
daily team-based coordination mechanism, the practice has received little research
attention. Further, because meeting satisfaction is part of overall job satisfaction [13], it
is important to understand what makes this meeting valuable for team members. In a
recent, qualitative study of thirteen teams (in Norway, Poland, UK and Malaysia) we
found that the attitudes towards DSMs were slightly more positive than negative [5].
However, the level of satisfaction varied within the teams. Therefore, to understand
how to implement DSM, it is important to explore satisfaction with the practice on an
individual level. This leads to the following research question: What are the char-
acteristics of developers perceiving the daily stand-up meeting to be valuable com-
pared to those who do not?
Our work also answers a call for more empirical studies on the adoption rate of
agile software development methods [14].
2 Method
The target population for this study was professional software developers. Accordingly,
we posted the survey on Reddit, which is a social media website that allows scientists
to recruit a targeted population [15]. We chose two programming-related subreddits
(subforums) that provide news and discussions about computer programming
(r/programming, 710 000 subscribers) and web development (r/webdev, 130 000
subscribers). The survey was administered using the Qualtrics software which prevents
the survey to be completed more than once by the same respondent. Participation was
voluntary. Further, no compensation was offered, which increase the quality of the data
because the incentive to cheat is largely reduced [15]. The survey (available from
https://gshare.com/s/a10006dd8f5f26141511) took about three minutes to complete.
We received 316 responses, of which 243 contained data that could be analyzed.
Because we were interested in the opinions of software professionals currently working
in teams, we removed students and those not working or not working in a team. In total,
221 responses were used for the reported results. The majority of responses were from
the programming forum (n = 165). Nearly all the respondents were male (96.8%) with
a mean age of 31 years (n = 204, sd = 6.86). Among the respondents who answered
whether their team was distributed (n = 168), about two-thirds of the respondents
(63.1%) reported working in co-located teams, whereas the remaining had team
members distributed across sites (36.9%).
276 V. Stray et al.
All Likert questions used a ve-point scale. All nominal-scale questions were
presented with a randomized order of categories because the order of response alter-
natives can influence results [16]. Some questions were not compulsory, which resulted
in missing data for the reported variables. Analyses are reported using the R statistical
software [17]. To err on the side of caution, we use two-tailed analysis and chose
non-parametric statistical tests. The one-sample Wilcoxon test is used to check for
statistically signicant differences in distributions. When comparing frequencies
between two dichotomous variables that contain count data (i.e., frequencies) we used
Fishers exact test which reports the odds ratio (OR) effect size.
3 Results
In our study, the average number of DSMs conducted per week was ve, which
suggests that it is a daily meeting. Table 1 shows descriptive statistics. We found no
difference regarding the frequency of meetings when it comes to being part of a
distributed team or not, or to team size. Among all the respondents, one-third reported
to work in teams with two to ve members, one-third in teams with six to eight
members and one-third in teams with nine or more members. We found a difference of
52% points with an odds ratio of 12.3 for agile teams using DSMs over non-agile teams
(p < 0.001, 95% condence interval for OR: 5.429.5).
Overall, 70.6% report that they attend DSMs (n = 221). Those who attend and
those who do not attend DSMs spend the same amount of hours in meetings (DSMs
included) and report similar values for programming skills. However, those who attend
DSMs spend almost one hour more each workday on programming (p = 0.046, attend:
M = 6.5 h, sd = 2.1; not attend: M = 5.6 h, sd = 2.7). Further, those who attend
DSMs work in larger teams (p = 0.03, attend: M = 6.90 members, sd = 4.7; M = 7.44
members, sd = 3.52); the median difference was 2 team members. Moreover, the
practice is regarded as more valuable by those who attend DSMs than those who do not
(p = 0.002, attend: M = 3.1, n = 123, not attend: M = 2.3, n = 29).
Are Daily Stand-up Meetings Valuable? 277
We now report on only those respondents who attend DSMs. While the mean
perceived value by these respondents towards the practice was neutral (3.1), only
18.7% chose this middle category on the Likert scale. Most respondents were either
positive (44.7%) or negative (36.6%). We coded responses of 4 and 5 as positive,
responses of 1 and 2 as negative, and removed those who responded neutral to be
able to better understand differences between these two groups. We found no relation
between working in a co-located or distributed team and the perceived value of DSM.
However, those positive were signicantly younger (p = 0.008, positive: M = 29.6
years, n = 49; negative: M = 33.5 years, n = 42).
Figure 1 shows the characteristics of the respondents who attend DSMs according
to whether they are positive (green, n = 55) or negative (red, n = 45) towards the
meetings they attend. The left part of the gure shows that those positive and negative
towards their DSMs spent about the same amount of time in meetings: 83 min for those
positive versus 77 min for those negative. However, there was a signicant difference
in meeting frequency; those positive attended fewer meetings per day (DSMs included)
than those negative. Those positive towards DSM report somewhat more time spent on
programming per day (24 min) than those negative. Being positive towards DSMs was,
to some extent, associated with working in smaller teams. As a post hoc analysis, we
investigated differences in attitudes further and found that teams with 12 or more
members were most strongly associated with negative attitudes towards DSMs.
Fig. 1. Characteristics of those positive and negative towards their DSMs being valuable.
Signicant differences are shown at the top and means are shown at the bottom of the gure (as
numbers). Outliers are omitted. Error bars represent the standard errors of the mean. + is
p < 0.10 and * is p < 0.05 (two-sided). (Color gure online)
The right part of Fig. 1 shows a minor difference between how those positive and
negative towards DSM rated their own programming skills. However, those positive
rated the programming skills of their peers as signicantly higher compared to how the
278 V. Stray et al.
negative rated their peers. Further, those negative also rated their own skills as sig-
nicantly higher than that of their peers, whereas it was, to some extent, the opposite
for those positive.
4 Discussion
The main explanation of the widespread use of DSM (70,6%) is the high adoption rate
of agile development methods among our respondents. Table 2 shows that the agile
adoption rate in our survey is higher than what was found by Rodrguez et al. [11].
Rodrguez et al. did not report the adoption rate of DSM but concluded that it was one
of the most widely used practices. The last column in Table 2 shows the adoption rate
of DSM in both agile and non-agile teams in our study. VersionOne [12] report the
DSM to be the most employed agile practice with an adoption rate of 83%.
VersionOnes sample mostly consisted of agile practitioners. In comparison, our DSM
adoption rate among those using agile or agile in combination with Lean was 87.3%.
Our results indicate that the practice has spread to companies not using agile methods
because 35.4% of the respondents who work in non-agile teams also report using DSM.
Thus, being agile implies that DSMs are used to a large extent which supports that
DSM is a practice that distinguishes agile from non-agile teams [17].
Table 2. Usage rates of agile methods and DSM adoption according to development method
Development method Agile adoption Agile adoption in DSM adoption
in our survey Rodrguez et al. [11] in our survey
Agile and/or Lean 73.6% 57.8% 87.3%
Only agile 54.9% 33.6% 89.0%
Agile and Lean 18.7% 21.6% 82.4%
Only Lean 0.0% 2.7% 0.0%
Neither agile nor Lean 26.4% 42.2% 35.4%
Total 100.0% 100.0%
For our research question, What are the characteristics of developers perceiving
the daily stand-up meeting to be valuable compared to those who do not?, our results
indicate that those positive towards DSM are more junior developers. This inference is
supported by age, how they rate their own programming skills and their self-reported
skills compared to the perceived skill of their peers. Those positive towards DSM also
participate in fewer meetings than those negative. The same variables also indicate that
those negative towards DSM are more senior developers. One explanation for why a
senior developer regards DSM as less valuable is because seniors may already know
what goes on in the team and does not get any new information in the meeting. The
personal gain from the meeting is thus reduced. Moreover, being able to have quick
problem-solving discussions in the DSM make developers perceive the DSM as more
valuable [5]. Senior developers often work on more complex tasks, and it might be that
high complexity problems are seldom discussed at the meeting because they require too
Are Daily Stand-up Meetings Valuable? 279
much time. It is more likely that the problems a junior developer encounter are more
easily solved in a DSM.
A second explanation is that senior developers attend more meetings than junior
developers. The DSM then becomes an additional daily interruption, which reduces the
satisfaction with such meetings. Perceiving the meeting to have too high frequency
negatively affects the attitude towards DSMs [5]. Moreover, meeting load affects
employees well-being [18] so companies should be sensitive to the number of meetings
the developers have to attend. While it has been claimed that DSMs eliminate the need
for other meetings [1], we found no difference between hours spent in meetings for
those who attend or do not attend DSMs.
In a self-managing team, the team goal should be more important than the indi-
vidual goal, and then a developer should rate the DSM value depending on the team
needs. One respondent commented: I think some people need the daily stand-up
format. So even though I personally dont feel like I need it, I feel it benets us all to do
it because of the different personalities. Because we do not know the perspective of
the respondent we do not know if the respondents are considering the value from an
individual or team perspective, or a mixture of the two views.
We found that larger teams are more likely to have DSMs. Paradoxically, the larger
the team, the less is the satisfaction with DSM. Large teams using DSMs should
therefore pay special attention to improving the quality of these meetings. In particular,
developers were negative towards DSM when teams consisted of 12 or more team
members. Previous research also found a negative correlation between the number of
meeting participants and the attitude towards DSM [5].
The main limitation of this study concerns the representativeness. Although the
distribution of self-reported programming skill in this study is nearly identical to our
earlier study of programming skill of developers [19], the sample and target population
may differ. For example, it is possible that only those who knew or had a strong
(polarized) opinion of DSMs responded to the survey. This may bias results in favor of
more respondents reporting using DSM and more variability in opinions than is
actually present in the target population. Another potential concern is that we had
subjects from two different programming forums, but the results we report still hold
when analyzing the data from the two forums separately.
The present study investigated the perceived value of daily stand-up meetings (DSMs)
and reports the adoption rate of the practice. Among those who use agile methods, the
majority conducts DSMs. Although it is a common practice, the perceived value of the
meeting varies with junior developers being more positive and senior developers more
negative towards the DSMs they attend. A possible explanation is that junior devel-
opers receive more relevant information and assistance in solving problems during the
meeting. In contrast, senior developers often work with larger, more complex and
independent tasks that are more difcult to share with team members on a daily basis.
Agile teams are expected to be self-managed, and the need of the team should be more
important than that of the individual. The value of the practice should, therefore,
280 V. Stray et al.
Acknowledgments. We are grateful to the survey respondents and to the reviewers. This work
was supported by the Smiglo project, which is partly funded by the Research Council of Norway
under the grant 235359/O30.
References
1. Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice Hall, Upper
Saddle River (2002)
2. Stray, V.G., Moe, N.B., Aurum, A.: Investigating daily team meetings in agile software
projects. In: The 38th EUROMICRO Conference on Software Engineering and Advanced
Applications (SEAA 2012), Cesme, Turkey, 17 August 2012
3. Pikkarainen, M., Haikara, J., Salo, O., Abrahamsson, P., Still, J.: The impact of agile
practices on communication in software development. Empirical Softw. Eng. 13, 303337
(2008)
4. Boden, D.: The Business of Talk: Organizations in Action. Polity Press, Cambridge (1994)
5. Stray, V., Sjberg, D., Dyb, T.: The daily stand-up meeting: a grounded theory study.
J. Syst. Softw. 114, 101124 (2016)
6. Rising, L.: Agile meetings. STQE, pp. 4246 (2002)
7. Anderson, D.J.: Agile Management for Software Engineering: Applying the Theory of
Constraints for Business Results. Prentice Hall, Upper Saddle River (2003)
8. Moe, N.B., Dingsyr, T., Dyb, T.: A teamwork model for understanding an agile team: a
case study of a Scrum project. Inf. Softw. Technol. 52, 480491 (2010)
9. Allen, J.A., Lehmann-Willenbrock, N., Sands, S.J.: Meetings as a positive boost? How and
when meeting satisfaction impacts employee empowerment. J. Bus. Res. 69, 18 (2016)
10. Stray, V.G., Lindsjrn, Y., Sjberg, D.: Obstacles to efcient daily meetings in agile
development projects: a case study. In: The ACM/IEEE International Symposium on
Empirical Software Engineering and Measurement (ESEM 2013), Baltimore, USA, 13
September 2013
11. Rodrguez, P., Markkula, J., Oivo, M., Turula, K.: Survey on Agile and Lean Usage in
Finnish Software Industry. ACM, New York (2012)
12. VersionOne: VersionOne 10th Annual State of Agile Report. https://versionone.com/pdf/
VersionOne-10th-Annual-State-of-Agile-Report.pdf
Are Daily Stand-up Meetings Valuable? 281
13. Rogelberg, S.G., Allen, J.A., Shanock, L., Scott, C., Shuffler, M.: Employee satisfaction with
meetings: a contemporary facet of job satisfaction. Hum. Resour. Manag. 49, 149172
(2010)
14. Stavru, S.: A critical examination of recent industrial surveys on agile method usage. J. Syst.
Softw. 94, 8797 (2014)
15. Shatz, I.: Fast, free, and targeted: reddit as a source for recruiting participants online. Soc.
Sci. Comput. Rev., pp. 113 (2016)
16. Schwarz, N., Hippler, H.J.: Response alternatives: the impact of their choice and
presentation order (1991)
17. Murphy, B., Bird, C., Zimmermann, T., Williams, L.: Have agile techniques been the silver
bullet for software development at Microsoft? In: The Proceedings of the 2013 ACM/IEEE
International Symposium on Empirical Software Engineering and Measurement (ESEM
2013), Baltimore, USA, 7 July 2013
18. Luong, A., Rogelberg, S.G.: Meetings and more meetings: the relationship between meeting
load and the daily well-being of employees. Group Dyn. Theor. Res. Pract. 9, 5867 (2005)
19. Bergersen, G.R., Sjberg, D., Dyb, T.: Construction and validation of an instrument for
measuring programming skill. IEEE Trans. Softw. Eng. 40, 11631184 (2014)
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appro-
priate credit to the original author(s) and the source, provide a link to the Creative Commons
license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly
from the copyright holder.
Doctoral Symposium Papers
Knowledge Management and Reective Practice in Daily
Stand-Up and Retrospective Meetings
Yanti Andriyani
( )
1 Introduction
Agile Software Development (ASD) is a group of software methods that use an inspect
and adapt process as a part of regular reection for continuous improvement [1]. Daily
stand-up and retrospective meetings are practices that are meant to help evaluate team
progress, impediments, and plans and nd ways to improve [2]. In the daily stand-up
meetings, agile teams share progress, discuss the impediments that occur in the team
and share their plans daily [3]. The retrospective meeting enables agile teams to inspect
the feedback shared and discuss the ways to improve.
Supervisor: Dr. Rashina Hoda, Department of Electrical and Computer Engineering, The
University of Auckland, email: [email protected].
Co-Supervisor: Prof. Robert Amor, Department of Computer Science, The University of
Auckland, email: [email protected].
Knowledge management is an important aspect for agile team creativity, which can
lead to improving the agile process [4]. By knowing how to manage knowledge, which
is useful for team learning, agile teams would be able to reect and nd ways to improve
the process [4]. While the daily stand-up and retrospective meetings are meant to be
used to share knowledge and perform reection, in practice what specic knowledge
(e.g. contextual information, understanding, insight, experience), knowledge types (e.g.
product, process and project) and knowledge management strategies help agile teams
perform reection are not well understood.
With the motivation to address these research problems of knowledge management
and reective practice in ASD, this paper contains some initial ndings of our research,
which include a concept of knowledge management in ASD and a reection framework
in retrospective meetings (Sect. 5). However, there are some issues that are still unclear
on how to correlate these ndings. We hope that the consortium can provide suggestions
and feedback on:
1. The content and presentation of our preliminary theoretical models.
2. Best practice in cross-team comparison and analysis of data and combined presen
tation.
3. Recommendations on known or hypothesized relationship(s) between knowledge
management and reective practice.
Knowledge is the combination of content from more than one categories of information,
which taken from documents, practices and norms [5]. Relevant prior research shows
several classications of knowledge management in ASD. Several reviews focus on
knowledge management school classication [6] and knowledge management concept
in ASD [7].
There are three categories of knowledge management [8] (i.e. technocratic,
economic and behavioural) of which two of categories (technocratic and behavioural)
are associated with ASD [6] and the third category (economic) is not related to ASD.
The technocratic category emphasizes on explicating knowledge and its ows. The
technocratic school is further subdivided into three schools: system, engineering and
cartographic schools. The system school refers to knowledge management strategies
that use technology, such as JIRA, Wiki and GitHub; the engineering school focuses on
the business context of software processes; and the cartographic school focuses on
experts in a team as a centre of knowledge for the team. The behavioral category is
further subdivided into three schools: organizational, spatial and strategic schools. This
school focuses on collaboration and communication as knowledge management strat
egies. Developing the network among teams and using oce space to support team
communication are included in the behavioural school.
Another research is about knowledge management concept map in ASD [7]. Yanzer
et al. [7] present several concepts map, such as ways of communication, human and
Knowledge Management and Reective Practice 287
social factors, tools for knowledge management and knowledge representation forms.
The human and social factor concept covers knowledge management adoption in agile
projects. Other concepts, which include the ways of communication, tools for knowledge
management and knowledge representation forms, focus more on techniques and tools
to manage the discussion.
Specic explanation about knowledge classication in software engineering [9] is
explained by Ebert & De Man [9], which classies knowledge types into three types,
such as product, project, and process knowledge. Product knowledge is the knowledge
that consists of product features, which is related to other product features, protocols,
products and standards. Project knowledge is the knowledge about project resources,
such as work products, budget, milestones, team performance and targets achieved.
Process knowledge is the knowledge about the workow related to business process,
supporting technologies and how teams integrate their work with others.
Referring to the aforementioned knowledge classication, this research intends to
investigate the knowledge types (product, project and process knowledge) involved in
ASD. By referring to these knowledge types, the explanation of knowledge involved in
ASD would be more detailed and closely related with agile practices.
3 Research Objectives
RQ1. What specic knowledge types (i.e. product, project and process knowledge) are
involved in daily stand-up and retrospective meetings and how do agile teams
manage that knowledge?
RQ2. What actual knowledge helps agile teams perform reection and how agile teams
use that knowledge for reection in daily stand-up and retrospective meeting?
The aims of this research are to explore knowledge types based on three knowledge
types (i.e. product, project and process), the strategies in managing that knowledge in
daily stand-up and retrospective meetings for agile teams reection.
4 Research Design
In order to answer the research questions, this research will apply Yins case study
research methodology [15], which is classied into three phases: (a) Dene and design,
(b) Collect, prepare and analyse (i.e. data), (c) Analyse (i.e. ndings) and conclude.
Figure 1 summarises the structure of Yins case study and shows some phases in this
research. The colours indicate the research progress. Green refers to the tasks that are
done, yellow indicates the tasks that are in progress and red refers to to do tasks.
The current research focuses on phase b which is to analyse collected data (interviews
and observations).
Firstly, in the dene and design phase, a concept about knowledge management in
ASD was generated through the Systematic Literature Review (SLR-review/develop
theory). The next phase in the case study is to collect, prepare and analyze (phase b).
Data collection was started by conducting interviews (individual and group) and meeting
observations, which aims to gain specic explanation from the participants and under
stand the situation and actual knowledge managed in the meetings.
The next steps after observations and interviews are transcribing the interviews and
analyzing them. The interviews transcripts were analyzed by using a qualitative data
analysis technique called thematic analysis [16] by generating initial codes, searching
for themes, dening and naming themes and nally producing the report that will be
integrated on the next phase. Lastly, in the analyse and conclude (phase c), the analysis
results of each team will be compared with those from other teams to formulate the
ndings and conclude the research. The results will be analysed comprehensively and
followed by formulating the ndings (phase c).
Knowledge Management and Reective Practice 289
This research has two initial ndings, which emerged knowledge management and
reection in daily stand-up and retrospective meeting. Initial ndings were generated
from SLR and case studies are described in the section below.
A case study was conducted using data collected from interviews of sixteen software
practitioners from four agile teams and observations of their retrospective meetings.
Collected data was analyzed by applying thematic data analysis [16]. By transcribing
data, generating codes, searching for themes, reviewing themes, dening and naming
themes, the ndings of this case study were formulated in the form of a paper, which
has been accepted in XP 2017 conference (Reection in Agile Retrospective).
This case study aims to investigate what aspects are focused on during the retro
spective meeting and how reection occurs in the retrospective meeting. By applying
290 Y. Andriyani
thematic analysis to analyze the interviews, it was discovered that identifying and
discussing obstacles, discussing feelings, analyzing previous action points, identifying
background reasons, identifying future action points and generating a plan are impor
tant aspects involved in the retrospective meeting, which is useful for agile team reec
tion. These aspects are associated with ve (grouped to three) levels of reection from
education [14]. The levels of reection from education appear related to the answer of
how reection occurs in the retrospective meeting, which can be classied into three
levels of reection [14], reporting and responding, relating and reasoning, and recon
structing.
According to these ndings, a reection framework for agile retrospective meeting
was presented on Fig. 3. The framework combines ve steps of the standard agile retro
spective set the stage, gather data, generate insight and decide what to do, close the
retrospective and the levels of reection reporting and responding, relating and
reasoning, and reconstructing [14] include the aspects involved on each step.
There are some research tasks remains, as can be seen in Fig. 1 (phase b and phase
c), in which some tasks are in progress. Next steps include writing up the results of the
case study pertaining to the daily stand-up practice, conducting further observations,
analysing the transcription of software teams and formulating the ndings.
References
1. Fowler, M., Highsmith, J.: The agile manifesto. Softw. Dev. 9, 29 (2001)
2. Ringstad, M.A., Dingsyr, T., Brede Moe, N.: Agile process improvement: diagnosis and
planning to improve teamwork. In: OConnor, R.V., Pries-Heje, J., Messnarz, R. (eds.)
EuroSPI 2011. CCIS, vol. 172, pp. 167178. Springer, Heidelberg (2011). doi:
10.1007/978-3-642-22206-1_15
3. Santos, V., Goldman, A., de Souza, C.R.B.: Fostering eective inter-team knowledge sharing
in agile software development. Empirical Softw. Eng. 20(4), 146 (2014)
4. Crawford, B., De La Barra, C.L., Soto, R., Misra, S., Monfroy, E.: Knowledge management
and creativity practices in software engineering. In: Proceedings of the International
Conference on Knowledge Management and Information Sharing, KMIS 2012, pp. 277280
(2012)
5. Davenport, T.H., Prusak, L.: Working Knowledge-How Organizations Manage What They
Know, vol. 5, pp. 193211. Harvard Business School Press, Boston (1998)
Knowledge Management and Reective Practice 291
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Self-Assignment: Task Allocation Practice in Agile
Software Development
Zainab Masood
( )
Department of Electrical and Computer Engineering, The University of Auckland, Building 903,
386 Khyber Pass, Newmarket Auckland, Auckland 1023, New Zealand
[email protected]
1 Introduction
exclusively on self-organization and self- organizing nature of the teams [3]. However,
there is a dearth of research on how task allocation is done in self-organizing agile teams
and what are the common practices followed by agile practitioners to achieve their goals.
Agile methodology uses self-assignment method for the allocation of tasks among
team members [4]. However, we do not have enough studies and evidences regarding
how software engineers tend to choose these tasks for themselves. There are certain
factors that tend to motivate the engineers and developers to prioritize while self-
assignment of tasks. During the process of self-assignment, they also have to face issues
that need to be addressed for proper allocation and self-assignment. This study will be
focusing on mainly these two aspects of self-assignment i.e. strategies and challenges
for self-assignment in agile methodology. The contribution will be twofold. Firstly, it
will add theoretical knowledge about self-assignment as a way of task allocation.
Secondly, the results of this study will benet developers and managers to overcome
challenges during the process of task allocation.
At this time, we are seeking feedback and advice for the following things:
What is the best way to compare ndings from dierent sources and present overall
ndings in a way that data integrity is not compromised?
Advice on reaching theoretical saturation for dierent task allocation strategies under
dierent contexts.
3 Related Work
The success of a software development project depends heavily on the way the related
project management activities are executed [5]. These activities primarily include
managing the resources, organizing the software teams, allocating tasks to relevant
stakeholders, monitoring time, budget, and resources [4]. These activities are carried
out dierently depending on the project management approach followed. In traditional
software development, a project manager plays a key role in task allocation. The main
duty of a project manager is to assign tasks to the project teams. This work is assigned
keeping in mind the knowledge, skills, expertise, experience, prociency and technical
competence of the team member [6].
The benets of agile methodologies include but are not limited to teams empower
ment, collaborative atmosphere, shared decision-making and a transparency with a client
[4, 7]. In addition, the concepts of light touch management and self-organizing teams
are the essence of agile teams [1]. These benets have taken many software rms by a
storm, as a result adopting many of these practices in their everyday project management
activities including task allocation [4, 8]. This has aected the way the tasks allocation
takes place in agile teams. Instead of manager directing or assisting the tasks, these teams
are meant to practice picking up tasks or volunteering for tasks [7].
294 Z. Masood
4 Research Basis
RQ1: How agile practitioners practice self-assignment of tasks? What are the best
strategies for self-assigning dierent types of tasks (new feature, enhancement,
bug xation) in agile software teams?
RQ2: What are the challenges associated with self-assignment of tasks? How agile
practitioners overcome these challenges?
5 Research Plans
To answer RQ1 and RQ2, we will focus on how task allocation is played out in agile
teams. In particular, this will center on the strategies that teams and individuals undergo
in practice using dierent agile methodologies and for dierent projects including chal
lenges associated with using these practices. We also plan to study self-assignment as
task allocation in dierent scenarios and contexts and the study will not be limited to a
single domain.
Identifying strategies for tasks of dierent nature(New feature, Bug Fix, Enhance
ment)
Classication of common strategies
Strengths and weaknesses of the common strategies
Identifying best strategies in their settings
Factors aecting self-assignment of tasks
Comparing self-assignment to alternative methods of task allocation
Challenges faced with dierent strategies(threats to autonomy and cross-function
ality, complexity and dependency dimensions)
Identifying the areas of improvements with these strategies
Evaluating the generated theory using GT guidelines
Proposing a context-driven set of guidelines which agile practitioners may take into
account while self-assigning tasks to get the best out of it.
If time permits, evaluating the eectiveness of these guidelines through survey based
feedback.
Self-Assignment: Task Allocation Practice in Agile Software Development 295
6 Research Method
We studied few research methodologies [13] and selected Grounded Theory (GT) for
our study [11, 12, 14]. Grounded theory was developed in the early 1960s by Glaser
and Strauss. It is chosen as the research methodology mainly due to listed reasons.
Interest of the researcher towards generating theory explaining how self-assignment
is practiced by agile practitioners
GT is suitable for research areas which have not been explored thoroughly before.
GT is extensively used for studying agile software teams, human and social aspects
of software engineering, and many project management issues [3].
GT treats everything as data giving researcher the freedom to use quantitative data,
qualitative data, video, diagrams, and existing theories [14].
Initially, literature and related work are explored generally on identifying how and
when tasks are allocated using traditional and non-traditional software methods for
software projects. As recommended by Glaser, a minor literature review is conducted
in the area of research [12] i.e. self-assignment as a practice of agile teams and individ
uals. Additionally, we went through articles describing grounded theory in other areas
which helped to understand the research methodology and the emergence of the theory
from the data [1517].
As the research is mainly qualitative in nature, the intended data source is semi-
structured interviews with agile practitioners of the relevant industry. In terms of data
collection, we intend interviewing a total of 4050 agile practitioners with team obser
vations. But for some parts of the study e.g. factors aecting self-assignment, survey-
based data collection will be pursued. Ongoing data analysis and synthesis procedures
will be employed on collected data leading to ndings of the research. In later stages,
when the ndings will be suciently developed latest and previous related literature
will be reviewed again. We intend to assess the generated theory on the basis of four
criteria: t, work, relevance, and modiability as recommended by Glaser [11].
The main components as adopted by some of the researchers are listed below [14]:
Data Selection and Collection: Theoretical Sampling (Recruiting participants; Inter
views; Observations; Surveys; Questionnaires);
Data Analysis: Open Coding; Selective Coding; Theoretical Coding; Constant
Comparison; Memoing; Sorting; Theoretical Saturation; Generating Theory
The most relevant validity threats to the research along with some checks to be taken to
minimize them are given below.
To reduce researcher bias, we intend to collect data from dierent sources interviews,
observed meetings, and questionnaire. Such data triangulation will help us to generate
more substantial data.
296 Z. Masood
8 Current Status
We have completed an initial round of literature review of related work on task allo
cation from a pool of papers published between 1990 to 2016 and gathered related
work on task allocation generally in software projects and explicitly for agile projects.
We have also explored some research methodologies to analyze and synthesize the
data. After studying few research methodologies we decided to use grounded theory.
Additionally, we conducted a pilot study to explore self-assignment in agile teams
and investigated few aspects associated with it on a relatively small number of agile
practitioners. During this study, we found self-assignment to be a potential area for
further research as it has not been addressed extensively in the literature. The ndings
of this study are formulated and submitted to XP 2017 conference and accepted as a
short paper (Exploring Workow Mechanisms and Task Allocation Strategies in
Agile Software Teams) and the social aspects of the study are formulated, submitted
to CHASE2017 and accepted as notes paper (Motivation for Self-Assignment:
Factors Agile Developers Consider).
At present, we are collecting data. We have been successful in gaining some agile
practitioner participants and continue to approach others.
References
1. Hoda, R., Noble, J., Marshall, S.: Agile project management. In: New Zealand Computer
Science Research Student Conference, vol. 6, pp. 218221 (2008)
2. Manifesto for agile software development (2001). http://agilemanifesto.org. Accessed 7 Jan
2017
3. Hoda, R., Noble, J., Marshall, S.: Developing a grounded theory to explain the practices of
self-organizing Agile teams. Empirical Softw. Eng. 17(6), 609639 (2012)
4. Hoda, R., Murugesan, L.K.: Multi-level agile project management challenges: a self-
organizing team perspective. J. Syst. Softw. 117, 245257 (2016)
5. Pinto, J.K., Slevin, D.P.: Critical success factors across the project life cycle. Proj. Manage.
J. 19(3), 6775 (1988)
6. Acuna, S.T., Juristo, N., Moreno, A.M.: Emphasizing human capabilities in software
development. IEEE Softw. 23(2), 94101 (2006)
7. Deemer, P., Beneeld, G., Larman, C., Vodde, B.: A lightweight guide to the theory and
practice of scrum. Version 2 (2012)
8. Hoda, R., Noble, J.: Becoming agile: a grounded theory of agile transitions in practice. In:
IEEE International Conference on Software Engineering (ICSE 2017) (2017)
Self-Assignment: Task Allocation Practice in Agile Software Development 297
9. Crowston, K., Li, Q., Wei, K., Eseryel, U.Y., Howison, J.: Self-organization of teams for free/
libre open source software development. Inf. Softw. Technol. 49(6), 564575 (2007)
10. Kalliamvakou, E., Damian, D., Blincoe, K., Singer, L., German, D.M.: Open source-style
collaborative development practices in commercial projects using github. In: Proceedings of
the 37th International Conference on Software Engineering, vol. 1, pp. 574585. IEEE Press
(2015)
11. Glaser, B.G.: Basics of Grounded Theory Analysis: Emergence vs. Forcing. Sociology Press,
Mill Valley (1992)
12. Glaser, B.G.: Theoretical Sensitivity: Advances in the Methodology of Grounded Theory.
Sociology Pr., Mill Valley (1978)
13. Myers, M.D.: Qualitative research in information systems. Manage. Inf. Syst. Q. 21(2), 241
242 (1997)
14. Stol, K.J., Ralph, P., Fitzgerald, B.: Grounded theory in software engineering research: a
critical review and guidelines. In: Proceedings of the 38th International Conference on
Software Engineering, pp. 120131. ACM (2016)
15. Hoda, R., Noble, J., Marshall, S.: Self-organizing roles on agile software development teams.
IEEE Trans. Softw. Eng. 39(3), 422444 (2013)
16. Adolph, S., Kruchten, P., Hall, W.: Reconciling perspectives: a grounded theory of how people
manage the process of software development. J. Syst. Softw. 85(6), 12691286 (2012)
17. Stray, V., Sjberg, D.I., Dyb, T.: The daily stand-up meeting: a grounded theory study. J.
Syst. Softw. 114, 101124 (2016)
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this chapter are included in the chapters Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapters Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.
Software Development Practices Patterns
1 Introduction
The motivation of our research is to nd better ways to organize the programmers
work to develop quality software in a productive way suitable to their current
context. Our goal is not only to reduce the software development cost, but also
to improve the programming experience. Toward to do this a set of unanswered
questions related on how many programmers should implement a task emerged:
c The Author(s) 2017
H. Baumeister et al. (Eds.): XP 2017, LNBIP 283, pp. 298303, 2017.
DOI: 10.1007/978-3-319-57633-6 23
Software Development Practices Patterns 299
4 Research Objective
Elaborate a catalog with suggestions on how the programmers should organize
their work concerning pair programming and related techniques.
Fig. 1. Phases of illuminated arrow, starting from left and nishing in the right [2].
memo writing;
theoretical sampling.
Software Development Practices Patterns 301
This proposal research is the continuation of Kattan [9] masters thesis. The tech-
nique is called Programming and review simultaneous in Pairs, is one extension
to the pair programming. Its concluded when the goal is to reduce the time-to-
benet suggest use the Programming and review simultaneous in Pairs, when the
pair is compose by professionals with the follows experience levels: intermediate
and senior, or senior and senior, or junior and junior. The complexity of these
tasks were classied as: low, medium and high.
Kattan reviewed the Mob Programming literature too in his masters disser-
tation and also applied Mob Programming in one application example.
Figure 2 illustrates the extension to pair programming, was used aspects of
Simultaneous Engineering [9] to create one alternative to pair programming. The
phases 1, 2, 3, 4, 5 and 6 are illustrated in Fig. 2. Phase 7 is illustrated in the form
of the team with the work, because is the reective rest and conict resolution, is
unformatted due to the miscellaneous possibilities for reective/productive rest
and conict resolution.
The current status of the research and planned next steps are:
References
1. Rooksby, J., Hunt, J., Wang, X.: The theory and practice of randori coding dojos.
In: Agile Processes in Software Engineering and Extreme Programming: Proceed-
ings of the 15th International Conference, XP 2014, Rome, Italy, vol. 179, pp.
251259, 2630 May 2014
2. Kattan, H.M.: Illuminated Arrow: a research method to software engineering based
on action research, systematic review and grounded theory. In: CONTECSI - Inter-
national Conference on Information Systems and Technology Management 2016,
pp. 19711978, 21 July 2016
3. Budgen, D., Charters, S., Turner, M., Brereton, P., Kitchenham, B., Linkman, S.:
Investigating the applicability of the evidence-based paradigm to software engi-
neering. In: Proceedings of WISER Workshop, ICSE 2006, pp. 713. ACM Press,
May 2006
4. Kitchenham, B., Charters, S., Budgen, D., Brereton, P., Turner, M., Linkman,
S., Jrgensen, M., Mendes, E.: Guidelines for performing systematic literature
reviews in software engineering, version 2.3. EBSE Technical Report EBSE-2007-
01, Software Engineering Group, School of Computer Science and Mathematics,
Keele University Keele, Stas ST5 5BG, UK and Department of Computer Science,
University of Durham, Durham, UK, 9 July 2007
5. Allan, G.: The legitimacy of grounded theory. In: Proceedings of Fifth European
Conference on Business Research Methods, pp. 18 (2006)
6. Brooks, F.: The Mythical Man-Month: Essays on Software Engineering, 20th
Anniversary Edition, 322 pages. Addison-Wesley, Reading (1995)
7. Glaser, E.G.: Advances in the Methodology of Grounded Theory: Theoretical Sen-
sitivity. Sociology Press, Mill Valley (1978)
8. Glaser, E.G., Strauss, A.L.: The Discovery of Grounded Theory: Strategies for
Qualitative Research (1967)
9. Kattan, H. M.: Programming and review simultaneous in Pairs: a pair program-
ming extension. Master dissertation, Institute for Technological Research of the
State of Sao Paulo (IPT) (2015). http://aleph.ipt.br/F or http://ipt.br, click on:
Online Consultations, then click on: Library
10. Questionnaire. http://ccsl.ime.usp.br/wiki/SwarmQuestionnaire
11. Wilson, A.: Mob programming - whats works, whats doesnt. In: Agile Processes
in Software Engineering and Extreme Programming: Proceedings of the 16th Inter-
national Conference on Agile Software Development, XP 2015, Helsinki, Finland,
pp. 319325, 2529 May 2015
12. Grith, A.: Mob programming for the introverted. Experience report, Agile (2016)
13. Hohman, M., Slocum, A.: Mob Programming and the Transition to XP (2001)
Software Development Practices Patterns 303
Open Access This chapter is licensed under the terms of the Creative Commons
Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),
which permits use, sharing, adaptation, distribution and reproduction in any medium
or format, as long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if changes were
made.
The images or other third party material in this chapter are included in the chapters
Creative Commons license, unless indicated otherwise in a credit line to the material. If
material is not included in the chapters Creative Commons license and your intended
use is not permitted by statutory regulation or exceeds the permitted use, you will
need to obtain permission directly from the copyright holder.
Author Index
Schn, Eva-Maria 37
Escalona, Mara Jos 37 Seaman, Carolyn 84
Sharp, Helen 135
Felderer, Michael 201 Sibal, Ritu 184
Sievi-Korte, Outi 259
Gander, Matthias 201 Stettina, Christoph J. 103
Garigapati, Ratna Pranathi 251 Stray, Viktoria 274
Ghazi, Ahmad Nauman 251 Stuip, Martijn 217
Goldman, Alfredo 84, 298 Suonsyrj, Sampo 52
Gregory, Peggy 135 Suri, Bharti 184
Syst, Kari 259
Hanssen, Geir K. 217
Hoda, Rashina 3, 267 Taibi, Davide 68
Taylor, Katie 135
Thomaschewski, Jrg 37
Janes, Andrea 68
Tonin, Graziela Simone 84
Johnson, David 151
Tyagi, Sulabh 184
Khanna, Dron 167 Vischi, Dario 119
Koole, Wibo 103
Kropp, Martin 119 Wang, Xiaofeng 20, 167
Kuusinen, Kati 135 Wedzinga, Gosse 217
Winter, Dominique 37
Lenarduzzi, Valentina 68 Wood, Laurence 135
Leppnen, Marko 259
Liukkunen, Kari 68 Zahn, Carmen 119
306 Author Index
The Editor(s) (if applicable) and The Author(s) 2017. This book is an open access publication.
Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0
International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you give appropriate
credit to the original author(s) and the source, provide a link to the Creative Commons license
and indicate if changes were made.
The images or other third party material in this book are included in the books Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the books Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly
from the copyright holder.