Skip to main content

Viktoria Stray

Daily stand-up meetings are commonly used for software teams to collaborate and exchange information, but conducting them in a way that benefits the whole team can be challenging. We describe factors that can affect meetings and propose... more
Daily stand-up meetings are commonly used for software teams to collaborate and exchange information, but conducting them in a way that benefits the whole team can be challenging. We describe factors that can affect meetings and propose recommendations for improving them.
Today, many large-scale software projects have members working from home, which has changed the way teams coordinate work. To better understand coordination in this setting, we conducted a case study through which we examined two teams in... more
Today, many large-scale software projects have members working from home, which has changed the way teams coordinate work. To better understand coordination in this setting, we conducted a case study through which we examined two teams in a large-scale agile project by observing meetings and conducting 17 interviews. Through the lens of Relational Coordination Theory (RCT), we analyzed the use of the goal-setting framework Objectives and Key Results (OKRs) and the collaboration tool Slack. Slack was used for frequent, timely, and problem-solving communication and, and its use decreased the number of planned meetings. However, discussions often started on Slack and continued in virtual ad-hoc meetings. The use of OKRs facilitated knowledge sharing, helped the teams align their goals, and provided inter-team insights. The main implication of our research is that projects using OKRs need to support project members, especially in formulating the key results that align and motivate the teams to work toward the same mission.
In the spring of 2020, the Department of Informatics covered a 20 ECTS capstone course in Software Engineering, mainly focusing on developing a complex application. The course used active learning methods, and 240 students were working in... more
In the spring of 2020, the Department of Informatics covered a 20 ECTS capstone course in Software Engineering, mainly focusing on developing a complex application. The course used active learning methods, and 240 students were working in 42 cross-functional, agile teams. The pandemic caused by the coronavirus had a significant impact on the teaching given by the University of Oslo, as all physical education and collaboration among the teams had to be digital from March 12. At the end of the semester, we conducted a survey that focused on 1) aspects of teamwork (e.g., communication and coordination in the teams) and the relation to team performance (e.g., the application product) and 2) the students’ motivation and ability to cooperate through digital platforms. A total of 151 respondents in 41 agile student teams answered the survey. This study aimed to investigate how the teamwork and motivation of the students were affected by having to work virtually. The results are compared to...
Delivering results iteratively and frequently in large-scale agile requires efficient management of dependencies. We conducted semi-structured interviews and virtual observations in a large-scale project during the Covid-19 pandemic to... more
Delivering results iteratively and frequently in large-scale agile requires efficient management of dependencies. We conducted semi-structured interviews and virtual observations in a large-scale project during the Covid-19 pandemic to better understand large-scale dependency management. All employees in the case were working from home. During our data collection and analysis, we identified 22 coordination mechanisms. These mechanisms could be categorized as synchronization activities, boundary-spanning activities and artifacts, and coordinator roles. By using a dependency taxonomy, we analyzed how the mechanisms managed five different types of dependencies. We discuss three essential mechanisms for coordination in our case. First, setting Objectives and Key Results (OKRs) in regular workshops increased transparency and predictability across teams. Second, ad-hoc communication, mainly happening on Slack because of the distributed setting, was essential in managing dependencies. Thir...
Large-scale transformations of agile ways of working have received more attention in the industry in recent years. Some organizations have developed their own solutions for scaling, whereas many have chosen trademarked frameworks. In... more
Large-scale transformations of agile ways of working have received more attention in the industry in recent years. Some organizations have developed their own solutions for scaling, whereas many have chosen trademarked frameworks. In large-scale agile software development, many developers and development teams carry out work simultaneously. When autonomous teams need to coordinate toward a common goal, they must sacrifice some level of autonomy. Development, testing, and integrations need to be coordinated with other teams and aligned with an organization´s programs or portfolio. Through the conducting of 28 interviews and 17 on-site visits, this multiple case study explored how team autonomy changed in three agile software development organizations that implemented the Scaled Agile Framework (SAFe). The positive changes to team autonomy that they experienced as a result included getting a better overview, making better long-term decisions, giving and receiving help, and signaling l...
Agile transformation implies that organizations apply agile methods also outside of software development units. One particular way of doing such transformations is to create cross-functional software development units. This represents new... more
Agile transformation implies that organizations apply agile methods also outside of software development units. One particular way of doing such transformations is to create cross-functional software development units. This represents new challenges for control for organizations as the unformal agile control mechanisms from the software units meet the more formal, bureaucratic and hierarchical control from other units. The research on how to manage control in agile transformations, however, is scarce. Through a case study of a new, cross-functional unit in a financial institution, we report on their work to implement control in agile transformations. To analyze our results, we draw on new perspectives for control in the digital era, which challenges existing presumptions on control. Our findings indicate how agile transformations require rethinking traditional control mechanisms and experiment with new control perspectives more suitable for the digital era.
Inter-team coordination in large-scale software development can be challenging when relying on agile development methods that emphasize iterative and frequent delivery in autonomous teams. Previous research has introduced the concept of... more
Inter-team coordination in large-scale software development can be challenging when relying on agile development methods that emphasize iterative and frequent delivery in autonomous teams. Previous research has introduced the concept of coordination strategies, which refer to a set of coordination mechanisms to manage dependencies. We report on a case study in a large-scale agile development program with 16 development teams. Through interviews, meeting observations, and supplemental document analyses, we explore the challenges to inter-team coordination and how dependencies are managed. We found four coordination strategies: 1) aligning autonomous teams, 2) maintaining overview in the large-scale setting, 3) managing prioritizations, and 4) managing architecture and technical dependencies. This study extends previous research on coordination strategies within teams to the inter-team level. We propose that large-scale organizations can use coordination strategies to understand how t...
Many companies have turned towards globally distributed software development in their quest for access to more development capacity. This paper investigates how a company onboarded distributed teams in a global project, and report... more
Many companies have turned towards globally distributed software development in their quest for access to more development capacity. This paper investigates how a company onboarded distributed teams in a global project, and report experience on how to study such distributed projects. Onboarding is the process of helping new team members adapt to the existing team and ways of working. The goal of the studied onboarding program was to integrate Portuguese developers into two existing Norwegian teams. Further, due to the growing trend in utilizing globally distributed projects, and the challenge of conducting studies in distributed organizations, it is crucial to find good practices for researching such projects. We collected qualitative data from interviews, observations, Slack conversations and documents, and quantitative data on Slack activity. We report experiences on different onboarding practices and techniques, and we suggest guidelines to help other researchers conduct qualitative studies in globally distributed projects.
Current digital transformation moves information systems development into larger transformation programs with higher strategic significance and increased complexity in organization. Agile and BizDev are among the practical methods used to... more
Current digital transformation moves information systems development into larger transformation programs with higher strategic significance and increased complexity in organization. Agile and BizDev are among the practical methods used to practice digita
Virtual teams rely on enterprise social networking tools such as Slack to collaborate efficiently. While such tools contribute to making the communication more synchronous and support distributed agile development, there are several... more
Virtual teams rely on enterprise social networking tools such as Slack to collaborate efficiently. While such tools contribute to making the communication more synchronous and support distributed agile development, there are several challenges such as how to interact with each other and how to balance the communication with other types of communication mechanisms such as meetings, e-mail, and phone. In this paper, we describe and discuss how a distributed global project used Slack. Some of the challenges we identified were related to language problems, using too much direct messaging when communicating, and unbalanced activity (33% of the users accounted for 86% of the messages). The positive aspects of using the tool were increased transparency, team awareness, and informal communication. Further, Slack facilitates problem-focused communication which is essential for agile teams. Our study stresses the importance of reflecting on how virtual teams use communication tools, and we suggest that teams decide on guidelines on how to use the tools to improve their coordination.
The majority of software developers work in teams and are thus influenced by team norms. Norms are shared expectations of how to behave and regulate the interaction between team members. Our aim of this study is to gain more knowledge... more
The majority of software developers work in teams and are thus influenced by team norms. Norms are shared expectations of how to behave and regulate the interaction between team members. Our aim of this study is to gain more knowledge about team norms in software teams and to increase the understanding of how norms influence teamwork in agile software development projects. We conducted a study of norms in four agile teams located in Norway and Malaysia. The analysis of 22 interviews revealed that we could extract a varied set of both injunctive and descriptive norms. Our results suggest that team norms have an important role in enabling team performance.
Shared knowledge allows virtual teams to collaborate more effectively. Shared knowledge in teams, hereafter called team knowledge, must be established and maintained. This is a key enabler for agile development in a distributed context.... more
Shared knowledge allows virtual teams to collaborate more effectively. Shared knowledge in teams, hereafter called team knowledge, must be established and maintained. This is a key enabler for agile development in a distributed context. Hence, organizations may benefit from efforts to ensure sufficient levels of team knowledge. Such efforts may include different measures, such as project kick-offs, frequent visits across locations, knowledge sharing tools and practices. However, team knowledge includes many types of knowledge, with different impacts on the team's work. This paper outlines a framework for conceptualizing the breadth of team knowledge relevant for virtual software teams. With the help of this framework, organizations can think more strategically about how to improve team knowledge -- for example the planning of kick-offs, what to focus on in face-to-face meetings and how the team members work together on a day-to-day basis. The framework may also be used to assist in planning team composition, for example based on individuals' knowledge and the overlap with other team members' knowledge. The framework uses four broad categories of team knowledge: task-related, team-related, process-related and goal-related. Beneath these four categories the framework details and describes more concrete knowledge types. We also provide examples from software practice for each knowledge type.
It is increasingly common to introduce agile coaches to help gain speed and advantage in agile companies. Following the success of Spotify, the role of the agile coach has branched out in terms of tasks and responsibilities, but little... more
It is increasingly common to introduce agile coaches to help gain speed and advantage in agile companies. Following the success of Spotify, the role of the agile coach has branched out in terms of tasks and responsibilities, but little research has been conducted to examine how this role is practiced. This paper examines the role of the agile coach through 19 semistructured interviews with agile coaches from ten different companies. We describe the role in terms of the tasks the coach has in agile projects, valuable traits, skills, tools, and the enablers of agile coaching. Our findings indicate that agile coaches perform at the team and organizational levels. They affect effort, strategies, knowledge, and skills of the agile teams. The most essential traits of an agile coach are being emphatic, people-oriented, able to listen, diplomatic, and persistent. We suggest empirically based advice for agile coaching, for example companies giving their agile coaches the authority to impleme...
Today, many large-scale software projects have members working from home, which has changed the way teams coordinate work. To better understand coordination in this setting, we conducted a case study through which we examined two teams in... more
Today, many large-scale software projects have members working from home, which has changed the way teams coordinate work. To better understand coordination in this setting, we conducted a case study through which we examined two teams in a large-scale agile project by observing meetings and conducting 17 interviews. Through the lens of Relational Coordination Theory (RCT), we analyzed the use of the goal-setting framework Objectives and Key Results (OKRs) and the collaboration tool Slack. Slack was used for frequent, timely, and problem-solving communication and, and its use decreased the number of planned meetings. However, discussions often started on Slack and continued in virtual ad-hoc meetings. The use of OKRs facilitated knowledge sharing, helped the teams align their goals, and provided inter-team insights. The main implication of our research is that projects using OKRs need to support project members, especially in formulating the key results that align and motivate the t...
Along with the increasing popularity of agile software development, software work has become much more social than ever. Contemporary software teams rely on a variety of collaborative practices, such as pair programming, the topic of our... more
Along with the increasing popularity of agile software development, software work has become much more social than ever. Contemporary software teams rely on a variety of collaborative practices, such as pair programming, the topic of our study. Many agilists advocated the importance of collocation, face-to-face interaction, and physical artefacts incorporated in the shared workspace, which the COVID-19 pandemic made unavailable; most software companies around the world were forced to send their engineers to work from home. As software projects and teams overnight turned into distributed collaborations, we question what happened to the pair programming practice in the work-from-home mode. This paper reports on a longitudinal study of remote pair programming in two companies. We conducted 38 interviews with 30 engineers from Norway, Sweden, and the USA, and used the results of a survey in one of the case companies. Our study is unique as we collected the data longitudinally in April/M...
Hackathons are events in which diverse teams work together to explore and develop solutions, software, or even ideas. Hackathons have been recognized not only as public events for hacking but also as a corporate mechanism for innovation.... more
Hackathons are events in which diverse teams work together to explore and develop solutions, software, or even ideas. Hackathons have been recognized not only as public events for hacking but also as a corporate mechanism for innovation. Hackathons are a way for established large-scale agile organizations to achieve increased employee wellbeing as well as being a curator for innovation and developing new products. The sudden transition to the work-from-home mode caused by the COVID-19 pandemic first put many corporate events requiring collocation, such as hackathons, temporarily on hold and then motivated companies to find ways to hold these events virtually. In this paper, we report our findings from investigating hackathons in the context of a large agile company by first exploring the general benefits and challenges of hackathons and then trying to understand how they were affected by the virtual setup. We conducted nine interviews, surveyed 23 employees, and analyzed a hackathon...
Virtual teams rely on enterprise social networking tools such as Slack to collaborate efficiently. While such tools contribute to making the communication more synchronous and support distributed agile development, there are several... more
Virtual teams rely on enterprise social networking tools such as Slack to collaborate efficiently. While such tools contribute to making the communication more synchronous and support distributed agile development, there are several challenges such as how to interact with each other and how to balance the communication with other types of communication mechanisms such as meetings, e-mail, and phone. In this paper, we describe and discuss how a distributed global project used Slack. Some of the challenges we identified were related to language problems, using too much direct messaging when communicating, and unbalanced activity (33% of the users accounted for 86% of the messages). The positive aspects of using the tool were increased transparency, team awareness, and informal communication. Further, Slack facilitates problem-focused communication which is essential for agile teams. Our study stresses the importance of reflecting on how virtual teams use communication tools, and we suggest that teams decide on guidelines on how to use the tools to improve their coordination.
The majority of software developers work in teams and are thus influenced by team norms. Norms are shared expectations of how to behave and regulate the interaction between team members. Our aim of this study is to gain more knowledge... more
The majority of software developers work in teams and are thus influenced by team norms. Norms are shared expectations of how to behave and regulate the interaction between team members. Our aim of this study is to gain more knowledge about team norms in software teams and to increase the understanding of how norms influence teamwork in agile software development projects. We conducted a study of norms in four agile teams located in Norway and Malaysia. The analysis of 22 interviews revealed that we could extract a varied set of both injunctive and descriptive norms. Our results suggest that team norms have an important role in enabling team performance.
Coordination is an important but challenging success factor in large-scale software development. Large-scale is particularly demanding because it involves several teams, and therefore we chose to study coordination between teams. Our aim... more
Coordination is an important but challenging success factor in large-scale software development. Large-scale is particularly demanding because it involves several teams, and therefore we chose to study coordination between teams. Our aim of this case study was to investigate inter-team coordination mechanisms. By using an established framework from the field of sociology, we found eleven different coordination mechanisms that we mapped into the five different categories. We interviewed four project members and observed 26 meetings in three different teams as part of a larger digiti-zation project. Our results show that even though there are many impersonal mechanisms in the form of various guidelines and rules, the most important mechanism seem to be ad-hoc conversations between two or more project members. The large-scale project had many regularly scheduled meetings. However, the majority of these meetings tended to be, to a greater extent, about reporting status and not about coordinating work. The scheduled meeting that was the most time-consuming, and also involved little coordination, was the daily stand-up meeting with two teams. Future work should investigate how to increase the value of daily stand-up meetings in large-scale programs, and whether the meetings can be organized in a way that enables more inter-team coordination.
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.... more
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.
One important discussion in the software development field is related to the skills that people need to have to build successful software products. This debate is generated on one hand by a large number of failures and delays of software... more
One important discussion in the software development field is related to the skills that people need to have to build successful software products. This debate is generated on one hand by a large number of failures and delays of software projects. On the other hand, the debate is triggered by the need to build even better-quality software in a rapidly changing world. We will examine to which extent soft skills are relevant when hiring software testers and if there are any specific skills required for agile testers. We analyzed 400 job advertisements for testers from 33 countries, out of which 64% ask for soft skills. Of the advertisements asking for soft skills, there is, on average, a request for 5 soft skills, 11 testing skills, and 5 technical skills. Only 30% of the companies ask explicitly for agile testers. However, our analysis shows no notable differences in skill demands for agile testers and the rest. Software companies want to hire testers who can communicate well and have analytical and problem-solving skills. There is a significant increase in the need for openness and adaptability, independent-working and team-playing since 2012. In addition, there are new categories of soft skills identified, such as having work ethics, customer-focus and the ability to work under pressure.