Coaching a global agile virtual team

2015 IEEE 10th International Conference on Global Software Engineering Coaching a global agile virtual team Nils Brede Moe, Daniela S. Cruzes, Tore D...
3 downloads 0 Views 723KB Size
2015 IEEE 10th International Conference on Global Software Engineering

Coaching a global agile virtual team Nils Brede Moe, Daniela S. Cruzes, Tore Dybå

Ellen Engebretsen

SINTEF Norway [email protected], [email protected], [email protected]

Storebrand Norway [email protected]

promising for virtual teamwork, as they address the challenge of distributed work by shifting managerial functions to the team members. However, simply exhorting democratic ideals, by tearing down organizational hierarchies, or by instituting one-person-one-vote decision-making processes cannot create effective self-managing virtual teams. As in collocated agile teams, the agile virtual teams need to learn how to learn and implement shared leadership and shared decision-making. Hackman [4] argues that expert coaching is needed to foster and support the self-managing. The benefits and importance of coaching have been recognized in effectively adopting agile methodologies [7]. Although case studies and experience reports on agile coaching in general exist, the literature on how to coach globally distributed software teams to adopt agile practices and become self-managed is scarce [17].

Abstract—Virtual teams, with a high level of interdependence and cooperation among team members, are the building block of successful global software organizations. While becoming agile helps on communication and collaboration, such teams meet several challenges in the form of cultural differences, language barriers, national traditions, different values and norms, lack of face-to-face communication, time-zone differences, and difficulties in building and maintaining trust. A successful agile virtual team needs to have the right structure, but equally important is the ability to improve as a team; to become selfmanaging with shared decision-making and shared leadership. It takes a long time to form such a team, and expert coaching is needed. We describe and discuss how one team leader coached and improved a global virtual agile team at a large savings and insurance company over a period of one year. Because the team members had overlapping working hours the team was able to base coordination on mutual adjustment and frequent feedback. Social software and face-to-face meetings were important factors to achieve this. By involving the remote developers in the strategy of the product, enabling everyone to pick their own tasks, and focusing on continuous learning, knowledge sharing and team build activities, the team members became highly motivated and self-managing.

Motivated by the importance of creating high performing global virtual agile teams, there is a need to understand the role of the team leader as an expert coach in such teams. This paper reports on the approaches and solutions of one team leader coaching a virtual agile team distributed between Norway and Ukraine. Storebrand is a leading player in the Nordic market for long-term savings and insurance. The group's head office is in Norway. Storebrand operates a total of 1.8 million customers in Norway and Sweden. Software development is performed in Norway, Sweden, Ukraine, and Lithuania.

Keywords—agile, coaching, virtual teams, distributed agile, self-management, shared leadership

I.

The paper is organized as follows. In Section 2 we present the background on distributed agile teams, leadership and coaching. In Section 3 the team under study is described in more detail. Section 4 contains our findings, while Section 5 discusses and concludes the paper.

INTRODUCTION

One of the building blocks of successful global software organizations is the global virtual development team. A virtual team is a group “of geographically, organizationally and/or time dispersed workers brought together by information and telecommunication technologies to accomplish one or more organizational tasks” [16]. In a virtual team, work effectiveness and a constructive team climate have to be maintained using performance management strategies; leadership is therefore a central challenge. Furthermore, it is widely known that team leaders’ skills, actions, and behaviors have a major impact on the results of such teams.

II.

COACHING

Coaching impacts the perceived levels of empowerment, self-management, and improved group processes [9]. The role of the leader or the team coach is of course not to dictate to group members the best way to proceed with their collaborative work, it is about helping team members learn how to minimize process loss that happens in the group, and to consider how they might work together to generate synergistic process gains. Learning is the key when working on highly complex and ambiguous tasks such as a virtual agile team, and the level of coaching will improve the learning that takes place within the team and thus improve the output of the team [6]. Hagen and Aguilar (ibid) define manager coaching as “the process by which a manager, through guided discussion and activity, helps a member of his/her staff to solve a problem or

Nowadays, many companies are facing decisions about how to apply agile methods in their distributed teams [20]. The agile team has significant authority and responsibility for many aspects of their work, such as planning, scheduling, assigning tasks to members, and making decisions, i.e. the agile team is supposed to self-manage. Empowerment is even more important in a virtual team than in a collocated team as team managers are often not at the same location as the team members. Hertel et al. [8] affirm that delegative principles are 978-1-4799-8409-1/15 $31.00 © 2015 IEEE DOI 10.1109/ICGSE.2015.26

