Daily stand-up meetings are commonly used for software teams to collaborate and exchange informat... 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 w... 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 Softwar... 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...
Agile Processes in Software Engineering and Extreme Programming – Workshops, 2021
Delivering results iteratively and frequently in large-scale agile requires efficient management ... 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...
International Journal of Information Systems and Project Management, 2022
Large-scale transformations of agile ways of working have received more attention in the industry... 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 Processes in Software Engineering and Extreme Programming – Workshops, 2020
Agile transformation implies that organizations apply agile methods also outside of software deve... 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.
Lecture Notes in Business Information Processing, 2021
Inter-team coordination in large-scale software development can be challenging when relying on ag... 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...
2021 IEEE/ACM Joint 15th International Conference on Software and System Processes (ICSSP) and 16th ACM/IEEE International Conference on Global Software Engineering (ICGSE), 2021
Proceedings of the Evaluation and Assessment in Software Engineering
Many companies have turned towards globally distributed software development in their quest for a... 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.
Daily stand-up meetings are commonly used for software teams to collaborate and exchange informat... 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 w... 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 Softwar... 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...
Agile Processes in Software Engineering and Extreme Programming – Workshops, 2021
Delivering results iteratively and frequently in large-scale agile requires efficient management ... 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...
International Journal of Information Systems and Project Management, 2022
Large-scale transformations of agile ways of working have received more attention in the industry... 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 Processes in Software Engineering and Extreme Programming – Workshops, 2020
Agile transformation implies that organizations apply agile methods also outside of software deve... 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.
Lecture Notes in Business Information Processing, 2021
Inter-team coordination in large-scale software development can be challenging when relying on ag... 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...
2021 IEEE/ACM Joint 15th International Conference on Software and System Processes (ICSSP) and 16th ACM/IEEE International Conference on Global Software Engineering (ICGSE), 2021
Proceedings of the Evaluation and Assessment in Software Engineering
Many companies have turned towards globally distributed software development in their quest for a... 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.
Uploads