Stakeholders’ information needs for artifacts and their dependencies in a real world context
In 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.
Participants in our study perform a variety of activities during software evolution. From the collected data, we identified a total of 403 activities from which we identified 26 unique activities. The following figure provides an overview of these activities and illustrates how much time on average each stakeholder per role spent on a given activity per day. The figure demonstrates that multiple stakeholder roles regularly perform the same activity. In total 19 of the 26 unique activities were performed by more than one stakeholder role. The figure also shows that, while a lot of time is spent each day on meetings and project management by all stakeholder roles, there are activities specific to a single or a few stakeholder roles that take up a lot of time.
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. To successfully perform a single activity, stakeholders require many different kinds of information artifacts. The following figure presents the information artifacts that are being used for each of the 15 most common activities. For all activities, more than one kind of information artifact is being used. On average, 6.9 different information artifacts are being used for each of the top 15 activities and 4.9 information artifacts are being used on average for all 26 activities we have observed during the diary study.
To successfully perform a software evolution activity, not only do stakeholders need information from various kinds of artifacts, the information needs per artifact are fragmented and vary by activity and stakeholder role. In our study we identified this fragmentation of relevant information within information artifacts predominantly for change requests, the most commonly used artifact. For each activity performed during software development, a multitude of different information artifacts is being used. While different stakeholder roles perform some of the same activities on a daily basis, different roles use different information artifacts to perform the same activity. The crosscutting nature of the information needs is even visible for a single artifact, since different roles use different fragments of the same artifact for the same activity.
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.