DISTRIBUTED AGILE TEAMS, LEADERSHIP AND

33

carry out a task more efficiently and/or effectively“. In agile software development the team leader (often known as the team coach) is the one responsible for protecting the team and for supporting and enabling self-management. He or she is often the one responsible for the continuous expert coaching.

method for managing the creation of products with an emphasis on continual delivery) and releases up to three times each week. The team is one out of four teams in the same program at Storebrand, which means that they need to coordinate work with other teams. The global virtual team consists of testers, front end and backend developers, a team lead, and a business lead. The business and team leads are in Norway, while the other roles are represented at both sites. The team performs code reviews, standups (on video), retrospectives, and demos, and developers pick their own task from the backlog.

Today’s world with constantly changing organizational structure requires flexibility and fluid teams with rotating and evolving team memberships. This kind of organizational change does not allow for team stability [5], and requires a constant focus on expert coaching of a distributed agile team. Expert coaching in such teams should be done during the whole process of software development.

The team has an operational steering committee (OC) that meets every second week. The OC group is responsible for coordinating all input from the external stakeholders to define the mandate for the development, following up the team on goal achievements, and prioritizing features to develop. The Product Backlogs, are maintained by the project lead (team leader) and the business lead. The business lead is the one responsible for the daily decisions regarding the features in the backlog. Both the business lead and the team lead are part of the operational steering committee.

Coaching a globally distributed team is more challenging than coaching a collocated team. Global software development poses additional challenges, such as cultural differences, language barriers, national traditions, different values and norms of behavior, the lack of face-to-face communication, time differences, and difficulties in building and maintaining trust [15]. Curry [2] explains the difficulty of adapting coaching strategies effectively across cultural differences. Culture impacts how relationships are formed and maintained as well as how power is viewed and exercised. Even the assumption of working together “as equals” has cultural overtones [2]. Working together “as equals” presumes there is little or no difference in hierarchy between the coach and person being coached. However, in higher power-distance cultures, the person being coached will have different expectations of his or her leader than in lower power-distance cultures. Furthermore, in coaching across cultures, it is important to respect the person’s individuality, regardless of whether he or she is from a more individualistic or collectivistic culture: individuals are not national culture.

IV.

Hackman et al. [5] advocate that a team leader can do much to promote team effectiveness by helping team members learn how to work interdependently in the specific team. The authors further affirm that when coaching a team the leader should provide the following help:

When understanding how to coach a virtual agile team, we have mapped the coaching activities performed in the team at Storebrand to Hackman’s framework [5], described in chapter 2: for effort, for knowledge and skills, and for performance strategies. We also found some barriers for successful coaching.

1) For effort. Helping the members minimize coordination and motivation problems (process loss that can waste effort), and help them build commitment to the group and its task (a process gain that can increase effort). 2) For knowledge and skills. Helping members avoid inappropriate weighting of different individuals ideas and contribution (a process loss), and helping them learn how to share their experience to build the groups repertoire of skills (a process gain). 3) For performance strategies. Helping members avoid failures in implementing their performance plans (a process loss), and helping them develop creative new ways of proceeding with the work (a process gain). III.

FINDINGS

To better understand the context of the expert coaching, it is necessary to understand the strategy of the team coach. The team leader who was performing the daily expert coaching explained: You need to see everyone in the team as valuable, and that everyone wants to do a good job. You need to trust them. Clarity is always important; it is about explaining and discussing the roadmap [of the project], goals and ambitions of each individual. I believe that continuous improvement is the key. Small improvements all the time so the team evolves. My job is to make it possible for the team members to become good together.

A. For effort: Supporting coordination Communication and coordination are the fundamental activities of a software team when solving complex and innovative tasks. According to Mintzberg [11], mutual adjustment (informal communication) should be the most important coordinating mechanism in such organizations. Mutual adjustment in its pure form requires everyone to communicate with everyone, which is a challenge in a globally distributed team. E-mails and chats support one-to-one communication only, and not manyto-many communication. To enable coordination by mutual adjustment, Storebrand offered the team to use HipChat, which is a type of social software. The primary features of HipChat are group chat rooms, searchable chat history, and image and file sharing. The idea is to combine the power of group chat and the simplicity of consumer instant messaging services with the administrative controls that companies need.

