VRIJE UNIVERSITEIT AMSTERDAM FACULTY OF SCIENCES AGILE SOFTWARE DEVELOPMENT IN A GLOBALLY DISTRIBUTED ENVIRONMENT A STUDY ON THE BENEFITS AND CHALLENGES Non-public (Niet openbaar) Date: 02/01/2012 Thesis Master of Science in Information Sciences Supervisors: Author: Prof. Dr. J.C. van Vliet R. Noordeloos (1571338) C. Manteli Master Thesis “Agile software development in a globally distributed environment: A study on the benefits and challenges” Author R. Noordeloos O.Z. Achterburgwal 191-C 1012DK Amsterdam [email protected] Student number: 1571338 Vrije Universiteit Amsterdam Vrije Universiteit Amsterdam Faculty of Sciences De Boelelaan 1081 1081 HV Amsterdam Supervisor Prof. Dr. J.C. van Vliet [email protected] Co-Supervisor C. Manteli [email protected] Capgemini Capgemini Nederland B.V. Financial Services GBU – B60 Papendorpseweg 100 3528 BJ Utrecht Supervisor F. Nordkamp [email protected] It is not allowed to publish this document without permission of the author and Capgemini Netherlands. Benefits and Challenges of Agile in a Globally Distributed Environment ABSTRACT In the past few years the use of Agile methodologies in Global Software Development (GSD) has become an emerging trend in software engineering. Usually organisations turn either to offshore development or Agile development to deal with the software engineering challenges like reducing development costs, improve quality, align business and IT. Given the Agile aspects like intensive collaboration and low-weight documentation, the two approaches seems to be diametrically opposed to one another. Intensive collaboration is quite challenging when one part of the team is located at another location offshore. Furthermore, offshore development often requires more documentation and a fixed plan. Nevertheless, it seems that organisations who successfully master the complexity of merging the two approaches can gain advantages from both. In this study we first conducted a literature review to identify the most well-known benefits and challenges of using either offshore development or Agile development in software engineering. Subsequently, we identified through the literature the challenges and benefits of using Agile in an offshore context. A field study is conducted at two offshore projects where they recently adopted the Agile way of working. Through this field study we tried to acknowledge and extend the findings from the literature. Our findings from the field study show that through the use of Agile in offshore development many of the well-known offshore challenges seems to be mitigated. In addition, the general benefits of using Agile methodologies in software engineering seems also to be applicable to offshore development. More specifically, the use of Agile in an offshore project with distributed team members seems to improve communication, knowledge management, team cohesion and team satisfaction. Overall the quality and performance of the project has been greatly improved. Furthermore, the challenges that arise from the combination of Agile and Offshore can be simply tackled through the use of several tools and practices. In this case also well-known GSD solutions were used to overcome some general issues related to the use of Agile development in a distributed context. This study shows that Agile and GSD can be successfully combined and that the combination of Agile and GSD practices can lead to successful distributed collaboration. This research is relevant to anyone who is seeking ways to apply Agile methodologies in their globally distributed software projects. Keywords: Global Software Development, Offshore Projects, Distributed Development, Distributed Agile Development, Distributed Scrum, Literature Review, Field Study, Benefits and Challenges. Benefits and Challenges of Agile in a Globally Distributed Environment I ACKNOWLEDGEMENTS It would not have been possible to write this thesis without the support and input of many people. For this reason I would like to express my gratitude to all the people who helped me during this process. I especially want to thank my supervisors, Prof. Dr. Hans van Vliet and Christina Manteli for their attention, guidance, critical notes and review of my work. I also would like to thank my supervisor from Capgemini, Fabian Nordkamp, and Paul Rispens, the current project leader of the two projects where I conducted my field study. Furthermore I would like to thank all the participants from the interview sessions from both Capgemini Netherlands, Capgemini India and ING for their input, openness and willingness to participate. Last but not least, I would like to thank my friends and family for keeping on supporting and motivating me. Benefits and Challenges of Agile in a Globally Distributed Environment II TABLE OF CONTENTS Abstract ........................................................................................................................................................ I Acknowledgements.................................................................................................................................II Table of Contents ................................................................................................................................... III List of Figures .......................................................................................................................................... VI List of Tables ........................................................................................................................................... VI 1 2 Introduction...................................................................................................................................... 1 1.1 Context ....................................................................................................................................................... 1 1.2 Capgemini ................................................................................................................................................. 2 1.3 Problem statement ............................................................................................................................... 2 1.4 Research method ................................................................................................................................... 2 Global Software Development.................................................................................................... 4 2.1 2.1.1 Reduced Development costs ................................................................................................... 4 2.1.2 Reduced time to market............................................................................................................ 4 2.1.3 Larger labour pool....................................................................................................................... 5 2.1.4 Closer proximity to market ..................................................................................................... 5 2.1.5 Innovation and sharing best practices................................................................................ 5 2.2 3 Benefits of Global Software Development .................................................................................. 4 Challenges of Global Software Development ............................................................................. 5 2.2.1 Strategic issues ............................................................................................................................. 6 2.2.2 Culture and language ................................................................................................................. 6 2.2.3 knowledge management .......................................................................................................... 6 2.2.4 Infrastructure ................................................................................................................................ 8 2.3 The impact of Distance on GSD ........................................................................................................ 8 2.4 Approaches for Global Software Development......................................................................... 9 2.4.1 Reduce coordination complexity: ......................................................................................... 9 2.4.2 Reduce cultural distance ....................................................................................................... 10 2.4.3 Reduce temporal distance..................................................................................................... 10 Agile in Global Software Development................................................................................. 11 3.1 Agile software development .......................................................................................................... 11 3.2 Agile Alliance........................................................................................................................................ 12 3.3 Agile Methodologies .......................................................................................................................... 13 Benefits and Challenges of Agile in a Globally Distributed Environment III 4 3.3.1 Scrum ............................................................................................................................................. 13 3.3.2 eXtreme Programming ........................................................................................................... 14 3.3.3 Crystal development ............................................................................................................... 14 3.3.4 Feature driven development (FDD).................................................................................. 14 3.4 The core Aspects of Agile software development ................................................................. 15 3.5 Agile in Global Software Development ...................................................................................... 17 3.5.1 Distributed Agile development (DAD) Challenges ..................................................... 17 3.5.2 How GSD can benefit from Agile practices ..................................................................... 21 Practical work ............................................................................................................................... 24 4.1 4.1.1 Team structure .......................................................................................................................... 24 4.1.2 Interviewees ............................................................................................................................... 25 4.2 Used Agile Practices .......................................................................................................................... 25 4.2.1 the Framework .......................................................................................................................... 25 4.2.2 The scrum practices ............................................................................................................ 27 4.2.3 Scrum team aspects ................................................................................................................. 28 4.2.4 Agreements ................................................................................................................................. 29 4.2.5 Overview of all the mentioned changes due to Scrum .............................................. 29 4.3 Perceived Benefits of Agile ............................................................................................................. 30 4.3.1 Communication ......................................................................................................................... 30 4.3.2 Knowledge Management ....................................................................................................... 31 4.3.3 Team cohesion ........................................................................................................................... 33 4.3.4 Team satisfaction ...................................................................................................................... 34 4.3.5 Quality & Performance ........................................................................................................... 35 4.3.6 Relating Benefits to literature ............................................................................................. 37 4.3.7 Relationships between the categories ............................................................................. 38 4.4 How the projects handled the DAD-Challenges ..................................................................... 39 4.5 The mentioned challenges from the field study .................................................................... 42 4.5.1 Technical issues......................................................................................................................... 42 4.5.2 Language & Culture issues .................................................................................................... 42 4.5.3 Trust issues ................................................................................................................................. 43 4.5.4 Business and Agile processes alignment issues ........................................................... 43 4.6 5 Case description.................................................................................................................................. 24 discussion .............................................................................................................................................. 44 Conclusion ...................................................................................................................................... 45 5.1 Limitations ............................................................................................................................................ 45 5.2 Further research ................................................................................................................................. 45 Bibliography ........................................................................................................................................... 47 Benefits and Challenges of Agile in a Globally Distributed Environment IV Appendix A: Agile Manifesto ............................................................................................................. 51 Appendix B: Interview Structure .................................................................................................... 52 Benefits and Challenges of Agile in a Globally Distributed Environment V LIST OF FIGURES Figure 1-1: Research model ................................................................................................................................ 3 Figure 2-1: Knowledge Capture and Acquisition, adopted from. ........................................................ 7 Figure 3-1: Survey of used Software methods among 1.298 IT professionals............................. 13 Figure 3-2: Incremental gains of adding either Offshore or Agile development......................... 17 Figure 4-1: The ScrumPlus Framework ....................................................................................................... 26 Figure 4-2: An eye-catcher tool ....................................................................................................................... 28 Figure 4-3: Traditional- vs. Agile way of working.................................................................................... 31 LIST OF TABLES Table 3-1: Challenges of DAD related to the Agile aspects ................................................................... 20 Table 4-1: Interviewee profile.......................................................................................................................... 25 Table 4-2: Overview of functional changes................................................................................................. 29 Table 4-3: Communication related benefits ............................................................................................... 31 Table 4-4: KM related benefits ......................................................................................................................... 33 Table 4-5: Team cohesion related benefits ................................................................................................. 34 Table 4-6: Team satisfaction related benefits ........................................................................................... 35 Table 4-7: Quality & Performance related benefits ................................................................................. 36 Table 4-8: Benefits from literature related to the benefits in the field study............................... 37 Benefits and Challenges of Agile in a Globally Distributed Environment VI 1 INTRODUCTION The aim of this chapter is to provide some contextual background on the purpose of this Master thesis. Furthermore, this chapter describes the organisation where the research is conducted, the main research question and the research method. 1.1 CONTEXT These days Agile methodologies become more and more popular in software engineering as an alternative to traditional (plan-driven) approaches (West & Hammond, 2010). Agile methodologies are characterized by its high flexibility, small teams and short production cycles. One of the fundamental tenets in Agile development is the importance of communication between the various stakeholders involved in the developing process. At the same time communication is preferred to be face-to-face in a single open development space where the team can work closely together (Cockburn & Highsmith, 2001). Another trend in software engineering is offshore development (Ågerfalk, B, Holmström Olsson, & Ó Conchúir, 2008). In offshore development much of the work is done in lowwage countries like India. In these low-wage countries, compared to onshore development, the same amount of work can be done for a fraction of the cost. Offshore development has become broadly possible since the deployment of cross-continental high-speed communication links (Ågerfalk, B, Holmström Olsson, & Ó Conchúir, 2008). Though this globally dispersed team members can easily communicate and sharing knowledge through several communication channels. It may seems contradictory, but also in Global Software Development (GSD) Agile methodologies are gaining more popularity (Balasubramaniam, Lan, Kannan, & Peng, 2006). Agile methodologies can help to improve communication and collaboration in offshore development which often results in better business / IT alignment and responsiveness to business changes (Moore & Barnett, 2004). However, when using Agile methodologies in GSD, the main principals of Agile become more challenging: direct face-toface communication occurs less and the team is not working closely together in the same room anymore. In offshore development communication and collaboration is always more challenging (Ågerfalk & Fitzgerald, 2006). But since Agile relies more on good communication and face-to-face contact than any other software development methodology, the implications will be far higher (Berczuk, 2007). Although more and more scientific literature on this topic becomes available, still more research can be conducted about how Agile can be successfully combined with Offshore Benefits and Challenges of Agile in a Globally Distributed Environment 1 development. Therefore, in this study we attempted to further research the implications of using Agile methodologies in GSD and investigate how organisations can successfully use the benefits of both Agile and offshore development in their software engineering projects. 1.2 CAPGEMINI The research was conducted at the Financial Services Global Business Unit of Capgemini Netherlands. Capgemini is a French global IT and business consultancy firm with a staff of 114,274 people (June 30, 2011) operating in 40 countries (Capgemini, 2011). Capgemini delivers different services through 4 disciplines: Consulting, Technology, Outsourcing and local professional services. The last discipline is delivered through their daughter company Sogeti. More precisely, the study was conducted at two globally distributed projects. The projects were carried out for one of their clients, namely, ING Netherlands. ING is a global financial institution offering several services like retail and commercial banking. The ING projects of Capgemini had combined team members of both Capgemini and ING. There were several reasons to choose for Capgemini. Firstly, since Capgemini is one of the largest IT and business consultancy firms, it has many interesting opportunities for research within the field of software development. Secondly since offshoring and Agile are two of their competences, there is also a lot of experience and thereby knowledge available on these two domains. 1.3 PROBLEM STATEMENT As described in the context, using Agile practices in Global Software Development (GSD) brings new challenges regarding communication, collaboration and control. On the other hand, Agile practices also seems to bring certain benefits to GSD. This leads us to the main research question of this thesis: What is the impact of Agile practices in Global Software Development The aim of the study is to investigate what the impact is of using Agile practices in Global Software Development projects. We will both look at the benefits and challenges and use them to generate an more overall conclusion (chapter 5). 1.4 RESEARCH METHOD The research itself includes two parts. First a literature research will be conducted to determine what empirical information is already available about: The challenges and benefits of GSD in general. Benefits and Challenges of Agile in a Globally Distributed Environment 2 The main principles and aspects of Agile development. The challenges and benefits of using these main principles and aspects of Agile in GSD projects. The second part of the research is based on a field study. This field study is conducted by interviewing several participants from two Distributed Agile Development projects of Capgemini and ING. From this field study we will: Identify the benefits and challenges of using Agile compare to traditional methods in GSD. Compare the identified benefits and challenges with the results from the literature. Structure The overall structere of the study consists of four phases (see figure 2-1). In the first phase a literature review is conducted to gain more knowledge about the problem domain and to find out what already identified benefits and challenges are in this area. The second phase consists of a field study. The data from this field study will be obtained by semi-structured interview sessions with several participants of two distirubeted Agile projects. In the third phase the data from the field study will be analysed and compared. Finaly, in the fourth phase the conclussions and thereby the answer to the main research question will be Literature Review Phase 4 Phase 3 Phase 2 Phase 1 formulated. Field Study Comparative Analysis Conclusion Figure 1-1: Research model Benefits and Challenges of Agile in a Globally Distributed Environment 3 2 GLOBAL SOFTWARE DEVELOPMENT Since the deployment of cross-continental high-speed communication links the globalization of software development has been an emerging trend in the field of software engineering (Ågerfalk, et al. 2008). Documentation, source-code can easily be transferred from one site to the other site. Today globally dispersed team members and distributed teams can now easily communicate with each other through telephone, audio conferencing, video conferencing, etc. (Carmel & Agarwal, 2001). Furthermore global markets and businesses also have created a need for developing software close to the customer (Lehtonen, 2009). 2.1 BENEFITS OF GLOBAL SOFTWARE DEVELOPMENT In this section the well-known benefits of GSD are described. The different benefits are initially adopted from a research of Ågerfalk et al. (2008) and have also been previous acknowledged in other researches about GSD (Ågerfalk, B, Holmström Olsson, & Ó Conchúir, 2008). 2.1.1 REDUCED DEVELOPMENT COSTS One of the most obvious reasons for organisations to step in the field of GSD is attributed to the potential of reducing development costs (Carmel & Agarwal, 2001). Because the differences in wages across regions can significantly differ, the same amount of work in low-wage countries can be done for a fraction of the cost. Although this is one of the strongest business drivers to offshore software development in low-wage countries, some of the savings are offset by the increased costs (Keil, Paulish, & Sangwan, 2006). This offsetting costs are related to costs of quality resulting from misunderstanding, cost due to extra technical resources and to certain staffing roles which may not exist in onshore software development projects. 2.1.2 REDUCED TIME TO MARKET Time zone differences bring also new advantages to software development projects. Development teams who are distributed across different time zones around the world can increase their number of development hours in a 24-hour day. This can even be increased to a full 24-hour development process in a day. This is also called a “Follow-the-sun” development model and is also known as round-the-clock development (Ågerfalk, B, Holmström Olsson, & Ó Conchúir, 2008). This 24-hour development model can be achieved by handing off the work of one team at the end of their working day to another team in a different time zone. Benefits and Challenges of Agile in a Globally Distributed Environment 4 2.1.3 LARGER LABOUR POOL GSD provides organisations the possibility to leverage their resources across distance. Companies have access to a large pool of skilled workers to extend their software development activities (Ågerfalk, B, Holmström Olsson, & Ó Conchúir, 2008). The large availability of skilled engineering talent in emerging economies and the increasing difficulty in finding such talent in advanced economies have led to a new trend for organisations to globally source staff (Mannin, Massini, & Arie Y, 2008). Nowadays, getting access to talent in emerging countries is even so important that organisations have to compete for it (Lewin, Massini, & Peeters, 2009). 2.1.4 CLOSER PROXIMITY TO MARKET When established at the location of your customer, GSD makes it possible to develop software close to the customer and thereby increase your knowledge of the local market (Ågerfalk, B, Holmström Olsson, & Ó Conchúir, 2008). This can be especially important when intensive communication and relationships are needed between the customer and the developer. Also, from a strategic point of view it can be beneficial to be closer to your customers and be globally present in your market. 2.1.5 INNOVATION AND SHARING BEST PRACTICES Organizations can take advantages of increased innovation and share best practices that arise from the collaboration of team members who come from different national and organizational backgrounds (Ågerfalk, B, Holmström Olsson, & Ó Conchúir, 2008) . Small changes originated from sharing best practices within GSD can have a huge positive effect on the entire project (Ebert & Philip, 2001). 2.2 CHALLENGES OF GLOBAL SOFTWARE DEVELOPMENT Developing software is not a simple task, even when using well-defined development methods and plans, the quality of the software still depends on the quality of the process used in its preparation (Prikladnicki, Audy, & Evaristo, 2003). Furthermore, successful software development highly depends on effective communication across and within teams (Cataldo & Ehrlich, May 2011). Developing software with globally dispersed teams makes this process even more challenging since people from different organizational and national cultures and time zones are involved in the same development process (Damian & Zowghi, 2003). In this section we will discuss the most well-known challenges in GSD as described by Herbsleb and Moitra (2001). Benefits and Challenges of Agile in a Globally Distributed Environment 5 2.2.1 STRATEGIC ISSUES New strategic challenges arise when organisations are involved in GSD. Organisations have to decide how to spread work across sites which can be a difficult and complex task (Herbsleb & Moitra, 2001). Solutions are constrained by the infrastructure, availability of resources at the sites, their levels of experience, etc. Another challenge is that organisations have to deal with resistance to GSD. This resistance often occurs because of misalignment about the perceived benefits of GSD between different management levels (Herbsleb & Moitra, 2001). Due to this employees might experience loss of control and believe their jobs are threatened by the much cheaper employees at the offshore site. This might cause trust issues between the distributed team members which directly threatens the success of the entire project itself since trust is one of the fundamental factors for the success of a GSD project (Moe & Šmite, 2008). 2.2.2 CULTURE AND LANGUAGE GSD requires close cooperation of people with different cultural backgrounds. Co-located teams may consist of people with different national and organisational backgrounds. Some people might find these differences enriching, but they can also lead to serious misunderstandings among people who do not know each other well (Herbsleb & Moitra, 2001). For instance, norms of acceptable work hours can differ between countries and within companies differences in culture may exist on norms and values, different view on authority, and dress code. Furthermore language barriers can have a huge impact on the performance of a team. Language barriers affect communication between team members but can also have effect on the communication between client and customer. A study from Damian et al. (2003) shows that this can have a significant impact on achieving a common understanding and negotiation of requirements. Those misunderstandings may lead to requirements which are only meaningful in context of certain cultural beliefs and values. 2.2.3 KNOWLEDGE MANAGEMENT Knowledge management plays (KM) a key role in GSD. Without effective information and knowledge sharing mechanism, organisations can not benefit from the advantages of GSD (Herbsleb & Moitra, 2001). KM involves the capture and acquisition of knowledge. Knowledge capture is the process of recording knowledge in a medium, and transforming and encoding it into information. Knowledge acquisition is the process of gaining knowledge and therefore the process of learning and understanding information. Figure 4-1 shows the interaction between these two phenomena. Benefits and Challenges of Agile in a Globally Distributed Environment 6 Figure 2-1: Knowledge Capture and Acquisition, adopted from (Correia & Aguiar, 2009). The effectiveness how knowledge is captured in artefacts and acquired by other team members is of crucial importance on the success of an software engineering project (Correia & Aguiar, 2009). KM-processes in the field of software engineering encompasses requirements gathering, designing, development, testing, deployment, maintenance and activities regarding project coordination and management. In GSD, organisations might fail in uniformly sharing information between the customer and its market. Poor documentation can also cause ineffective collaboration between the different sites and misunderstandings of the requirements and their priorities. Within the field of KM there can be made an distinction between tacit and explicit knowledge (Nonaka, 2007). Most software development companies traditionally focus on explicit knowledge, but both are equally important (Nonaka, Toyama, & Konno, 2000). Knowledge creation is a continuous process of dynamic interaction between tacit and explicit knowledge (Nonaka, Toyama, & Konno, 2000). - Tacit knowledge: This type of knowledge consists of technical skills which are informal and hard to pin down if someone would ask you to do that. It can also be seen as someone’s know-how or insight on a certain practice or topic and is based on individual models, perceptions, and beliefs. For this reason tacit knowledge is highly personal, hard to formalize and relatively difficult to communicate to others. - Explicit knowledge: This type of knowledge is, in contrast to tacit knowledge, formal and systematic. Explicit knowledge exists in the forms of documentation, a scientific formula, a manual, etc. For this reason explicit knowledge can relatively easy be stored, transferred, and processed. In software engineering the share of tacit knowledge is more challenging when team members are globally dispersed. Effective and successful transfer of tacit knowledge requires extensive personal contact and trust (Parviainen & Tihinen, 2011). Furthermore, the backgrounds of team members and thus the tacit knowledge are often different in GSD, causing different interpretations of ambiguous or limited defined concepts (Parviainen & Tihinen, 2011). Benefits and Challenges of Agile in a Globally Distributed Environment 7 2.2.4 INFRASTRUCTURE The infrastructure available at the offshore site will affect the quality of the outsourced service (Hirschheim, George, & Fan Wong, 2004). Telecommunication, internet connections and maybe even the supply of power may not be very reliable in some of these countries. Because of this, long-distance relationships may suffer. However governments of emerging countries are becoming more aware that reliable power supply and a good IT-infrastructure are fundamental drivers for enabling growth in their IT industry (Hirschheim, George, & Fan Wong, 2004). 2.3 THE IMPACT OF DISTANCE ON GSD As described in the previous two paragraphs, GSD does both have opportunities and challenges for organisations. According to Ågerfalk et al. (2006), these opportunities and challenges are mostly about communication, coordination and control and can be related to temporal, geographical and socio-cultural distance between the different team members. Table 2-1 provides an overview of the opportunities and challenges of GSD by relating the software development processes of communication, coordination and control to three dimensions of distance. Socio-cultural Distance + Innovation and sharing best practice - Cultural misunderstandings + Coordination needs can be minimized - Typically increased coordination costs + More flexible coordination planning - Reduced informal contact can lead to lack of critical task awareness + Greater learning and richer skill set - Inconsistent work practices can impinge on effective coordination - Reduced cooperation arising from misunderstanding + Time zone effectiveness can be utilized for gaining efficient 24x7 working - Management of project artifacts may be subject to delays + Communication channels can leave an audit trail - Difficult to convey vision and strategy - Perceived threat from training low-cost rivals” + Pro activeness inherent in certain cultures - Different perceptions of authority can undermine morale - Managers must adapt to local regulations Communication + Closer proximity to market + Access to remote skilled work forces - Face-to-face meetings Difficult Coordination + Improved record of communications -Reduced opportunities for synchronous communication Geographical Distance Control Temporal Distance Table 2-1: Opportunities and Challenges in GSD, adopted from (Ågerfalk & Fitzgerald, 2006) Benefits and Challenges of Agile in a Globally Distributed Environment 8 2.4 APPROACHES FOR GLOBAL SOFTWARE DEVELOPMENT To deal with the challenges of GSD, different approaches might be useful. The most obvious approach is to use technical solutions for reducing distance. Literature on GSD has traditionally focused on those technical solutions for reducing distance (Kotlarsky & Oshri, 2005). However, there are also some emerging non-technical approaches in GSD (Carmel & Agarwal, 2001). This section will focus on these non-technical approaches. 2.4.1 REDUCE COORDINATION COMPLEXITY: The transition and coordination of tasks between the onshore and the offshore site is one of the main organizational difficulties in GSD (Carmel & Agarwal, 2001). Usually the onshore site is a company in a developed country and the offshore site is located in an emerging developing country. The tasks that can be divided between those two sites range from welldefined and structured to poorly defined and unstructured. The level of coordination complexity between the two sites increases when tasks are not well defined and unstructured (Carmel & Agarwal, 2001). However, figure 2-1 shows this is not always the case. Organisations can move to the far right or to the far left to reduce coordination complexity. Figure 2-2: Alternative paths for alleviating intensive collaboration (Carmel & Agarwal, 2001) Organisations situated at to the lower left corner of figure 2-1 are outsourcing relative simple straightforward tasks which are quite easy to manage over distance since they require less communication and the tasks are fairly stable. On the other hand organisations at the right lower case of figure 2-1 are outsourcing relative complex and unstructured tasks. Here the offshore site takes full responsibility which alleviates many of the distance problems (Carmel & Agarwal, 2001). Organisations which are using the follow-the-sun approach have to deal with more complex coordination since both sides are adding their own value to the product and have shared responsibilities. Benefits and Challenges of Agile in a Globally Distributed Environment 9 2.4.2 REDUCE CULTURAL DISTANCE Cultural distance is the degree of difference between the onshore and the offshore site (Carmel & Agarwal, 2001). As described in chapter 2.2.2. the differences manifest in the form of organizational culture and national culture. Organizational culture is about the norms and values within an organization which also includes the use of methodologies for software development. National culture encompasses an ethnic group’s norms, values and spoken language. Carmel & Agarwal (2001) describe four common arrangements to reduce cultural distance between the different sites: 1. (Bridgehead): This arrangement is also known as the 75/25 rule. 75 percent of personnel work occurs offshore and 25 percent occurs onshore. The people who work onshore have more experience and are culturally assimilated. They act to understand the costumer’s requirements and translate them to the offshore employees. This results in less misunderstanding and higher understanding of the costumer. 2. (Internalization of foreign Entity): Companies in North-America and Europe, primary technology firms, are opening internal-to-the-firm foreign software centers. Because all the employees are within the same firm, organizational cultural distance is reduced. 3. (The cultural liaison): A project manager or key executive who travels back and forth between the key stakeholders sites can bridge between culture, mediate conflicts and resolve cultural miscommunications. 4. (Language): Spoken language is an important component of national cultural distance. Many decision makers on high executive levels hesitate to engage in international alliances in which the command of English is weak. This is also the reason why countries with strong English language capacities benefit from the offshore trend of software development. 2.4.3 REDUCE TEMPORAL DISTANCE Although many asynchronous technologies are available in GSD, synchronized work is still preferred (Carmel & Agarwal, 2001). Synchronized communication includes telephone, audio conferencing, video conferencing and application sharing. The advantage of synchronized work is that misunderstanding, miscommunications, and small problems can relatively easily tackled before they become bigger. The approach to reduce temporal distance is to minimize the time-zone differences between the different development sites. However, this approach eliminates the benefits as described in chapter 2.1.2 of a follow-thesun approach. Benefits and Challenges of Agile in a Globally Distributed Environment 10 3 AGILE IN GLOBAL SOFTWARE DEVELOPMENT In this chapter Agile is discussed in relation to GSD. First we will discuss what Agile software development is and what the main aspects of Agile development are. Secondly, we will discuss what the challenges and benefits are of using Agile methodologies in GSD. 3.1 AGILE SOFTWARE DEVELOPMENT Agile software development is a term used to describe a group of software development methodologies based on iterative and incremental development. Agile development is characterized by its high flexibility, small teams and short productions iterations (1 to 4 weeks). In every iteration a complete development life-cycle is finished that results in a working piece of software that is ready for release. Agile software development originated in the 1990’s as an alternative to the traditional plan-driven development methods (Larman & Basili, 2003). The traditional methodologies were experienced as very detailed, rigid and bureaucratic. Most of the those methodologies were based on the often used waterfall model. During the development process requirements can change over time. Caused by for instance market changes or new insights that developers can have during the development process. For this reason software methodologies had to become more adaptive and flexible. The word ‘‘Agile’’ itself means that something is flexible and responsive, so Agile methods implies its ‘‘ability to survive in an atmosphere of constant change and emerge with success’’ (Anderson, 2004). An Agile team is self-managing, consists of different functional disciplines and has a team size between 5 to 10 people. The focus of an Agile team is on communication which is preferred to be face-to-face. For this reason it is also preferred that Agile teams work in a single open development space. After every iteration the product is briefly evaluated. If necessary new priorities can be set or requirements can be added or changed. Through this the project can constantly meet the demands and requirements of the customer in a constant changing business environment. What Agile really makes different other than traditional (non-Agile) methodologies is not it’s practice but their recognition of people as the primary driver of project success, this together with focus on effectiveness and manoeuvrability (Highsmith & Cockburn, 2001). Benefits and Challenges of Agile in a Globally Distributed Environment 11 3.2 AGILE ALLIANCE The Agile Alliance is a group of software developers that classified a group of comparable software development methodologies, all focused on flexible an iterative development, as “Agile development methods”. Next to this they also came up with “The Agile Manifesto” where the principles and goals of Agile development has been put down. The Agile Manifesto is as follows: We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. The four value statements have all a certain form. In each point, the first part indicates a preference, while the second part describes an item that is of less priority but still is important in software development. In the first one, The Agile Alliance recognizes the importance of processes and tools but moreover it recognizes the interaction of skilled individuals is of even greater importance. Similarly, comprehensive documentation is not a bad thing, but the primary focus must remain on delivering working software. The third point emphasizes that contract negotiation is not a bad practice, but an insufficient one. A contract may provide some boundary conditions, but only through on-going collaboration and interaction can a team better understand and deliver what the client really wants. The last point is about following a plan which also has not to be a bad thing. But in the constant changing world of business and technology, following a tight plan can becomes dangerous when it blinds you to change. Therefore, responding to changes should be considered as more important than following a plan. Benefits and Challenges of Agile in a Globally Distributed Environment 12 3.3 AGILE METHODOLOGIES As mentioned in paragraph 3.1, we use the word Agile to describe flexible and iterative software development methodologies. Nowadays many software methodologies exist which can be considered as Agile. Figure 3-1 shows an overview of the popularity of different software development methodologies based on a survey by West & Hammond (2010) among 1298 IT professionals. This study show that 35% of the used software development mythologies in 2010 can be considered as Agile. In this paragraph some of them will be described in more detail. Figure 3-1: Survey of used Software methods among 1.298 IT professionals, adopted from (West & Hammond, 2010) 3.3.1 SCRUM Scrum is an Agile project management framework for software development. Scrum does not define specific software development techniques, but it concentrates how the team should function. It was designed to increase development speed, align business objectives and individuals, create a performance driven culture, achieve stable and consistent communication, enhancing individual development and quality of life (Sutherland, Viktorov, Blount, & Puntikov, 2008). The term ‘Scrum’ originally derives from a Rugby strategy with the aim of getting an out-of play ball back into the game with teamwork (Schwaber & Beedle, 2002). The main idea of Scrum is that the development of software involves several environmental and technical variables (e.g. time frame, requirements, resources and technology) that are Benefits and Challenges of Agile in a Globally Distributed Environment 13 likely to change during the development process. This can make the process unpredictable and complex. Scrum is designed to be flexible and therefore able to response to those changes resulting in an useful system when delivered. 3.3.2 EXTREME PROGRAMMING Extreme programming (XP) was created by Kent Beck during a project at Chrysler. His aim was to create a new method suitable for an object oriented way of working with small teams at one location. The method is based on five pillars: Communication, Simplicity, Feedback, Courage, and Respect. The individual pillars are not new in software engineering, but XP tries to integrate them into a new methodology. The term “Extreme” is derived from the idea of taking these principles and practices to an extreme level. 3.3.3 CRYSTAL DEVELOPMENT Crystal development is a family of methods. The person who thought up Crystal development, Alistair Cockburn, came up with this approach because he believed that there is no “on-size-fits-all” development process (Williams, 2007). The crystal development family consists of four different methods with all their own set of recommended practices, roles, work products, notations and techniques. The most Agile version is called “Crystal Clear”, followed by “Crystal Yellow, “Crystal Orange” and “Crystal Red”. A graph is used to determine which crystal method should be used as a starting point. Based on team size and the criticality, the corresponding Crystal methodology is identified. In Crystal development there are two main rules that hold for all methods. The first one is that incremental cycles should not exceed four months. The second rule is that after a delivery a reflection workshop must be held so that the methodology is self-adapting. 3.3.4 FEATURE DRIVEN DEVELOPMENT (FDD) Feature Driven Development (FDD) is a development methodology based on the principle: “Just enough process to ensure scalability, repeatability, encourage innovation and creativity”. A condition of FDD is that there are good skilled workers available and strong domain experts. FDD has five incremental and iterative processes. Process 1 through 3 are done at the start of a project and updated throughout the project. Process 4 and 5 are done incrementally on two week cycles. Each process is constrained by a certain amount of time that should spend on. Benefits and Challenges of Agile in a Globally Distributed Environment 14 3.4 THE CORE ASPECTS OF AGILE SOFTWARE DEVELOPMENT In this section the different aspects of Agile software development will be discussed. Since this thesis is about Agile in GSD, we will later relate the aspects to GSD. To do this systematically, we defined 6 core aspects of Agile in software development. These core aspects are derived from the Agile Manifesto (see Appendix A: Agile Manifesto) and different papers about Agile software development. In chapter 5 we will also take a look on them in relation to the field study done at a Distributed Agile development project. A1. Intensive Collaboration This aspect reflects that all the team members should work daily together thorough the project in a very close way with frequent communication. Communication is vital in any software development project but since in Agile the work is partitioned into increments which may be developed in parallel, intensive communication and collaboration is of even more importance (Miller, 2001). In the Agile Manifesto this aspect can be found in principle 4 that says that: “business people and developers must work together daily through the project”, principle 6 which state that: “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.“, and principle 11 that says that: “The best architectures, requirements, and designs emerge from self-organizing teams.”. A2. Team ownership This aspect concerns that what is produced belongs not to an individual but to the entire team. This means that any team member can change and is fully responsible for the code, its quality and the overall performance of the process. This may seems to be the most controversial aspect of Agile development. If a team owns its process and can manipulate it to meet the needs of the project, how can quality be ensured? However, providing the development team with the authority of owning their own process seems to radically improve their effectiveness (Turner, 2007). When looking into the Agile Manifesto this aspect could be found in principle 11 (described in aspect A1) and to a certain extent in principle 5: “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done”. A3. Adaptive development During the development of a project new risks may be exposed which require additional work that was not planned (Miller, 2001). Moreover, the customer may demands new requirements caused by some changes in business which may also lead to additional Benefits and Challenges of Agile in a Globally Distributed Environment 15 activities. Agile encourages these changes rather than discourages it. The tolerance of change in a methodology should be based on the change rate of a specific environment and not on the internal view of how much change is acceptable (Highsmith & Cockburn, 2001). In essence Agile is about creating and responding to change which, in the end, leads to a more valuable product for the customer. The Agile Manifest states about this in principle 1: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” and principle 2: “Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.”. A4. Short iterations, incremental development, and continuously integration Agile development is done in short cycles (called iterations) of some weeks. Each cycle delivers an incremental component of business functionality to the product. In most cases more cycles are needed to make the product fully functional. During the development the work should be integrated and built as frequent as possible. By doing so, problems can be detected in an early stage before they are more difficult to deal with. In the Agile manifesto we can find this in principle 1 (described in A3), principle 3: “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”, principle 7: “Working software is the primary measure of progress.”, and principle 9: “Continuous attention to technical excellence and good design enhances agility”. A5. Simplicity This aspect implies that Agile development favours simplicity. By designing simple solutions and avoiding unnecessary complexity and extra code, there will be fewer changes and the changes itself are more easy to handle (Abrahamsson, Salo, & Ronkainen, 2002). The aspect is also based on the assumption that changes are likely to happen during the project. The Agile Manifesto mentions this in principle 10: “Simplicity, the art of maximizing the amount of work not done is essential.”. A6. Continuous improvement Agile development methodologies continuously strive to improve their processes. Through retrospective or reflection meetings the effectiveness of the performed work, used methods, and intentional goals are analysed. This review support the teams learning and estimation for the upcoming iterations. The Agile manifesto states about this in principle 12: “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.”. Benefits and Challenges of Agile in a Globally Distributed Environment 16 3.5 AGILE IN GLOBAL SOFTWARE DEVELOPMENT Agile development has steadily gained acceptance as a feasible approach to software development. At the same time, since software developing continues to take advantage of the opportunities of GSD, Agile methods are also being attempted in software development with globally dispersed teams (Taylor, Greer, Sage, Coleman, McDaid, & Keenan, 2006). On the other hand organisations who are already involved in Agile development can also adopt offshore development into their processes. The drivers for using Agile processes in GSD differ from both points of views. In figure 3-2 this difference is depicted. Figure 3-2: Incremental gains of adding either Offshore or Agile development, adopted from (Moore & Barnett, 2004). Companies already involved in Offshore development can adopt the Agile principles into their processes. Offshore projects have already demonstrated that high quality software delivery is possible at lower cost. However, these benefits do not automatically enable improvement in business and IT alignment or the responsiveness to business changes. Adding Agile processes to offshore projects can improve business and IT alignment and responsiveness to business changes (Moore & Barnett, 2004). Companies already committed to Agile development can extend their processes with offshore development. Offshore development can improve further cost reducing due to cheaper labour rates, give access to global talent which may not be available in the location of the company, and give access to global markets (Moore & Barnett, 2004). 3.5.1 DISTRIBUTED AGILE DEVELOPMENT (DAD) CHALLENGES Software development is always a challenging undertaking which requires high commitment from all the participants in it (Kontio, Höglund, Rydén, & Abrahamsson, 2004). These challenges are even greater in Distributed Agile Projects since Agile emphasis the need for communication and efficient information sharing, but distributed development makes this more difficult. The challenges regarding from this are stated in this paragraph. Each challenge consists of a contradistinction between Agile and GSD as identified by Benefits and Challenges of Agile in a Globally Distributed Environment 17 Balasubramaniam et al. (2006). Every challenge also comes with one or more questions which later will be answered through the field study (paragraph 4.4). We will also relate the challenges to the core aspects of Agile software development, as described in paragraph 3.3. An overview is given of all the challenges in relation to the different core aspects of Agile in table 3-1. DAD Challenge 1: Communication need versus communication impedance Communication is probably the most obvious challenge of DAD. As described in chapter 2.3, communication and knowledge management are a big challenge when teams are dispersed between various locations around the world (Mockus & Herbsleb, 2001). In Agile, communication is a vital part of the process (Miller, 2001). Frequent face-to-face communication between the different team members is of great importance as described in the first aspect of Agile development in paragraph 3.4. This conflicts with GSD where team members can be dispersed between various location around the world which makes communication more challenging due to distance. Q1. How could daily face-to-face communication be arranged? Q2. What kind of communication practices and media are suitable for communication? Q3. How could informal communication be encouraged? Q4. How could the risk for misunderstandings (e.g. requirements) be minimized? Q5. How could trust be built and retained between team members to ensure open communication? DAD Challenge 2: Fixed requirements versus evolving requirements Due to the limited ability to control activities of globally dispersed teams, global software development often relies on fixed commitment and requirements (Balasubramaniam, Lan, Kannan, & Peng, 2006). On the contrary, Agile processes are adaptive and emphasize changes during the development process (Aspect 3). In Agile development, requirements can change overtime and are derived from a constant negotiation between the developer and customer. Q6. How can we achieve a balance between fixed and evolving requirements? Q7. How could frequent communication between on-site customer and offshore developer be encouraged? Benefits and Challenges of Agile in a Globally Distributed Environment 18 DAD Challenge 3: People-oriented versus process-oriented control In GSD control is often achieved by establishing formal processes (Balasubramaniam, Lan, Kannan, & Peng, 2006). Oppositely, Agile is more people-oriented and control is achieved by informal processes (Aspect 2: Team ownership). However, when introducing Agile to offshore development, Agile gives people more autonomy and decision-making power than most of the offshore developers are used to (Paasivaara & Lassenius, 2006). It is not obvious that every team member can adopt this new way-of-working. Q8. What would be the right balance between people- and process oriented control? Q9. How could we introduce Agile to the offshore site and ensure that the principles of Agile are well adapted? DAD Challenge 4: Formal agreements versus informal agreements In Agile development project contracts are sketchy and informally defined (Balasubramaniam, Lan, Kannan, & Peng, 2006). Besides that, project designs and plans are in Agile as simple as possible (described in Aspect 5) and the focus is on creating customer value in a constant changing business environment rather than following a fixed plan (Aspect 3). In contrast, global software development often relies on explicit targets and detailed specifications of the requirements to make the process more manageable (Balasubramaniam, Lan, Kannan, & Peng, 2006). Q10. How can we use the informality of Agile in a distributed context? DAD Challenge 5: Short iterations versus distance complexity Agile methodologies use short iterations, frequent builds, and continuous integration (Aspect 4). These practices bring challenges to configuration management and version control in software engineering in general (Paasivaara & Lassenius, 2006). But this is even more challenging in distributed development were this has to be manageable over different (offshore) sites. When teams are dispersed over different countries, long distance and bad infrastructure can cause extra challenges. When even different companies are involved, it might be difficult to use a common set of tools and solutions. Q11. How could Agile development function in GSD regarding the technical and legal differences between companies and countries? Benefits and Challenges of Agile in a Globally Distributed Environment 19 DAD Challenge 6: Team cohesion versus team dispersion Agile processes encourage collaboration among team members (Miller, 2001). Projects in which team members work intensively together perform better based on the increase in both information flow and amicability across the specialties (Cockburn, Agile Software Development, 2001). In Agile aspect 1 and 2 the importance of team cohesion is also stated. Furthermore during retrospectives and reflection meetings team cohesion is also of importance. Team members should feel free to discuss difficult topics and give comments to each other (Aspect 6). In distributed development team members are likely less to perceive themselves as part of one team (Balasubramaniam, Lan, Kannan, & Peng, 2006). Team members can be dispersed between different locations, countries and time zones which makes communication and thereby team cohesion more difficult. This has a direct effect on the performance of a DAD team since Agile is based on constant collaboration on all the different aspects of the project. Another issues within this subject is that offshore team members often have a deep-rooted and rigid perception of their responsibilities and do not feel collectively responsible for the overall development (Kajko-Mattsson, Azizyan, & Katrin Magarian, 2010). This directly conflicts with the Agile principles of collective code ownership, self-organizing and cross-functional teams. Q12. How can team cohesion be improved in DAD? Overview of the Challenges in DAD related to the Agile Aspects: DAD Challenge / Agile Aspect 1: Communication need versus communication impedance A1 A2 A3 A4 A5 A6 X X 2: Fixed requirements versus evolving requirements X 3: People-oriented versus process-oriented control X 4: Formal agreements versus informal agreements X 5: Short iterations versus distance complexity 6: Team cohesion versus team dispersion X X X A1 Intensive collaboration A2 Team ownership A3 Adaptive development A4 Short iterations, incremental development, and continuously integration A5 Simplicity A6 Continuous improvement X Table 3-1: Challenges of DAD related to the Agile aspects Benefits and Challenges of Agile in a Globally Distributed Environment 20 3.5.2 HOW GSD CAN BENEFIT FROM AGILE PRACTICES This section presents some benefits of using Agile practices in GSD. For every Agile aspect, as described in paragraph 3.2, we will discuss how distributed teams can benefit of applying that aspect in GSD. We will also relate them to the different challenges of GSD as described in paragraph 2.2.1. In Chapter 4 we will further discuss the benefits in relation to the results of the field study. Aspect 1: Intensive collaboration Although collaboration and communication are one of the biggest challenges, it can also be seen as a great benefit of using Agile in GSD. Agile methods emphasize communication and provide useful communication and collaboration practices. Applying those practices in offshore development can help improve many issues related to distance (Holmström, Fitzgerald, Ågerfalk, & Conchúir, 2006). Increased collaboration and communication between the dispersed team members can even reduce cultural differences between the participants (Paasivaara & Lassenius, 2006). Frequent and open communication between team members and the frequent releases to the customer builds trust and helps to better understand each other’s culture. Within the field of KM, intensive collaboration and communication can increase shared tacit interpersonal knowledge between the distributed team members and reduces the need of sharing explicit knowledge (Ågerfalk & Fitzgerald, 2006). In other words, it can helps to improve the knowledge on for instance the business domain of the customer at the offshore and it lowers the need to make these requirements clear through extensive documentation. When looking to the challenges of GSD and the benefits of Agile, aspect A1 seems to be beneficial to GSD challenge C1 (Strategic issues) since Agile can improve trust. challenge C2 (Culture and language) and C3 (Knowledge Management). Aspect 2: Team ownership Team ownership can serve as an important safety net in GSD (Šmite, Moe, & Ågerfalk, 2010). Project teams are able to identify any defects or deviations from the customer requirements that may have been introduced by a team member who was making those changes or implementations. As described in Chapter 2, in GSD misunderstandings due to culture differences and the distance between the different development sites, are more likely to happen. For this reason Agile aspect 2 could be very helpful to GSD challenge C2 (Culture and language) and C3 (KM). Benefits and Challenges of Agile in a Globally Distributed Environment 21 Aspect 3: Adaptive development Applying Agile methods in offshore development brings also additional flexibility to the project. The customer can apply changes during the development phase without big consequences related to contract negotiations (Paasivaara & Lassenius, 2006). The costumer also does not have to specify all the requirements at forehand since Agile processes are adaptive and focus on creating value to the customer. On the other hand, in situations where companies have established their software development at the offshore site of their customer, Agile can increase the advantages of closer proximity to market (described in paragraph 2.1.4) since the customer is relatively more involved than in traditional software development. So aspect A3 seems to be beneficial to challenge C1 (strategic) and C2 (Culture and language). Aspect 4: Short iterations, incremental development, and continuously integration Frequent integrations and testing’s also help to ensure that every team member has understood the requirements correctly (Paasivaara & Lassenius, 2006). This is especially helpful if the participants in a globally dispersed team are from different cultures and have not worked together before (challenge C2). Through frequent integrations and testing’s, team members will get a lot of feedback and any misunderstandings become visible in an early stage of the project. This prevents problems to grow or accumulate (Paasivaara & Lassenius, 2006). Short iterations bring also transparency of the work progress to all participants. As well as developers, project managers and customers can get frequently a good picture of the overall progress. And as said before, the offshore developers can get instant feedback on their work which helps to motivate them and build trust between the different participants in the project. Generally, A4 seems to be helpful for GSD challenge C1 (strategic issues), C2 (Culture and language), and C3 (KM). Aspect 5: Simplicity As described before, Agile favours simplicity. This approach also seems to be beneficial to distributed development projects. By using simple low-tech techniques and solutions; control and coordination (Challenge C1) is more easier to handle (Holmström, Fitzgerald, Ågerfalk, & Conchúir, 2006). Easy things are simple to explain, to understand and to debug, therefore simplicity will also reduce the change of any misunderstanding due to cultural and language differences (Challenge C2) and makes KM (Challenge C3) more easy between the different sites when code, architecture and the used standards are kept as simple as possible. Benefits and Challenges of Agile in a Globally Distributed Environment 22 Aspect 6: Continuous improvement In GSD project retrospective and reflection meetings can also be very useful. The main benefit from this is that it provides time for a team to reflect upon its own behaviour and how to improve it (Šmite, Moe, & Ågerfalk, 2010). It also helps to increase team cohesion, commitment, and common ground in GSD projects. When relating this to the GSD challenges it seems that A6 helps to improve strategic related issues (C1) and to improve challenges due to culture and language (C2). Overview Table 3-2 provides an overview of what aspect of Agile is beneficial to what specific well– known challenge in GSD as described in paragraph 2.2. Agile Aspect : Related benefits: A1: Intensive collaboration Provides useful practices for improving collaboration and communication between sites Reduces culture differences between the participants Better understand of each other’s culture / business domain Builds trust Increased shared tacit-knowledge between sites Less need for sharing extensive documentation (explicit knowledge) to make requirements clear Early detection of defects or deviations due to cultural misunderstandings Customer can easy apply changes without new contract negotiations. Increase advantages of closer proximity to market Misunderstandings become clear in an early phase of the development through frequent integrations and testing More feedback on implementation through short iterations Feedback helps to motivate offshore team members and build trust between sites More transparency of the work progress to all participants Control and coordination of project is easier to handle Reduce the change of misunderstandings Team can reflect upon its own behaviour and how to improve it Helps to increase team cohesion, commitment and common ground. A2:Team ownership A3:Adaptive development A4:Short iterations A5: Simplicity A6: Continuous improvement C1 Strategic issues C2 Culture and Language C3 Knowledge management C4 Infrastructure GSD Challenge C1 C2 C3 C4 X X X X X X X X X X X X X X X X X X X X X X X X X X X X Table 3-2: Agile benefits related to the GSD Challenges Benefits and Challenges of Agile in a Globally Distributed Environment 23 4 PRACTICAL WORK 4.1 CASE DESCRIPTION The field study was conducted at 2 Distributed Scrum projects of Capgemini with combined team members from ING Operations & IT Banking (ING-OIB), ING Business, Capgemini Onshore and Capgemini Offshore (Hyderabad, India). The two projects were derived from an initial project were they used Scrum for the first time in an offshore context. After successfully delivering the first software in 2011, another Scrum project was set-up in the same manner and with some team members from the first project. In both projects two different independent applications are built, but there are also a lot of similarities between them. Because of this, team members do often switch from one to the other project if needed. Furthermore, at the onshore site the two projects are also located in the same room. For this reason we will not make a distinction between the two projects in this field study when analysing the results. What this case makes interesting is that both projects used initially traditional software development methodologies. They first used the Rational Unified Process (RUP) as their main development methodology. In 2010 the head of the ING-OIB challenged his employees to come up with an approach to deliver twice as much value for the same amount of money. The employees answered this questions with Scrum. From that moment they started to apply Scrum as their new approach. Most team members who are now working on the two projects do have experienced this transition from RUP to Scrum and thereby do have experience in this project with both RUP and Scrum. For this reason this case is interesting to research what the resulting changes, benefits and challenges are of using Agile methodologies compared to RUP in a GSD-project. 4.1.1 TEAM STRUCTURE As mentioned in the previous paragraph, the field study was conducted at two projects. Both projects have combined members from ING Business, ING IT, Capgemini Onshore and Capgemini Offshore. Each project has a Scrum team consists of a Done-team, a Ready-team, and a Scrum master. Some members from the Done-team do also belong to the Ready-team. In paragraph 5.2 the difference between the Done-team and Ready-team is explained. The two Scrum teams are composed as follows: Team 1 (Lisa): 4 persons from Cap-NL, 5 from Cap-India, and 10 from ING. Team 2 (Kijkglas): 3 persons from Cap-NL, 5 from Cap-India, and 7 From ING. Benefits and Challenges of Agile in a Globally Distributed Environment 24 4.1.2 INTERVIEWEES During the field study we interviewed 13 team members from both projects in a period of 1 month through semi-structured interview sessions. Each session took about 1 hour. The questions were predefined but open ended (See appendix B for the list of questions). During the period of interviewing we have worked in the same room as where the teams were located and we did also participate in some typical Scrum practices like the daily Scrum meeting and the demo meeting. Through this we could also observe and experience their way of working during the field study. Data triangulation is applied by interviewing team members with different roles, locations and employers. By analysing data from multiple perspectives, validity can be checked and established in qualitative research (Guion, Diehl, & McDonald, 2002). Table 5-1 provides an overview of the different interviewees with their role, current project, site and company. Role Current project Company Site Software architect & developer Software architect & developer Developer Developer Project Leader Capgemini Project Manager Scrum master & Business analyst Scrum master & Test manager Tester Tester Tester Tester Tester Lisa Kijkglas Kijkglas Lisa Kijkglas & Lisa Lisa Lisa Kijkglas Lisa Kijkglas Lisa Kijkglas Kijkglas & Lisa Capgemini Capgemini Capgemini Capgemini Capgemini ING ING ING ING Capgemini Capgemini Capgemini Capgemini NL NL India India NL NL NL NL NL NL India India India Table 4-1: Interviewee profile 4.2 USED AGILE PRACTICES In this section we describe the used Agile practices in the two projects. Furthermore, during the interview sessions, the interviewees also mentioned several benefits and challenges related to the use of these Agile practices. These benefits and challenges are mentioned in paragraph 5.4 and 5.5. 4.2.1 THE FRAMEWORK In the two projects the ScrumPlus framework was used. This framework is created by Capgemini and is based on the well-known Scrum framework. The ScrumPlus framework, see figure 4-1, allows an additional phase and practice that is not included in the core Scrum process. At the end of a project life-cycle, a Wrapper Sprint is added which allows Benefits and Challenges of Agile in a Globally Distributed Environment 25 performing all specific release, handover and documentation tasks. Many of this Wrapper Sprint activities can also be performed during the sprint by co-workers that are not part of the Scrum team. Figure 4-1: The ScrumPlus Framework, adopted from Capgemini In the project different teams are involved. As we already have mentioned, a Scrum team consists of a Done-team and a Ready-team. Beside the Scrum team there is also Shippable team. The descriptions of the different teams are as follows: Done-team: is responsible for getting the product backlog items to the Definition of Done. The team consists of Java-developers, testers, and requirements analysts. Ready-team: supports the product owner. The main goal of this team is to create items on the Backlog and make them adhere to the definition of Ready. The team mainly consists of ING-OID and ING-Business people. Scrum-team: this is the Done-team + Ready-team + the Scrum-master. Shippable team: supports the Scrum-team during the Wrapper Sprint in meeting their goals and are also responsible for executing the final tasks that makes it possible to go into production (making the product shippable). Benefits and Challenges of Agile in a Globally Distributed Environment 26 4.2.2 T HE SCRUM PRACTICES By the use of Scrum several new practices were introduced into the two projects. In this section we list the most mentioned practices by the interviewees. All the practices in this section are part of the original Scrum framework (Schwaber & Beedle, 2002) . o Daily Scrum meeting: The daily Scrum meetings between the two sites were arranged using an eye-catcher at each site. The meetings took place at common working times. During this meetings every team members had to answer the three Scrum questions: “What have you done since yesterday?”, “What are you planning to do today?”, and “Any impediments or stumbling blocks?”. o Scrum board: A Scrum board was used onshore to monitor the overall process. An equivalent in the form of an excel sheet was used at the offshore site and was updated by the offshore team members during the Daily Scrum meeting. In the past the project manager used different tools (e.g. Microsoft project) and documents to monitor all the processes and the overall progression. Today the Scrum board with the backlog items and a corresponding burn down charts are sufficient enough. o Planning meetings: At the beginning of a sprint cycle a sprint planning meetings is held. During this meeting, the backlog is filled with items and the items are prioritized through planning poker (also called Scrum poker). Through planning poker the team estimates the relative size of a task. o Smaller tasks: If during the planning meeting a particular task is seen as to big (more than 12 hours of working time needed), the task is decomposed into smaller sub-tasks. This is a big difference with RUP were individual team members could work on a single task for more than a week. o Demo meetings: At the end of a sprint cycle a demo meeting is held. During this demo meetings the Scrum team demonstrates the completed work. Incomplete work is not demonstrated. During this meeting all the important stakeholders are present. The offshore site is also participating in this meeting through video conferencing. Often the offshore site demonstrates the product while the stakeholders at the onshore site can see this live through a screen capture tool which is showed onshore. o Retrospective meetings: After the Demo meeting a retrospective meeting is held to reflect the completed sprint. In this meeting the whole Scrum team is presented and two main questions are asked: “What went well during the sprint?” and “What could be improved in the next sprint?”. The main goal of this meeting is to make continuous process improvement. Benefits and Challenges of Agile in a Globally Distributed Environment 27 4.2.3 SCRUM TEAM ASPECTS Changes were also mentioned on how the two project teams were organized and how the different participants were involved. o Cross functional team members: Since Scrum prescribes that every team members should be cross-functional this is also applied in the two projects. Although all team members still have their primary role, they are now also involved into other tasks like elaborating stakeholder requests. o Team involvement: The cross-functionality of team members also changed the way how individual team members are involved into the project. During the RUP approach India was for instance only involved in the development and testing phase of the project. With Scrum they are involved from the beginning with other tasks. The same applies for some onshore team members. o Business involved: In Scrum intensive collaboration is needed with the business site. This does also happens in this project. The Scrum team is supported by the Shippable team which mainly consists of members from the business. Within the Scrum team, the Product Owner represents the business site. o Intensive collaboration: All the above changes have led to more intensive collaboration between the onshore site and offshore site but also between the business and the developers. Intensive collaboration is further supported since all the team members at the onshore site working in the same room and through several technical solutions which makes intensive communication and collaboration possible. Onshore- and offshore team members can easily communicate with each other through email, MS Office Communicator, telephone and an eye-catcher tool (see figure 4-2). Almost every day a so-called knowledge transfer session is held in which an onshore and offshore team member having a meeting for sharing knowledge on a particular subject through the eye-catcher. The eye-catcher is than located in a separate room where the two team members can talk to each other in private. This is often used when new stakeholder requests need to be explained in more detail to a developer at the offshore site. For simple questions MS Office Figure 4-2: An eye-catcher tool Communicator and email are used. Benefits and Challenges of Agile in a Globally Distributed Environment 28 4.2.4 AGREEMENTS The use of Scrum did also had impact on the agreements between Capgemini and ING. o Informal contracts: Because of the use of Scrum also the formal agreements between Capgemini and ING have changed. In the past they always had fixed-price agreements in which all the to be delivered functionally was predefined. For any additional feature new negotiations about the price were needed. This doesn’t work very well with Scrum were requirements are not fixed and the focus is on adapting change. For this reason also the formal agreements between Capgemini and ING has changed to more informal agreements in which there is room for requirements changes during the project. 4.2.5 OVERVIEW OF ALL THE MENTIONED CHANGES DUE TO SCRUM Table 4-2 provides an overview of all the most mentioned changes in the projects due to the use of Scrum. During the interview sessions the interviewees did mention many specific benefits related to those changes. For this reason we gave all the changes a number so we can easily relate the benefits in the next paragraph to the mentioned changes in this paragraph. Nr. 1 2 3 4 5 6 7 8 9 10 11 Change: Daily Scrum meeting Scrum board Planning meetings Smaller tasks Demo meetings Retrospective meetings Team is cross-functional Team involvement Business involvement Intensive collaboration Informal contracts Table 4-2: Overview of functional changes Benefits and Challenges of Agile in a Globally Distributed Environment 29 4.3 PERCEIVED BENEFITS OF AGILE Resulting from the use of Scrum in the two projects many benefits where mentioned during the interviews. Overall it seems that both business, onshore- and offshore team members experienced the use of Scrum as very positive. One of the onshore interviewees even said: ‘I am still working on this project because we now use Scrum which works a way better and is a lot more fun to do. If we would have continued working in the traditional way I would have already gone to another project.‘ In this section we will discuss the most common mentioned benefits. During the analysis of the interviews we identified 5 main categories: communication, knowledge management, team cohesion, team satisfaction, and quality & performance. Each category comes with an overview of some more specific related benefits and their relations to the Scrum changes as described in table 4-1. 4.3.1 COMMUNICATION One of the benefits of using Agile in the two projects has to do with communication. As mentioned in paragraph 3.5.2, communication can be seen as one of the biggest challenges of using Agile in GSD, but it can also be seen as a great benefit for GSD. In these two projects communication seems to be greatly improved by the use of several Agile practices. In general the improvement here is that the business site and the offshore site do now more often and daily communicate with each other. Since the offshore site is fully part of the Scrum team, thereby participating in all the Scrum practices and are more easy to approach through several tools like the eye-catcher, the business experience less communication barriers (B1) and shorter communication lines with the offshore site (B2). Figure 4-3 shows this difference in communication between the business (client) and the offshore site. An onshore interviewee from the business site said: ‘In the past a lot of parties were involved in communicating things to India. This adds a lot of noise and delay in the communication process. Now we can directly talk to the Indian team members and explain them certain things face-to-face, this really improves progress of the project and the quality of the delivered work.’ In the traditional way of working certain request from the client for the offshore site needed to be passed through Capgemini NL. This was experienced as a great communication barrier. Today this barrier is gone and communication has been improved since the offshore site is now fully participating in the team. Furthermore, through the improved and more frequent communication, the offshore site gets more and better feedback on their delivered work from the business site (B3). An offshore developer said about this: Benefits and Challenges of Agile in a Globally Distributed Environment 30 ‘Because of Agile we now daily communicate with the business. This helps us better understand what they want and this results in a better product. It is also more interesting to work with the business people and hear what they find about the product. In the past we never saw the business and only got the requirements through documentation.’ Figure 4-3: Traditional- vs. Agile way of working Benefit: B1 Less communication barriers experienced between business and offshore site. B2 Communication lines are shorter between the business and offshore site. B3 Offshore site gets daily face-to-face feedback from the business site. Related to: 1, 8-10 1, 8-10 1, 8-10 Table 4-3: Communication related benefits 4.3.2 KNOWLEDGE MANAGEMENT The interviewees mentioned several improvement regarding knowledge management (KM) since the use of Scrum. As described in paragraph 2.2.3, KM involves the capture and acquisition of knowledge. We also identified two types of knowledge: Tacit-knowledge and Explicit-knowledge and made clear that both are equally important in SE. In GSD the share of Tacit-knowledge is more challenging since team members are globally dispersed. On the other hand, Agile processes put more emphasis on sharing tacit-knowledge than traditional methods seems to do (Chau, Maurer, & Melnik, 2003). Therefore using Agile in GSD may improve to the share of tacit-knowledge. Benefits and Challenges of Agile in a Globally Distributed Environment 31 In the two studied projects the use of Agile seems to have a positive influence on the share of Tacit-knowledge. Through the use of several Scrum practices, interviewees mention many improvements on KM and particularly in the field of sharing tacit-knowledge. However, the share Explicit-knowledge is also effected by Agile. Since they use Scrum less documentation is needed to communicate requirements and specifications to the offshore site (B4). An offshore software developer said about this: ‘In the past we only got specifications on requirements through documentation. Today we directly communicate with the client which lowers the need of documentation. If more clarification is needed we can directly contact the business site. Furthermore, because of the daily communication we also understand the requirements from the business better than in the past.’ Back to Tacit-knowledge, we can see from the above quote that also through the daily communication the offshore site better understand what the business site want (B5). This is mentioned by almost all the interviewees on and offshore. Furthermore, interviewees mention that Scrum also help to increase knowledge on the business domain at the offshore site (B6). An offshore tester said about this: ‘Through the interaction with the business site I learn a lot about the their domain. For instance, during the last months I have obtained a lot of knowledge on retail products in the Netherland. This helps me better understand the context of the product were I am working on.’ Other KM related benefits that were mentioned are about the control and coordination of the work between the different sites. Through the Daily Scrum meetings, knowledge transfer sessions and by the use of several supporting tools like a common repository and the Office messenger, work is now more easily aligned and synchronised between the two sites (B7). An onshore interviewee from the business site said about this: ‘It is easier to handle business when people working together. Handling business only through email doesn’t work. During the RUP period I always said that people should work more together and see each other on daily basis. Now we are finally doing this through the Scrum practices.’ The use of the Scrum board also have other benefits on KM. Through the Scrum board all the participants have a good overview of who is working on what and what the overall progress of the project is (B8). In the past several tools were used like Microsoft Project and Excel to monitor all the processes. This was experienced as more complicated and difficult. Benefit: B4 Less need of documentation to make requirements clear. B5 India site better understands what the business wants. B6 Better insight in business domain by offshore site. Benefits and Challenges of Agile in a Globally Distributed Environment Related to: 1-5, 7-10 1, 5, 7-10 1, 5, 7-10 32 B7 Synchronising and aligning work between on- and offshore site is more easy. B8 Better overview on the overall progress of the project. 1-3 1,2 Table 4-4: KM related benefits 4.3.3 TEAM COHESION The interviewees reported that since the use of Scrum there is more trust between the onshore and offshore site and that there is more feeling of being one team instead of two teams (see figure 5-3). Onshore team members do mention that they have more trust in their offshore colleagues since they now see each other on daily basis and do experience that the offshore site is fully committed and are able to deliver high quality work. Many interviewees from the onshore site mention that they experience that their offshore colleagues feel more free to talk (B9) and do sooner ask critical questions since they are less afraid to say what is on their mind (B10). An onshore interviewee said: ‘During the Daily Scrum meeting we can see each other through the eye-catcher which makes it more easy to detect if someone from the offshore site is holding information back. During the meeting it is also easy to break the ice through little jokes for instance. As a result the Indian people are more comfortable to speak.’ The business site, which had in the past no or very less direct face-to-face contact with the offshore site, do also more appreciate their offshore colleagues and show more respect to them (B11) since they are participating in the same Scrum practices and see each other daily. An onshore Capgemini interviewee said about this: ‘In the past there was no face-to-face contact between India and the business people. Often it happened that an Indian team member had some questions about a particular subject and asked this through email to a team member from the business site. As a result the team member from the business site came to me saying: ‘That person from India with that strange name is asking me all those strange questions again… ’. This reflects how the business site was seeing the India site. Today this has totally changed since India and the business are fully involved and see each other on daily basis. ’ Since the use of Scrum in the project all interviewees do experience that that there is a lot more synergy between the two sites. Most interviewees mentioned that they have the feeling of being one team instead of two (B12) since they are working now more closely together. They also do mention that since the use of Scrum there is less feeling of culture difference (B13). Although most interviewees do mention that there is off course always a difference in culture between the two sites, they now experience through the Scrum practices that Benefits and Challenges of Agile in a Globally Distributed Environment 33 they are more aware of each other’s culture which makes it more easie to communicate and collaborate with each other. An offshore interviewee said this about team cohesion: ‘In the past it felt like the Dutch colleagues were our clients. Since Scrum this has changed and we feel we are now one team working on the same product.’ The last mentioned benefit in the field of trust and team cohesion is about the feeling of being collectively responsible. In the past all the team members had their own specific tasks and where only involved in specific phases of the project. For instance a tester was only involved in the testing phase and a requirements analyst only in the requirements phase. Now with Scrum all team members are involved throughout the whole project and are working more closely with other disciplines in the project. This results in more feeling of being shared responsible for the overall performance (B14) instead of just doing your own part. This is mentioned by both onshore and offshore team members. Benefit: B9 Offshore team members feel more free to talk. B10 Offshore site does sooner ask important questions and is less afraid to say what is on their mind. B11 Business site shows more respect and empathy to the offshore site. B12 Greater feeling of being one team instead of 2 teams as in RUP B13 Less feeling of culture differences between the two sites. B14 Team members (on- and offshore) feel more shared responsible for the overall performance of the project. Related to: 1, 3, 6, 8, 9 1, 3, 6, 8-10 1, 3, 8-10 1, 3, 5-10 1, 3, 5-10 1, 7-10 Table 4-5: Team cohesion related benefits 4.3.4 TEAM SATISFACTION Motivation among the onshore and offshore team members seems also to be increased by the use of Scrum (B15). In particularly the offshore site highly benefits from the use of Scrum when looking at motivation. The Daily Scrum meeting helps to keep the offshore site involved in the team and motived in delivering their work properly. During the Daily Scrum meeting they have to give a status update on their work. Almost all the offshore interviewees mention that this helps to keep them motivated and focused. This also holds for the onshore site as mentioned by several onshore interviewees. The Daily Scrum meetings do also help to create more team cohesion as described in the previous paragraph. This team cohesion does also have a positive effect on the motivation of the offshore site since they feel more part of the team and more responsible to deliver good work. Furthermore since the offshore site is now more involved in other tasks, see the onshore site on daily basis and get more appreciation about their work from the business site, motivation is more increased. An offshore interviewee said the following: Benefits and Challenges of Agile in a Globally Distributed Environment 34 ‘In the RUP model we worked more isolated and I often felt I was like a robot since I was just developing what I got through documentation without knowing where it was meant for. Today we are interacting with the business and I can now also increase my knowledge on their domain which makes the work more interesting to do. The Daily Scrum meetings also helps to keep you motivated’ Overall, both onshore and offshore interviewees mention that they not only feel more motivated but that working in this Scrum way is just more fun to do compare to RUP (B16). Some interviewees even said that they are still working on this project because they liking this way of working so much. Benefit: Related to: B15 Increased motivation of team members (both onshore and 1-10 offshore site). B16 Increased team satisfaction through use of Scrum 1-10 Table 4-6: Team satisfaction related benefits 4.3.5 QUALITY & PERFORMANCE The last identified benefits of using Scrum in this globally distributed project have to do with the quality of the delivered work and the overall performance of the project. Because Scrum encourage daily communication and intensive collaboration, the offshore site makes less mistakes which results in less change requests after delivering a certain peace of work (B17). Change requests did often happen during RUP period. Another major benefit of the daily communication practices is that impediments are now identified much earlier in the project and are resolved more quickly (B18). An onshore interviewee said this: ‘Today misunderstandings and impediments are identified much earlier than in RUP. Now they can work on something wrong for a maximum of one day. In the past they could work on a particular task for more than a week before any misunderstanding or impediment was identified.’ Another practice of Scrum which helps to improve the quality and performance is the crossfunctionality of the team members. This is beneficial in two different ways: Firstly, since offshore team members are also involved in for instance elaborating stakeholder requests they already gaining some kind of domain knowledge. This helps to them later when they actually doing the development in making a better product. Several onshore interviewees mention improved quality of the delivered work from offshore site (B19) because of this. Secondly, another improvement here is that they now can always work on something if there is no work to do in their specific discipline which results in more efficient use of the resources offshore (B20). An onshore interviewee said about this: Benefits and Challenges of Agile in a Globally Distributed Environment 35 ‘During RUP it was quite common that the India site had nothing to do since they had to wait for tasks from the Netherlands, but it did also happened that they worked the whole weekend to get a certain task done. Since the introduction of Scrum the offshore site can easily pick up other tasks from the Scrum board. Also, no overworking hours are any longer reported.’ Another important benefit resulting from the previous mentioned benefits within this paragraph is that the overall productivity has increased (B21). Although there was no hard evidence available, interviewees from both business, Capgemini onshore and Capgemini offshore, do mention that productively has increased between 25 to 40 percent since the use of Scrum. The last benefit that all the business site interviewees did mention is about the adaptive development approach of Scrum. Since they use no longer fixed price agreements between ING and Capgemini the business interviewees experience that the focus by their Capgemini colleagues is more on creating customer value (B22) than making money through extra changes. An onshore interviewee from the business site said this: ‘Since we have different agreements with Capgemini I experience that the Capgemini colleagues are more open for changes from the business. In the past we had to negotiate about the price for every additional feature which was not part of the initial agreement.’ Benefit: B17 Less mistakes are made by offshore site resulting in also less change requests after delivery. B18 Impediments are identified and resolved more quickly. B19 Quality is higher of the delivered work from offshore site. B20 More efficient use of the offshore resources B21 Increased overall productivity. B22 Focus is more on creating as much value as possible for the client Related to: 1, 5, 7-10 1, 5, 7-10 1-10 2, 7 1-11 11 Table 4-7: Quality & Performance related benefits Benefits and Challenges of Agile in a Globally Distributed Environment 36 4.3.6 RELATING BENEFITS TO LITERATURE In paragraph 3.5.2 we identified through a literature review several potential benefits of using Agile practices in GSD. With the results of the field study we can now validate these previous identified benefits. Table 4-8 provides an overview of the benefits from the literature and if they are acknowledged by the field study. Agile Aspect : Related benefits (from literature): Confirmed in: A1: Intensive collaboration Provides useful practices for improving collaboration and communication between sites Reduces culture differences between the participants Better understand of each other’s culture / business domain Builds trust Increased shared tacit knowledge between sites B1-B3, B7, B12, B20 B12, B13 B3, B5, B6, B9–B13 B1, B3, B5, B7B10 B1-B3, B5, B7B10 B3, B17, B18 A2:Team ownership A3:Adaptive development A4:Short iterations A5: Simplicity A6: Continuous improvement Less need for sharing extensive documentation (explicit knowledge) to make requirements clear Early detection of defects or deviations due to cultural misunderstandings Customer can easy apply changes without new contract negotiations. Increase advantages of closer proximity to market Misunderstandings become clear in an early phase of the development through frequent integrations and testing More feedback on implementation through short iterations Feedback helps to motivate offshore team members and build trust between sites More transparency of the work progress to all participants Control and coordination of project is easier to handle Reduce the change of misunderstandings Team can reflect upon its own behaviour and how to improve it Helps to increase team cohesion, commitment and common ground. B22 n/a B18 B3 B11, B15 B8 B7 B3, B5, B17 B12, B15 Table 4-8: Benefits from literature related to the benefits in the field study Table 5-8 shows that we can confirm almost all the identified benefits from the literature in the field study. Except the benefit “Increase advantages of closer proximity to market” we couldn’t acknowledge, but this is quite obvious since the strategic reasons in the projects to choice for offshore development were not about closer proximity to market (§2.1.4), but about the financial benefits (§2.1.1) and accessing a larger labour pool (§2.1.3). The benefit “Team can reflect upon its own behaviour and how to improve it”, we also couldn’t directly acknowledge. We believe that this benefit still holds in this project but that we simply could not directly identify it through the 13 interview sessions. When looking at all the mentioned benefits from the field study compare to the benefits form the literature we can conclude that no new benefits have come forward through this field study. Nevertheless, we were able to acknowledge that working with Agile can indeed Benefits and Challenges of Agile in a Globally Distributed Environment 37 have a very positive impact on the overall performance of the project and on several specific aspects which are often quite challenging in GSD like communication and team cohesion. 4.3.7 RELATIONSHIPS BETWEEN THE CATEGORIES As described in the paragraph 4.3.5, in the field study we were able to identify five categories which were positively affected by the use of several Agile practices. These categories were: communication, knowledge management, team cohesion, team satisfaction and Quality & performance. During the interview session we also noticed that several interviewees related specific benefits on the improvements that were made on other categories. For instance, the improved communication was not only related to the use of the Daily Scrum meeting, but also because of the overall improved trust and team cohesion in the project. Furthermore, the increased Trust & Team cohesion was also related by interviewees to the improved communication. This shows that the 4 categories are somehow inter-related with each other. This is depicted in figure 4-1. Figure 4-1 also shows that the benefits which belong to the fifth category: Quality and Performance, can been seen as a result from the improvements that were made on the other four categories. Many interviewees mentioned that because of all the Agile practices, the overall quality and performance has increased. A follow-up study should be conducted to get more insight in these precise inter-relations between the these categories. Working with Agile in GSD Improved Team Cohesion Improved Communication Improved Quality and Performance Improved Team Satisfaction Improved Knowledge Management Figure 4-4: Agile improvements on 5 categories Benefits and Challenges of Agile in a Globally Distributed Environment 38 4.4 HOW THE PROJECTS HANDLED THE DAD-CHALLENGES In paragraph 3.5.1 we mentioned 6 challenges related to the use of Agile methodologies in a globally distributed environment. These challenges consisted of a contradistinction between Agile and GSD. From this one or more questions where formulated. In this paragraph we will discuss how the two projects from the field study handled these challenges. Per challenge we will give an short description and the answers on the related questions. In paragraph 4.5 will also come with some other identified challenges from the field study. DAD Challenge 1: Communication need versus communication impedance This DAD challenge was about the friction between Agile where communication is a vital part of the process and GSD where communication is often minimized. From the field study we can conclude that the two projects could successfully overcome this general DAD challenges. DAD Challenge 1 Questions and Answers Q1 How could daily face-to-face communication be arranged? A2 Daily communication was successfully arranged through the Daily Scrum meeting with the use of an eye-catcher tool at both sites. Almost all the interviewees did mention that this worked very well. Q2 What kind of communication practices and media are suitable for communication? A2 The practices that were successfully used for communication are the Daily Scrum meeting, Scrum planning meeting, Scrum Demo meeting and the Retrospective meeting. The different used communication media were: eye-catcher, video conference room, telephone, email, Office messenger and a common repository. Q3 How could informal communication be encouraged? A3 Informal communication was encouraged through the knowledge transfer sessions and the Office Messenger. Q4 How could the risk for misunderstandings (e.g. requirements) be minimized? A4 Through the Daily Scrum meetings and the intensive collaboration with the business site, the risk for misunderstandings was minimized. Q5 How could trust be built and retained between team members to ensure open communication? A5 Trust was built and ensured by bringing people from the offshore site for a short period of time to the onshore site. Also by letting the offshore team members actively be involved in for instance the Demo meetings, trust could be built and retained. As mentioned in paragraph 4.3.1, the successful use of the Scrum practices through several tools, communication was improved and many additional benefits were identified. The two projects demonstrate that intensive communication with an offshore site in India is possible. Benefits and Challenges of Agile in a Globally Distributed Environment 39 DAD Challenge 2: Fixed requirements versus evolving requirements This challenge was based on the principle that there is a limited ability to coordinate and control offshore activities. For this reason GSD often relies on fixed requirements while Agile processes are adaptive an emphasize changes. DAD Challenge 2 Questions and Answers Q6 How can we achieve a balance between fixed and evolving requirements? A6 In the two projects an iteration took 1 month. This implies that during this period requirements stay fixed and cannot be changed as Scrum prescribes. Through this it seems that there was a right balance between fixed and evolving requirements. Furthermore new requirements could easily adapted by the offshore site since they were fully part of the Scrum team. Q7 How could frequent communication between on-site customer and offshore developer be encouraged? A7 Frequent communication with the on-site customer was arranged through the Daily Scrum meetings, the knowledge transfer sessions and the Demo meetings. DAD Challenge 3: People-oriented versus process oriented control In GSD, control is often achieved by formal processes in contrary to Agile where informal and people orientated processes are often used to achieve control. The following questions were derived from this: DAD Challenge 3 Questions and Answers Q8 What would be the right balance between people and process oriented control? A8 In the two projects of the field study they did not fully overhand all the control to the Scrum teams. Instead of this they partially gave control through the team members. All the team members still had their own primary task. Next to this, several extra rolls were introduced in the project to help the Scrum team support and control its process. At the India site still an on-site manager was supervising the employees. Onshore also an additional project manager was involved beside the Scrum master. Through this they mostly work in an Agile way while still retaining control within and between both sites. Q9 How could we introduce Agile to the offshore site and ensure that the principles of Agile are well adapted? A9 Several interviewees mentioned that offshore team members can have some difficulties in adopting this Agile way of working in the beginning since they are not used to open communication. Several interviewees mentioned that it can take some time before the offshore site is ready for using Agile, but eventually when they have more experience with Agile and there is more trust, the offshore site can successfully participate in an Agile/Scrum way. Benefits and Challenges of Agile in a Globally Distributed Environment 40 DAD Challenge 4: Formal agreements versus informal agreements GSD often relies on explicit targets and detailed specifications which are formulated in formal agreements while in Agile, agreements have to be informal to ensure an open and adoptive environment with focus on creating customer value. DAD Challenge 4 Questions and Answers Q10 How can we use the informality of Agile in a distributed context? A10 The two projects demonstrate that the informality of Agile can be retained by the use of the right agreements. When they started to use Scrum, an explicit change was made in the agreements between Capgemini and ING as described in paragraph 3.5.2. Though this and by the use of the ScrumPlus framework, the informality of Agile could be successfully applied in an Offshore development project. DAD Challenge C5: Short iteration versus distance complexity In Agile short iterations, frequent builds, and continuous integration bring additional challenges to configuration management and version control software. When different offshore sites are involved this can even be more challenging regarding technical and legal differences. DAD Challenge 5 Questions and Answers Q11 How could Agile development function in GSD regarding the technical and legal differences between companies and countries? A11 In the two projects some difficulties were mentioned on this topic. Firstly, the team could not be fully cross-functional since it was simply not allowed to carry out some tasks at the offshore site. For instance, one part of getting a task in the “Done” status is integration testing. It would be ideal if a tester from India could perform those tests, but it is simply not allowed due to legal rules that a person from outside the European Union has access to financial systems of a company in the European Union. For this reason the integration testing was only done onshore. Secondly they worked with two different environments. One Capgemini environment where the Capgemini onshore and offshore people worked on and an environment from ING where the ING people worked on. Every day the two environments were synchronised. DAD Challenge 6: Team cohesion versus team dispersion In GSD, team cohesion is more challenging when team members are globally dispersed while in Agile team cohesion is very important. DAD Challenge 6 Questions and Answers Q12 How can team cohesion be improved in DAD? A12 As mentioned under DAD Challenge 1, team cohesion between the onshore and the offshore site was encouraged by bringing people from the offshore site to the onshore site for a short period of time. Several interviewees mentioned (both onshore and offshore) that after such a period there were improvements in communication and collaboration between the two sites. Also through the Daily Scrum meetings team members at both sites felt more team cohesion. Benefits and Challenges of Agile in a Globally Distributed Environment 41 4.5 THE MENTIONED CHALLENGES FROM THE FIELD STUDY In the previous paragraph we discussed how the two projects handled the DAD-challenges that we identified from the literature. In most cases these challenges were not directly applicable on the two projects from the field study. However, during the interview sessions the interviewees did mention some challenges regarding the use of Agile practices in a globally dispersed project. All of these challenges cannot been seen as new challenges that derive from the combination of Agile and GSD. The mentioned challenges were either wellknown GSD challenges or well-known Agile challenges. Still, the challenges did affect the distributed Agile way-of-working in the two projects and for this reason we think is still valuable to mention them in this section. 4.5.1 TECHNICAL ISSUES Agile highly depends on open face-to-face communication and intensive collaboration between the different team members. Intensive communication and collaboration between the two sites is often arranged through technical solution like the use of the eye-catcher tool during the Daily Scrum meetings for instance. Technical issues (e.g. loss of internet connection) do sometimes happen and do effect the project since many Agile practices highly depend on those communication channels. When tools did not work they often tried it again after a few minutes or they switched to another communication medium. Although some of these technical issues did happen sometimes, all the interviewees did not experienced it as a big obstacle for working Agile. 4.5.2 LANGUAGE & CULTURE ISSUES The differences in language and culture can also be an issues in Agile projects. Issues mentioned by the interviewees were about that Indian people find it difficult to understand the Dutch people and vice versa due to difference in English accents. Although most team members do get used to each other’s accent in time, it can be still an issue. In this project they had one offshore team member working at the onshore site. He often served as a communication bridge between the onshore and the offshore team members. It could also happen that during the Demo meetings, that the onshore stakeholders did not felt comfortable talking English. Especially when they needed to talk about very complicated matter. In these situations they often switch back to Dutch and later summarized it to the offshore site in English. The last mentioned issue was about the problem that the onshore and offshore site were not always aware of each other’s holidays and working hours. To minimize this problem the onshore site used two different clocks. One with the local onshore time and the other with the local offshore time to create more awareness of each other’s working hours. Benefits and Challenges of Agile in a Globally Distributed Environment 42 4.5.3 TRUST ISSUES Although trust has been greatly improved between the onshore and offshore site since the use of Agile (§4.3.3), still some progression can be made. Some onshore team members find it still difficult to hand over work to their offshore colleagues. An onshore interviewee said about this: ‘When looking at trust and working cross-functional the onshore site can still make some improvements here. I experience that other team members from the onshore site still find it difficult to hand over work to their Indian colleagues because of a lack of trust.’ Most interviewees did also mention that trust is essential for using Agile in GSD projects. They also mentioned that it can be quite hard to build trust when team members are globally dispersed. In this project they often brought team members from the offshore site for a certain amount of time to the onshore site. This helps to build trust and most interviewees did mentioned that afterwards they felt improvements on this. The same interviewee from the previous quote also said about this: ‘When our Indian colleagues were back at the offshore site again after a visit in the Netherlands, I directly saw improvements on trust. Team members from the Netherlands could hand over work more easily since they better know their colleague from India and the Indian team members did also started to ask questions sooner since they know us better. Bringing people from both sides together for a certain amount of time helps to improve trust in both directions’ 4.5.4 BUSINESS AND AGILE PROCESSES ALIGNMENT ISSUES The last mentioned challenge is about the alignment between different business units and Agile processes. Agile is a very fast and a very different way of working compare to the more plan-driven software development methodologies. In this project they often experienced that the business site was not fully capable or ready to support these fast Agile practices. When developing software often many parties from the business site are involved. They often experience that these parties were not used to the Agile way of working. An interviewee said about this: ‘When we developing software and we need some sort of input from another department from the business, you can’t in wait in Scrum for 10 days on their answer. However, according the SLA’s they are in their right to do this within 10 days. These agreements do not really fit in the Scrum process anymore’ Almost all the onshore interviewees mentioned this problem and said that no longer working with the offshore site is the biggest challenge, but working with those different business units. Benefits and Challenges of Agile in a Globally Distributed Environment 43 4.6 DISCUSSION In this chapter, we described how the use of Agile practices based on Scrum had been applied to two distributed software development projects. We also examined what the impact of those practices were on the two projects. Although some challenges were mentioned about using Agile practices in an offshore project, broadly spoken it is perceived as a great improvement by all the participants. The improvements are even so great that they are implementing this Agile approach for a third combined offshore software development project of Capgemini and ING. When looking to the benefits of using Agile practices in a GSD project we can see that many of the general GSD challenges, as described in paragraph 2.2, can be mitigate by using Agile practices. Furthermore several other benefits were identified related to communication, knowledge management, team cohesion, team satisfaction and quality & performance of the delivered work. The first four categories are most likely a result from the use of specific Agile practices. The benefits from the last category can been seen as benefits which emerge from the use of Agile in general. The challenges that emerged from use Agile in GSD as identified in paragraph 3.5.1, could be simply tackled by the use of several Scrum practices and tools that could support those practise. Other challenges that were mentioned in the field study were about technical issues, language & culture issues, trust issues, and business & Agile alignment issues. Important to note is that none of these issues were experienced as a real threat for the overall progression of the project. Furthermore, the identified challenges were either more typical GSD related challenges or typical Agile challenges. Nevertheless they did had some impact on the Agile way of working in these GSD projects. For these reason they should also be seen as DAD-challenges. Beside the use of the Scrum practices there were also some well-know GSD practices used to support the distributed way of working in the two projects. One offshore team member was permanently situate at the onshore site. He often served as a so-called bridgehead (paragraph 2.4.2) to reduce cultural distance. Also frequent visits were used to build trust between the two sites. It seems that the combination of several Agile and GSD practises with the right set of tools to support those practises can lead to successful distributed collaboration. Benefits and Challenges of Agile in a Globally Distributed Environment 44 5 CONCLUSION The aim of this study was to investigate what the impact is of Agile practices on GSD projects. This was also formulated in the research question in chapter 1. Based on the literature review on GSD, Agile, and the combination of both, we were able to identify several benefits and challenges related to the use of Agile practices in GSD. Through the practical work we were able to validate these identified benefits and challenges in two running distributed Agile projects of Capgemini and ING. We found that the impact of Agile in a GSD project can be very positive. We identified many benefits resulting from the use of Agile in GSD and related them to specific Scrum practices. We were also able to generalize the benefits into 5 main categories: Communication, Knowledge Management, Team Cohesion, Team Satisfaction and Quality & Performance. Additionally we found some challenges related to the use of Agile in GSD, but these challenges were not experienced as big impediment. Furthermore, the identified challenges were either more typical GSD related challenges or typical Agile challenges than challenges resulting from the combination of both. We succeed in our aim to identity the impact of Agile in GSD through the literature review and the practical work. From this we can also conclude that Agile practices can have a positive impact on GSD projects and can help to mitigate many of the well-known challenges of GSD. 5.1 LIMITATIONS This conducted single-field study in a single organization clearly has some limitations. It was unfortunately not possible to research another GSD-project that used Agile instead of plan-driven methodologies. It would be very interesting to compare this research to other projects and see if the findings from this study are also applicable in other organization with different team members, Agile practices, tools and offshore locations. For this reason the findings of this study are limited generalizable to other projects with different parameters. 5.2 FURTHER RESEARCH As argued in the previous section more research is needed to further underpin the findings from the field study. This could be done through studies with a qualitative or quantitative design. Field studies in other projects with different configurations on used Agile practices, Benefits and Challenges of Agile in a Globally Distributed Environment 45 development locations and team members can give more insight in the benefits and challenges that come with the use of Agile in GSD. Quantitative research is also interesting. The mentioned benefits from this study could be further investigated and underpinned with hard quantitative data. Quantitative research could deliver more insight in the precise inter-relations between the identified categories. Quantitative research can also be used to find other sources (e.g. bug reports) that can give more empirical evidence on for instance the statements that were made on improved quality of the delivered work. Benefits and Challenges of Agile in a Globally Distributed Environment 46 BIBLIOGRAPHY Abrahamsson, P., Salo, O., & Ronkainen, J. (2002). Agile Software Development Methods review and analysis. Ågerfalk, J. P., & Fitzgerald, B. (2006). Flexible and Distributed Software Processes: Old Petunias in new Bowls? Communications of the ACM, 49(10), 26-34. Ågerfalk, P. J., B, F., Holmström Olsson, H., & Ó Conchúir, E. (2008). Benefits of Global Softare Development: The Known and Unknow. Lecture Notes in Computer Science, 5007/2008, 1-9. Alliance, A. (n.d.). manifesto for Agile Software Development. Balasubramaniam, R., Lan, C., Kannan, M., & Peng, X. (2006, October). Can Distributed Software Development be Agile? Communications of the ACM Vol. 49, No. 10. Berczuk, S. (2007). Back to Basics: The Role of Agile Principles in Success with an Distributed. AGILE. Capgemini. (2011). Capgemini. Retrieved 12 30, 2011, from http:www.capgemini.com: http://www.capgemini.com/m/en/ext/investor/assets/HalfYear_Report_at_June_30__2011.pdf Carmel, E., & Agarwal, R. (2001). Tactical approaches forAlleviating Distance in Global Software Development. IEEE Software, 22-29. Cataldo, M., & Ehrlich, K. (May 2011). The Impact of the Structure of Communication Patterns in Global Software Development: An Empirical Analysis of a Project Using Agile Methods. Institure for Software Research. Chau, T., Maurer, F., & Melnik, G. (2003). Knowledge Sharing: Agile Methods vs. Tayloristic Methods. Cockburn, A. (2001). Agile Software Development. Cockburn, A., & Highsmith, J. (2001, November). Agile Software Development: The People Factor. Software Management, 34(11), 131-133. Correia, F. F., & Aguiar, A. (2009). Software Knowledge Capture and Acquisition: Tool Support for Agile Setting. Fourth International Conference on Software Engineering Advances (pp. 542-547). IEEE. Benefits and Challenges of Agile in a Globally Distributed Environment 47 Damian, D. E., & Zowghi, D. (2003). Requirements Engineering challenges in multi-site software development organizations. Requirement Engineering Journal, 8, 149-160. Ebert, C., & Philip, D. N. (2001). Surviving Global Software Development. IEEE Software, 18(2), 62-69. Florida, R. (2005). The flight of the creative class. The new global competition for talent. LiberalEducation, 92(3). Gourlay, S. (2003). The SECI model of knowledge creation: some empirical. Guion, L., Diehl, D., & McDonald, D. (2002). Triangulation: Establishing the Validity of Qualitative Studies. Herbsleb, J. D., & Moitra, D. (2001). Global Software Development. IEEE Software, 16-20. Highsmith, J., & Cockburn, A. (2001). Agile Software Development: The Business of Innovation. Computer, 120-122. Hirschheim, R., George, B., & Fan Wong, S. (2004). Information Technology Outsouring: The move towards offshoring. Journal of Economics and Business, 1-22. Holmström, H., Fitzgerald, B., Ågerfalk, P., & Conchúir, E. (2006). Agile Practices Reduce Distance in Global Software Development. Information System Management, 7-18. Hossain, E., Babar, M. A., & Paik, H.-y. (2009). Using Scrum in Global Software Development: A Systematic Literature Review. Fourth IEEE International Conference on Global Software Engineering, 175-184. Kajko-Mattsson, M., Azizyan, G., & Katrin Magarian, M. (2010). Classes of Distributed Agile Development Problems. Agile Conference 2010, 51-58. Keil, P., Paulish, D., & Sangwan, R. (2006). Cost Estimation for Global Software Development. Proceeding EDSER '06, 7-10. Kontio, J., Höglund, M., Rydén, J., & Abrahamsson, P. (2004). Managing Commitment and Risk: Challenges of Distributed Agile. Proceedings of the 26th International Conference on Software Engineering (ICSE’04) (pp. 1-2). IEEE. Kotlarsky, J., & Oshri, I. (2005). Social ties, knowledge sharing and successful collaboration in globally distributed system development projects. European Journal of Information Systems(14), 37-48. Benefits and Challenges of Agile in a Globally Distributed Environment 48 Larman, C., & Basili, V. R. (2003). Iterartive and Incremental Development: A Brief History. 47-56. Lehtonen, I. (2009). Communication Challenges in Agile Global Software Development. Lencioni, P. (n.d.). The Five Dysfunctions of a Team. Jossey-Bass. Lewin, A., Massini, S., & Peeters, C. (2009). Why are companies offshoring innovation The emerging global race for talent. Journal of International Business Studies, 40(6), 901925. Mannin, S., Massini, S., & Arie Y, L. (2008). A Dynamic Perspective on Next-Generation Offshoring: The Global Sourcing of Science and Engineering Talent. Academy of Management Perspectives, 22(3), 35-54. Mantelli, C., van den Hoof, B., Tang, A., & van Vliet, H. (2011). The Impact of Multi-site Software Governance on Knowledge Management. Miller, G. (2001). The Characteristics of Agile Software Processes. Proceedings of the 39th Int’l Conf. and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS39). Mockus, A., & Herbsleb, J. (2001). Challenges of Global Software Development. Proceedings of the Seventh International Software Metrics Symposium, 1-3. Moe, N., & Šmite, D. (2008). Understanding a lack of trust in Global Software Teams: a multiple‐case study. Software Process: Improvement and Practices, 13(3), 217-231. Moore, S., & Barnett, L. (2004). Offshore Outsourcing and Agile Development. Forrester. Nonaka, I. (2007). The Knowledge-Creating Company. Harvard Business review, 162-171. Nonaka, I., Toyama, R., & Konno, N. (2000). SECI, Ba and Leadership: a Unified Model of Dynamic Knowledge Creation. Long Range Planning, 33(1), 5-34. Paasivaara, M., & Lassenius, C. (2006). Could Global Software Development Benefit from Agile Methods? International Conference on Global Software Engineering (ICGSE'06). Parviainen, P., & Tihinen, M. (2011). Knowledge-related challenges and solutions in GSD. The Journal of Knowledge Engineering, 1-22. Prikladnicki, R., Audy, J., & Evaristo, R. (2003). Global Software Development in Practice: Lessons Learned. Software Process: Improvement and Practice, 267-281. Benefits and Challenges of Agile in a Globally Distributed Environment 49 Rus, I., & Lindvall, M. (2002). 'Guest Editors' Introduction: Knowledge Management in Software Engineering. IEEE SOFTWARE, vol. 19, no. 3, 26-38. Schwaber, K., & Beedle, M. (2002). Agile Software Development with Scrum. Prentice Hall. Šmite, D., Moe, N., & Ågerfalk, P. (2010). Agility Across Time and Space: Implementing Agile Methods. Springer. Sutherland, J., Viktorov, A., Blount, J., & Puntikov, N. (2008). Distributed Scrum: Agile Project Management with Outsourced Development. AGILE '08. Conference, 339 - 344. Taylor, P., Greer, D., Sage, P., Coleman, G., McDaid, K., & Keenan, K. (2006). Do Agile GSD Experience Reports Help the Practitioner. Proceeding GSD'06, 87-93. Turner, R. (2007). Toward Agile Systems Engineering Processes. The Journal of Defense Software Engineering, 11-15. Uy, E., & Ioannou, N. (2008). Growing and Sustaining an Offshore Scrum Engagement. Agile Conference, 345-450. West, D., & Hammond, J. S. (2010). The Forrester Wave: Agile Development Management. Williams, L. (2007). A Survey of Agile Development Methodologies. Benefits and Challenges of Agile in a Globally Distributed Environment 50 APPENDIX A: AGILE MANIFESTO We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more The 12 Principles behind the manifesto: 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly. Benefits and Challenges of Agile in a Globally Distributed Environment 51 APPENDIX B: INTERVIEW STRUCTURE Interview duration: ± 60 minutes Target group: People who are involved in Distributed Agile Devolpment (e.g. software developers, testers, project managers, business analysts etc.). Important is that they are currently involved or have (recent) experience in Distributed Agile Development. From each roll I will interview a representative number. My target is to interview 15 people. Interview setup: Step 1 (introduction, 3 min): The interviewee will be informed in advance about the purpose of the interview (research about Agile in multi-site software development), duration, confidentiality and that the interview will be recorded (audio). Before start I will ask if there are any question regarding these topics. Step 2 (warming up, 10 min): This step consists of simple non-treating questions to break the ice and make people feel comfortable. 1. Getting some basic information about the interviewee: a. Name (if unknown!) b. Job title c. Experience in software projects (# of years, type of projects, responsibilities, etc.) d. Experience in Distributed Agile Development (like 1c) 2. Getting some basic insights into the distributed Agile project: a. b. c. d. e. f. g. h. i. Name of project Customer/Client (type) Project deliverable/goal Jobsite of interviewee (location where they work) Distributed onshore or offshore (outsourced in same or other country )? Agile method Iteration length Team formation (size and roles) Task allocation between sites Step 3 (in-depth interview, 40 min): The questions in this step are broad and open-ended. If the answer is to general or the interviewee comes up with some interesting details further questions will be asked like: “what did you mean when you said…” or “can you give me an example of that?”. Benefits and Challenges of Agile in a Globally Distributed Environment 52 The questions: 3. Can you describe (in short) a typical work day? Agile: 4. Can you tell me something about the daily standup meetings? 5. Can you explain the differences between Agile and non-Agile in offshore projects (if experienced with both)? 6. Can you describe how Agile might be helpful (or not) to overcome some issues which are related to a more traditional way of working? 7. Can you give me your opinion on Agile in multi-site software development? Knowledge sharing: 8. Can you explain how you communicate and collaborate with each other? 9. Can you tell me more about how you plan and synchronize work with the other site? 10. Can you give me more details about how data, documentation etc. is stored and shared in the project. 11. Do you use any tools or solutions which encourage collaboration and what is your experience with this (did it work or not)? 12. Can you tell me something about your relation and contact with the other development site? 13. Can you tell me how you experience the differences in culture within the project? Step 4 (Cool off, 5 min): Some simple straight forward questions. 14. Is there anything else you’d like to tell me? 15. Can I contact you later in case I‘ve some additional questions? 16. Are you willing to participate in a focus group meeting (if relevant)? Step 5 (Showing Appreciation, 2 min) Showing appreciation and say goodbye. During this step I have to remain alert for maybe a ‘half-way out the door’ confessions, once the recorder is switched off. When meaningful information is given afterwards I shall ask permission to use it for the research. Benefits and Challenges of Agile in a Globally Distributed Environment 53
© Copyright 2026 Paperzz