n the evolution of software, stakeholders continuously seek and consult various information artifacts and their interdependencies to successfully complete their daily activities. While a lot of research has focused on supporting stakeholders in satisfying various information needs, there is little empirical evidence on how these information needs manifest themselves in the context of professional software development teams of real world companies. To investigate the information needs of the different stakeholder roles involved in software evolution activities, we conducted an empirical study with 23 participants from two professional development teams of one company. The analysis of the gathered data shows that information needs exhibit a crosscutting nature with respect to stakeholder role, activity, artifacts and even fragments of artifacts. We also found that the dependencies between information artifacts are important for the successful performance of software evolution activities, but often not captured explicitly. The lack of an explicit representation of these interdependencies often result in difficulties identifying dependent artifacts and additional communication effort. Based on our findings, we suggest ways to better support stakeholders with their information needs.
Stakeholders’ information needs for artifacts and their dependencies in a real world context
1. Sebastian Müller and Thomas Fritz
Stakeholders’ Information Needs for
Artifacts and their Dependencies in
a Real World Context
ICSM 2013, Eindhoven
1
7. Stakeholder Activities
2
Evolution of a project requires stakeholders to
perform a lot of different activities.
(c) blog.cloudbooking.com and Sebastian Bergmann
2
17. Research Questions
4
RQ 1:
RQ 2:
What are the characteristics of
information artifacts needed by different
kinds of stakeholder roles in the daily
software evolution activities?
How are these artifacts interdependent?
4
18. Related Work
Focused on
• single stakeholder role
(e.g. Schröter et al CSWC’12, Seaman ICSM’02)
• single information artifact
(e.g. Breu et al CSCW’10, Aranda et al ICSE’09)
• single activity
(e.g. Sillito et al TSE’08, Roehm et al ICSE’12)
5
5
19. Study Methods
6
403 instances
of activity
description &
interview
transcriptions
23 participants
from 2 software
development
teams
diary study
interviews
6
20. Study Participants
7
Role # Subjects
Team 1Team 1
Software developer 5 (4 interviewed)
Software tester 1
Requirements engineer 1
Project manager 1 (0 interviewed)
Line manager 1
Team 2Team 2
Software developer 6 (5 interviewed)
Software tester 4
Requirements engineer 2
Project manager 1
Line manager 1
All stakeholders 23 (20 interviewed)
7
21. Study Methods
8
403 instances
of activity
description &
interview
transcriptions
23 participants
from 2 software
development
teams
diary study
interviews
8
24. Data Analysis
9
Data Coding
Open coding to
develop concepts
and categories
Axial coding to
related these to
each other
Selective coding
to related data to
these categories
Collected Data
Interview transcripts
from 20 follow-up
interviews
Activity
descriptions from a
six day diary study
9
25. Data Analysis
9
Data Coding
Open coding to
develop concepts
and categories
Axial coding to
related these to
each other
Selective coding
to related data to
these categories
Collected Data
Interview transcripts
from 20 follow-up
interviews
Activity
descriptions from a
six day diary study
Findings
Information needs
exhibit a
crosscutting nature
Information needs
are fragmented
Dependencies
between information
artifacts are very
important
9
31. Research Question 1
What are the characteristics of
information artifacts needed by
different kinds of stakeholder roles in
the daily software evolution activities?
11
11
38. Crosscutting Information Needs
for Bug Analysis
Information Artifacts needed for Bug Analysis:
13
Software developers:
6 artifacts: change request, code, requirements,
test cases, logs, and code models
13
39. Crosscutting Information Needs
for Bug Analysis
Information Artifacts needed for Bug Analysis:
13
Software developers:
6 artifacts: change request, code, requirements,
test cases, logs, and code models
Line managers:
2 artifacts: change request, requirements
13
40. Crosscutting Information Needs
Information Artifacts needed for Bug Analysis:
14
Software developers:
6 artifacts: change request, code, requirements,
test cases, logs, and code models
Line managers:
2 artifacts: change request, requirements
14
41. Crosscutting Information Needs
Information Artifacts needed for Bug Analysis:
14
Information needs vary by stakeholder
role for each activity.
Software developers:
6 artifacts: change request, code, requirements,
test cases, logs, and code models
Line managers:
2 artifacts: change request, requirements
14
42. Information Needs are Fragmented
Information needed in a change request while bug
triaging:
15
15
43. Information Needs are Fragmented
Information needed in a change request while bug
triaging:
15
“Especially
important is the
person who has
reported the
change request.”
Line manager
15
44. Information Needs are Fragmented
Information needed in a change request while bug
triaging:
15
“Especially
important is the
person who has
reported the
change request.”
Line manager
“The type of the
change request is
important. If it is a
defect, the severity is
important.”
Project manager
15
45. Information Needs are Fragmented
Information needed in a change request while bug
triaging:
15
“Especially
important is the
person who has
reported the
change request.”
Line manager
“The type of the
change request is
important. If it is a
defect, the severity is
important.”
Project manager
Information needs per artifact
are also fragmented.
15
48. Crosscutting Information Needs
16
For different activities, different stakeholder roles need
different information artifacts.
For the same activity, different stakeholder roles might
used different information artifacts.
16
49. Crosscutting Information Needs
16
For different activities, different stakeholder roles need
different information artifacts.
For the same activity, different stakeholder roles might
used different information artifacts.
Even if the same information artifact is used, different
fragments in this information artifact are important for
different stakeholder roles.
16
53. Levels of Artifact Dependencies
18
Test case
Requirements
Severity of a
change request
Test case
18
54. Levels of Artifact Dependencies
18
Location of incident
in a bug reported
from field
Specific part of a
requirements document
Test case
Requirements
Severity of a
change request
Test case
18
55. Levels of Artifact Dependencies
18
Location of incident
in a bug reported
from field
Specific part of a
requirements document
Test case
Requirements
Severity of a
change request
Test case
Multiple artifact dependencies
are needed for an activity
18
56. Levels of Artifact Dependencies
19
Multiple artifact dependencies
are needed for an activity
Links between
multiple information
artifacts have to be
established and
maintained.
19
57. Artifact Dependencies in Reality
Links between information
artifacts are often missing for
many reasons
These missing links lead to
additional and repeated
communication effort by all
stakeholder roles
20
20
59. Artifact Dependencies in Reality
21
“I guess that in only 6% of all cases there is really a link
between the test case and the requirements.” (R2)
21
60. Artifact Dependencies in Reality
21
“I guess that in only 6% of all cases there is really a link
between the test case and the requirements.” (R2)
“There is a lot of documentation available, but it is not
widely known where to find it.” (D9)
21
61. Artifact Dependencies in Reality
21
“I guess that in only 6% of all cases there is really a link
between the test case and the requirements.” (R2)
“There is a lot of documentation available, but it is not
widely known where to find it.” (D9)
“4-5 iterations [with a requirements engineer] are
necessary until every issue is clarified and until I can start
to implement anything.” (D2)
21
63. Current Practices to Link Artifacts
Stakeholders already used a lot of different
tools to recover from this problem, e.g.:
22
“In the wiki links to other important internal documents,
e.g. requirements specifications, are stored.” (D3)
22
64. Current Practices to Link Artifacts
Stakeholders already used a lot of different
tools to recover from this problem, e.g.:
22
“In the wiki links to other important internal documents,
e.g. requirements specifications, are stored.” (D3)
“We in the requirements engineering team do know that
developers use a wiki, but we do not think that this is
useful.” (R2)
No success so far:
22
65. Better Tool Support for Linking
Information Artifacts
Make links first class entities
Focus on many-to-many links instead of 1-
to-1
Aggregate and tailor information based on
activity and role context
23
23