STOREBRAND

The experience reported in this paper is based on a team consisting of 13 members: 5 in Norway and 7 in Ukraine (subcontracted). The team started out with 5 people and has increased in number over the year they have been working together. The virtual team follows a Kanban process (an agile

34

for a software engineer is to ‘identify with their task’ which requires being given a task that is challenging and understanding the purpose and significance of the task in relation to the complete system being developed. Software engineers’ needs are complex – they also require regular feedback, trust, appreciation, rewards, a career path, and sustainable working hours. Beecham affirms that project managers play an important part in software engineer motivation [1].

The Figure 1 shows how the team members used the chat room during the working hours. When analyzing the HipChat logs in details we found that the main use of the social software was related to asking questions and discussing problems. We also found that the activity varied among the team members. By participating in the chat room, the team lead was taking part of the daily communication and could understand who was active, who was too active, and who was not active in the communication as well as always know what difficulties the team was facing at any time. Understanding the team communication pattern was essential for the coach to facilitate improvement.

When the team was created, one Norwegian senior developer was responsible for assigning tasks to the developers in Ukraine, and for explaining in detail the software requirements. The main reason for assigning tasks to team members was that the Ukrainians were lacking domain and product knowledge; therefore this approach seemed to be the best one. However, after a few months the team leader realized that this approach needed to change. Gradually the remote team-members were assigned more responsibility and started to pick their own tasks. They were given more autonomy, which is essential for achieving self-management. As one Ukraine developer said “we are continuously growing. We have many challenges and that is good”. After working in the team for a year, some Ukrainians became experts on parts of the system. One Norwegian tech lead commented: “the people in the team are highly skilled. They are self-propelled. For me as a tech lead it is not possible to follow up on everything. I trust them”. After a year, some Ukrainians had even more insight in parts of the code than the Norwegian developers that had been working in Storebrand for several years.

Figure 1 - HipChat Room Activity

Another important arena for mutual adjustment was the daily meeting. In the daily meting everyone shares what they are working on and if they are experiencing any impediments. In the first period of working together this meeting was done using HipChat. To improve the feedback and the dynamics of the team, and make it easier to ask questions, the team lead organized the daily meeting as a video meeting. The team communication improved. However, one problem was that some of the Ukrainians were silent during the meeting. The team leader then discussed with the Ukrainians and explained that it was expected that everyone participate actively in the meeting. Giving feedback to the team members improved the team communication.

Another important factor that seemed to be important for building motivation was to make sure that the team members fully understood the strategy and vision of the product, as well as the stakeholders needs. Therefore, the team lead arranged for physical meetings for everyone in the team to discuss the roadmap and the needs of the product with the key stakeholders. If the team members understand what the vision for the product is, they are able to make the right decisions when solving tasks and complex problems. After getting to know the important stakeholders, it was easier for a remote team-member to ask questions related to a feature under development.

One goal of the team lead was to enable mutual adjustment as the main coordination mechanism. One premise for succeeding in implementing mutual adjustment is that the team members need to trust each other. Face-to-face meeting is the most effective way of building trust in a virtual team [14]. The team lead then organized a travel to Ukraine and a joint meeting for the whole team in Norway. One Ukrainian developer commented during a collocated retrospective: “the trips shorten the distance and make it easier to work together. We need even more business trips”. As part of the meeting in Norway, the team lead arranged one day of team building activities for the whole team to improve the social relations within the team and to increase the level of trust in the team.

C. For knowledge and skills: Supporting sharing of experience and letting everyone participate when sharing ideas Relationship building can strengthen feelings of inclusiveness or a sense of belonging to teams and further foster cohesion [16]. Cohesion has been considered to be an important group variable affecting performance and satisfaction of a virtual team [10].

B. For effort: Supporting motivation Motivation is increasingly cited as a particularly pernicious people problem in software engineering [19]. Motivation refers to the initiation, direction, intensity and persistence of behavior. Motivation is acknowledged to have a major impact on software quality and productivity [3]. Furthermore, motivation can be viewed in terms of needs [1]; the key need

As described earlier, when starting to work together, the most experienced people in Ukraine and Norway did most of the talking in the meetings. Not everyone participated when sharing ideas and experience. Coaching the individual team members on the importance of active participation in the meetings and making sure that everyone got the opportunity to speak, helped improving team communication. In the

35

faster”.

retrospective, first, everyone spends some time writing down their ideas and experiences on stickers, before presenting them. This process enabled the newcomers to reflect on their own without the influence of the most experienced people. As one team member commented during one retrospective: “this way everyone is able to speak up, and we can then share our thoughts with the whole group”.

Another important mechanism for sharing knowledge and self-improvement is the code review process. When a developer reviews the code and gives feedback to another developer, learning occurs. This process also enables the seniors in the team to coach the juniors when it comes to write good code and to write it according to the expected standard in Storebrand. The most experienced people in Ukraine spend a lot of their time on coaching the juniors in their local part of the team on the coding, quality and domain knowledge.

To be able to discuss a problem and to give feedback team members require a certain level of overlapping skills. Therefore, redundancy is an important enabler for sharing experience and learning in agile teams [13]. Motivated by the importance of redundancy the team lead encouraged the team members to not always pick the same type of task. Increasing redundancy slowed down the team for a short period, but in the long run it increased the progress because of faster problem solving, fewer bottlenecks in the teamwork because of higher flexibility among the team members, and improved team learning. Further, the developers will probably become even more motivated because they were involved in a larger part of the code. After 6 months, several team members were able to pick most types of tasks in the backlog.

The team lead is focusing on increasing the autonomy of the team members, to enable team members to solve complex problems. Sometimes there are problems that cannot be solved within the team, which requires team members to contact people outside the team. We found that all team members actively use their local network (experts in other teams). One key enabler for accessing experts in other teams is the team leader trusting team members to make the right decisions when solving complex problems. E. Barriers to coaching an global agile virtual team While the team is continuously improving we found some barriers that made the expert coaching challenging. First, the team is large. It consists of 13 people, which makes it challenging to fully rely on mutual adjustment, even though the team has implemented social software. Mutual adjustment requires everyone to communicate with everyone, and everyone needs to trust each other. Since a person’s communication ability is limited, it is not likely that everyone in such a big team is able to communicate with all of their 12 teammates. In addition, because such a big team tend to be less stable than a small team, a large effort needs to be invested in keeping a high level of trust within the team when someone leaves or joins the team.

D. For performance strategies: Supporting the team selfimprovement For an agile team to be able to self-improve they need coaching on how to reflect and learn together [12]. In other words, the team needs to learn to learn. This occurs by questioning whether the development team is doing things right (single-loop learning), whether they are doing the right things (double-loop learning), and whether the team makes these decisions when answering “are we doing the right things?” correctly (ibid).

Second, the team members are not able to travel as much as the team and team leader wants. Everyone in the team acknowledges the importance of face-to-face meetings, however, to keep the cost down in the company the travel budget is restricted. Third, the Ukrainian site is more hierarchical than the Norwegian site. In Ukraine there are 6 levels of expertise, and a team member has to be approved by your peers (in the team) to climb the levels. A junior developer in Ukraine do not expect to pick his or her own task or to speak up in meetings, which is a challenge if the goal is to become agile and self-managed.

Figure 2 - A retrospective with the whole team

Fourth, there are language challenges. English is not the native language in any of the sites, which makes it more challenging to discuss and to share experience cross site.

To be able to discuss the underlying problems the team needs openness on reporting problems and challenges. The team lead constantly encouraged and reminded every team member to report problems and challenges, not only in the daily meetings or at the retrospectives. HipChat was one important channel for such reporting. Failing was also seen as a source of learning. One Norwegian developer commented: “we have a high tolerance in the team. It is allowed to fail. We should probably fail more often because then we learn even

In this paper we have presented experience from expert coaching of a global agile virtual team at Storebrand working together for a year. Agile practices were quite important enablers for the team to improve. The team had adopted a common backlog, team members could pick their own tasks, and everyone could speak in the retrospectives and daily meeting. Focusing on incremental improvement and team

V.

36

DISCUSSION AND CONCLUSION

learning, the team leader (the coach) gradually initiated changes that helped the team: • • •

[5] J.R. Hackman, R. Wageman, T.M. Ruddy, and C.R. Ray, “Team effectiveness in theory and practice,” in Industrial and organizational psychology: Theory and practice, Cooper, C. and E.A. Locke, Eds. Oxford, UK: Blackwell, 2000. [6] M. Hagen and M. Gavrilova Aguilar, “The impact of managerial coaching on learning outcomes within the team context: An analysis,” Human Resource Development Quarterly, 2012, pp. 363-388. [7] S. Hanly, L. Waite, L. Meadows, and R. Leaton, Agile coaching in British Telecom: Making strawberry jam, 2006. [8] G. Hertel, S. Geister, and U. Konradt, “Managing virtual teams: A review of current empirical research,” Human Resource Management Review, 2005, pp. 69-95. [9] B.L. Kirkman and B. Rosen, “Beyond self-management: Antecedents and consequences of team empowerment,” Academy of Management Journal, 1999, pp. 58-74. [10] C. Lin, C. Standing, and Y.-C. Liu, “A model to develop effective virtual teams,” Decision Support Systems, Publisher, city, 2008, pp. 1031-1045. [11] H. Mintzberg, Mintzberg on Management: Inside Our Strange World of Organizations, New York: Free Press, 1989. [12] N.B. Moe, “Key Challenges of Improving Agile Teamwork,” in Agile Processes in Software Engineering and Extreme Programming, Lecture Notes in Business Information Processing, vol. 149, Baumeister, H. and B. Weber, Eds.: Springer Berlin Heidelberg, 2013, pp. 7690. [13] N.B. Moe, T. Dingsøyr, and T. Dybå, “Overcoming Barriers to Self-Management in Software Teams,” IEEE Software, 2009, pp. 20-26. [14] N.B. Moe and D. Smite, “Understanding a lack of trust in Global Software Teams: a multiple-case study,” Software Process Improvement and Practice, 2008, pp. 217-231. [15] I. Oshri, J. Kotlarsky, and L.P. Willcocks, The Handbook of Global Outsourcing and Offshoring, Palgrave, 2011. [16] A. Powell, G. Piccoli, and B. Ives, “Virtual teams: a review of current literature and directions for future research,” SIGMIS Database, 2004, pp. 6-36. [17] M. Paasivaara and C. Lassenius, “Agile coaching for global software development,” Journal of SoftwareEvolution and Process, 2014, pp. 404-418. [18] E. Ries, The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses, Crown Business, 2011. [19] H. Sharp, N. Baddoo, S. Beecham, T. Hall, and H. Robinson, “Models of motivation in software engineering,” Inf. Softw. Technol., 2009, pp. 219-233. [20] D. Šmite, N.B. Moe, and P.J. Ågerfalk, “Agility Across Time and Space: Implementing Agile Methods in Global Software Projects”, Springer Berlin Heidelberg, 2010.

Coordinate work by mutual adjustment and strengthen motivation; Share knowledge and develop expertise; Learn to self-improve.

As a fully collocated team, the distributed team needs to rely on mutual adjustment to be able to solve complex tasks and to coordinate work in an efficient way. However, a big challenge is to enable mutual adjustment involving the whole distributed team. As we have described in this report, social software and coaching was part of the solution for this globally distributed team. A key factor for strengthening motivation and trust, and for relying on mutual adjustment is to enable face-to-face meetings with the team and the external stakeholders. Every team member needs to understand the purpose of the team, therefore the coach needs to find ways for team members to join when the roadmap of the product and the goal of the team are discussed. Another key factor for strengthening motivation is that team members are able to take ownership and responsibility of a part of the product. This means that the ownership and expertise of the product need to be distributed. While the coach has been able to constantly help the team improve and to implement agile practices, the work of the coach is never-ending. One challenge is to make the distributed agile practices (planning meetings, daily meetings, retrospectives) work even better. Further, it is essential that the whole team is able to work even closer with the business representatives in Norway as the team is going to try out Lean Startup [18]. Acknowledgments. 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] S. Beecham, “Motivating Software Engineers Working in Virtual Teams Across the Globe,” in Software Project Management in a Changing World, Ruhe, G. and C. Wohlin, Eds.: Springer Berlin Heidelberg, 2014, pp. 247273. [2] C.D. Curry, “Coaching Global Teams and Global Team Leaders,” in Leading Global Teams, Wildman, J.L. and R.L. Griffith, Eds.: Springer New York, 2015, pp. 141168. [3] G. Daniel, W. Xiaofeng, and A. Pekka, “Software Developers, Moods, Emotions, and Performance,” vol. 31, 2014, pp. 24-27. [4] J.R. Hackman, “The psychology of self-management in organizations,” in Psychology and work: Productivity, change, and employment, Pallack, M.S. and R.O. Perloff, Eds. Washington, DC: American Psycological Association, 1986.

37