VRIJE UNIVERSITEIT AMSTERDAM FACULTY OF SCIENCES

Size: px
Start display at page:

Download "VRIJE UNIVERSITEIT AMSTERDAM FACULTY OF SCIENCES"

Transcription

1 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: Prof. Dr. J.C. van Vliet C. Manteli Author: R. Noordeloos ( )

2 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 ramon.noordeloos@gmail.com Student number: Vrije Universiteit Amsterdam Vrije Universiteit Amsterdam Faculty of Sciences De Boelelaan HV Amsterdam Supervisor Prof. Dr. J.C. van Vliet hans@cs.vu.nl Co Supervisor C. Manteli cmanteli@few.vu.nl Capgemini Capgemini Nederland B.V. Financial Services GBU B60 Papendorpseweg BJ Utrecht Supervisor F. Nordkamp fabian.nordkamp@capgemini.com It is not allowed to publish this document without permission of the author and Capgemini Netherlands.

3 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

4 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

5 TABLE OF CONTENTS Abstract...I Acknowledgements... II Table of Contents... III List of Figures... VI List of Tables... VI 1 Introduction Context Capgemini Problem statement Research method Global Software Development Benefits of Global Software Development Reduced Development costs Reduced time to market Larger labour pool Closer proximity to market Innovation and sharing best practices Challenges of Global Software Development Strategic issues Culture and language knowledge management Infrastructure The impact of Distance on GSD Approaches for Global Software Development Reduce coordination complexity: Reduce cultural distance Reduce temporal distance Agile in Global Software Development Agile software development Agile Alliance Agile Methodologies Benefits and Challenges of Agile in a Globally Distributed Environment III

6 3.3.1 Scrum extreme Programming Crystal development Feature driven development (FDD) The core Aspects of Agile software development Agile in Global Software Development Distributed Agile development (DAD) Challenges How GSD can benefit from Agile practices Practical work Case description Team structure Interviewees Used Agile Practices the Framework The scrum practices Scrum team aspects Agreements Overview of all the mentioned changes due to Scrum Perceived Benefits of Agile Communication Knowledge Management Team cohesion Team satisfaction Quality & Performance Relating Benefits to literature Relationships between the categories How the projects handled the DAD Challenges The mentioned challenges from the field study Technical issues Language & Culture issues Trust issues Business and Agile processes alignment issues discussion Conclusion Limitations Further research Bibliography Benefits and Challenges of Agile in a Globally Distributed Environment IV

7 Appendix A: Agile Manifesto Appendix B: Interview Structure Benefits and Challenges of Agile in a Globally Distributed Environment V

8 LIST OF FIGURES Figure 1 1: Research model... 3 Figure 2 1: Knowledge Capture and Acquisition, adopted from Figure 3 1: Survey of used Software methods among IT professionals Figure 3 2: Incremental gains of adding either Offshore or Agile development Figure 4 1: The ScrumPlus Framework Figure 4 2: An eye catcher tool Figure 4 3: Traditional vs. Agile way of working LIST OF TABLES Table 3 1: Challenges of DAD related to the Agile aspects Table 4 1: Interviewee profile Table 4 2: Overview of functional changes Table 4 3: Communication related benefits Table 4 4: KM related benefits Table 4 5: Team cohesion related benefits Table 4 6: Team satisfaction related benefits Table 4 7: Quality & Performance related benefits Table 4 8: Benefits from literature related to the benefits in the field study Benefits and Challenges of Agile in a Globally Distributed Environment VI

9 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

10 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

11 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 formulated. Phase 1 Literature Review Phase 2 Field Study Phase 3 Comparative Analysis Phase 4 Conclusion Figure 1 1: Research model Benefits and Challenges of Agile in a Globally Distributed Environment 3

12 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) 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 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

13 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) 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 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

14 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) 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 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

15 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).

16 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. Temporal Distance Geographical Distance Socio cultural Distance Communication + Improved record of communications Reduced opportunities for synchronous communication + Closer proximity to market + Access to remote skilled work forces Face to face meetings Difficult + Innovation and sharing best practice Cultural misunderstandings Coordination Control + Coordination needs can be minimized Typically increased coordination costs + Time zone effectiveness can be utilized for gaining efficient 24x7 working Management of project artifacts may be subject to delays + More flexible coordination planning Reduced informal contact can lead to lack of critical task awareness + Communication channels can leave an audit trail Difficult to convey vision and strategy Perceived threat from training low cost rivals + Greater learning and richer skill set Inconsistent work practices can impinge on effective coordination Reduced cooperation arising from misunderstanding + Pro activeness inherent in certain cultures Different perceptions of authority can undermine morale Managers must adapt to local regulations Table 2 1: Opportunities and Challenges in GSD, adopted from (Ågerfalk & Fitzgerald, 2006) Benefits and Challenges of Agile in a Globally Distributed Environment 8

17 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 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.

18 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 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 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 of a follow thesun approach. Benefits and Challenges of Agile in a Globally Distributed Environment 10

19 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

20 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

21 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 IT professionals, adopted from (West & Hammond, 2010) 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

22 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 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 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 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

23 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

24 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

25 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) 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

26 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

27 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

Preface. Globally Distributed Development. Agile Development

Preface. Globally Distributed Development. Agile Development Preface Despite the progress in the field of software engineering, software projects are still being late, are over budget, and do not deliver the expected quality. Two major trends have emerged in response

More information

Agile Based Software Development Model : Benefits & Challenges

Agile Based Software Development Model : Benefits & Challenges Agile Based Software Development Model : Benefits & Challenges Tajinder Kumar Assistant Professor, IT Department JMIT Radaur, Haryana Vipul Gupta Assistant Professor, IT Department JMIT Radaur, Haryana

More information

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT Shivangi Shandilya, Surekha Sangwan, Ritu Yadav Dept. of Computer Science Engineering Dronacharya College Of Engineering, Gurgaon Abstract- Looking at the software

More information

Usage of SCRUM Practices within a Global Company

Usage of SCRUM Practices within a Global Company 2008 IEEE International Conference on Global Software Engineering Usage of SCRUM Practices within a Global Company Mauricio Cristal mauricio.cristal@gmail.com Daniel Wildt FACENSA, Brazil daniel@facensa.com.br

More information

Agile Software Development in Global Software Engineering

Agile Software Development in Global Software Engineering Agile Software Development in Global Software Engineering Pawanpreet Kaur Computer Science Department Chandigarh University, Gharuan, India ABSTRACT Global software development is the emerging trend in

More information

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä Fact corner: SME of 250 developers Mobile & desktop sw Products sold globally EXAMPLE OF AN INNOVATIVE

More information

LEAN AGILE POCKET GUIDE

LEAN AGILE POCKET GUIDE SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

Studying the Impact of Global Software Development Characteristics on Project Goals: A Causal Model

Studying the Impact of Global Software Development Characteristics on Project Goals: A Causal Model Studying the Impact of Global Software Development Characteristics on Project Goals: A Causal Model *Ansgar Lamersdorf University of Kaiserslautern a_lamers@informatik.uni-kl.de Jürgen Münch Fraunhofer

More information

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

CS435: Introduction to Software Engineering!  Software Engineering: A Practitioner s Approach, 7/e  by Roger S. Pressman CS435: Introduction to Software Engineering! " " " " " " " "Dr. M. Zhu! Chapter 3! Agile Development! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

More information

Incorporating Agile Methods in Large-Scale Systems

Incorporating Agile Methods in Large-Scale Systems Incorporating Agile Methods in Large-Scale Systems April 30, 2011 Why would a large-scale software development company want to be agile? Agile methods aim to counter the tremendous costs with changes late

More information

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad-431003

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad-431003 AGILE SOFTWARE DEVELOPMENT BY Sysop Technology Aurangabad-431003 Abstract: Software development which can be delivered fast, quick adaptation to requirements and collecting feed back on required information.

More information

Introduction to Agile Software Development. EECS 690 Agile Software Development

Introduction to Agile Software Development. EECS 690 Agile Software Development Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into

More information

Abdulrahman M. Qahtani, Gary B. Wills, Andrew M. Gravell School of Electronics and Computer Science, University of Southampton, UK

Abdulrahman M. Qahtani, Gary B. Wills, Andrew M. Gravell School of Electronics and Computer Science, University of Southampton, UK A Framework of Challenges and Key Factors for Applying Agile Methods for the Development and Customisation of Software Products in Distributed Projects Abdulrahman M. Qahtani, Gary B. Wills, Andrew M.

More information

Agile Development Overview

Agile Development Overview Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort

More information

AgileSoftwareDevelopmentandTestingApproachandChallengesinAdvancedDistributedSystems

AgileSoftwareDevelopmentandTestingApproachandChallengesinAdvancedDistributedSystems Global Journal of Computer Science and Technology: B Cloud and Distributed Volume 14 Issue 1 Version 1.0 Year 2014 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals

More information

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London 2007. conchango 2007 www.conchango.com

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London 2007. conchango 2007 www.conchango.com Scaling Scrum Colin Bird & Rachel Davies Scrum Gathering London 2007 Scrum on a Slide Does Scrum Scale? Ok, so Scrum is great for a small team but what happens when you have to work on a big project? Large

More information

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations www.ijcsi.org 457 Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations Prakash.V SenthilAnand.N Bhavani.R Assistant

More information

Development. Lecture 3

Development. Lecture 3 Software Process in Modern Software Development Lecture 3 Software Engineering i Practice Software engineering practice is a broad array of principles, concepts, methods, and tools that must be considered

More information

Cover Page. The handle http://hdl.handle.net/1887/20225 holds various files of this Leiden University dissertation.

Cover Page. The handle http://hdl.handle.net/1887/20225 holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/20225 holds various files of this Leiden University dissertation. Author: Heijstek, Werner Title: Architecture design in global and model-centric software

More information

Role of Agile Methodology in Software Development

Role of Agile Methodology in Software Development Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 10, October 2013,

More information

Software Requirements and Specification

Software Requirements and Specification Software Requirements and Specification Agile Methods SE3821 - Jay Urbain Credits: Beck, K. (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. Beck, Kent; et al. (2001).

More information

Creating a High Maturity Agile Implementation

Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation www.qaiglobal.com 1 Copyright Notice 2015. Unless otherwise noted, these materials and the presentation of them

More information

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY www.abhinavjournal.com

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY www.abhinavjournal.com SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) ANALYTICAL COMPARISON AND SURVEY ON TRADITIONAL AND AGILE METHODOLOGY Sujit Kumar Dora 1 and Pushkar Dubey 2 1 Programmer, Computer Science & Engineering, Padmashree

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 9 Agile Methodologies: Scrum 1 Scrum First mentioned as a development method in 1986, referring to a fast and flexible product development

More information

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE AGILE SOFTWARE DEVELOPMENT A TECHNIQUE Saurav Tiwari 1,Aasheesh Goel 2,Rajeev Sharma 3 1,2 Research Scholar,MCADept.,SRM University,NCRCampus,Modinagar 3 Asst. Prof.,MCADept.,SRM University,NCR Campus

More information

PEOPLE INVOLVEMENT AND THEIR COMPETENCE IN QUALITY MANAGEMENT SYSTEMS * Jarmila ŠALGOVIČOVÁ, Matej BÍLÝ

PEOPLE INVOLVEMENT AND THEIR COMPETENCE IN QUALITY MANAGEMENT SYSTEMS * Jarmila ŠALGOVIČOVÁ, Matej BÍLÝ PEOPLE INVOLVEMENT AND THEIR COMPETENCE IN QUALITY MANAGEMENT SYSTEMS * Jarmila ŠALGOVIČOVÁ, Matej BÍLÝ Authors: Workplace: Assoc. Prof. Jarmila Šalgovičová, PhD., Prof. Matej Bílý, DrSC.* Institute of

More information

CAN DISTRIBUTED SOFTWARE DEVELOPMENT BE AGILE?

CAN DISTRIBUTED SOFTWARE DEVELOPMENT BE AGILE? By BALASUBRAMANIAM RAMESH, LAN CAO, KANNAN MOHAN, and PENG XU CAN DISTRIBUTED SOFTWARE DEVELOPMENT BE AGILE? Three organizations studied here suggest the answer is yes, when the unique characteristics

More information

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Product Derivation Process and Agile Approaches: Exploring the Integration Potential Product Derivation Process and Agile Approaches: Exploring the Integration Potential Padraig O Leary, Muhammad Ali Babar, Steffen Thiel, Ita Richardson Lero, the Irish Software Engineering Research Centre,

More information

AGILE - QUICK GUIDE AGILE - PRIMER

AGILE - QUICK GUIDE AGILE - PRIMER AGILE - QUICK GUIDE http://www.tutorialspoint.com/agile/agile_quick_guide.htm Copyright tutorialspoint.com AGILE - PRIMER Agile is a software development methodology to build a software incrementally using

More information

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: aimanturani@hotmail.com ABSTRACT

More information

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya

More information

Introduction to Agile Software Development

Introduction to Agile Software Development Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)

More information

How To Understand The Limitations Of An Agile Software Development

How To Understand The Limitations Of An Agile Software Development A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science

More information

History of Agile Methods

History of Agile Methods Agile Development Methods: Philosophy and Practice CPSC 315 Programming Studio Fall 2010 History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight software

More information

Agile Software Development Methodologies & Correlation with Employability Skills

Agile Software Development Methodologies & Correlation with Employability Skills Agile Software Development Methodologies & Correlation with Employability Skills Dineshkumar Lohiya School of Computer and Information Science University of South Australia, Adelaide Dineshkumar.Lohiya@postgrads.unisa.edu.au

More information

Neglecting Agile Principles and Practices: A Case Study

Neglecting Agile Principles and Practices: A Case Study Neglecting Agile Principles and Practices: A Case Study Patrícia Vilain Departament de Informatics and Statistics (INE) Federal University of Santa Catarina Florianópolis, Brazil vilain@inf.ufsc.br Alexandre

More information

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated SCEA 2010 EST06 Estimating Issues Associated with Agile Development Bob Hunt Vice President, Services Galorath Incorporated What Is Agile Software Dev? In the late 1990 s several methodologies began to

More information

Issues in Internet Design and Development

Issues in Internet Design and Development Issues in Internet Design and Development Course of Instructions on Issues in Internet Design and Development Week-2 Agile Methods Saad Bin Saleem PhD Candidate (Software Engineering) Users.mct.open.ac.uk/sbs85

More information

Impact of Agile Methodology on Software Development

Impact of Agile Methodology on Software Development Computer and Information Science; Vol. 8, No. 2; 2015 ISSN 1913-8989 E-ISSN 1913-8997 Published by Canadian Center of Science and Education Impact of Agile Methodology on Software Development Eman A.Altameem

More information

Agile Software Project Management Methodologies

Agile Software Project Management Methodologies Economy Informatics, 1-4/2005 27 Agile Software Project Management Methodologies Prof. Constanţa-Nicoleta BODEA, PhD Economic Informatics Department, Academy of Economic Studies, Bucharest Successfully

More information

Agile in Financial Services A Framework in Focus

Agile in Financial Services A Framework in Focus Agile in Financial Services A Framework in Focus John B. Hudson, B.Sc, PMP, CSM PMI NJ Chapter February 19, 2013 19 Feb 2013 1 Objectives 1. Agile Development an Overview 2. The Agile Enterprise Infrastructure

More information

Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage

Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage Universiteit Leiden ICT in Business Capability Maturity Model for Software Usage Name: Yunwei Huang Student-no: s1101005 Date: 16/06/2014 1st supervisor: Dr. Luuk Groenewegen 2nd supervisor: Dr. Nelleke

More information

Software Processes. Agile Methods

Software Processes. Agile Methods Software Processes Agile Methods Roadmap Agile Methods Agile Manifesto Agile Principles Agile Methods Agile Processes Scrum, Crystall,... Integrating Agile with Non-Agile Processes 2 Agile Development

More information

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development Third 21st CAF Conference at Harvard, in Boston, USA. September 2015, Vol. 6, Nr. 1 ISSN: 2330-1236 A Software Project Management Innovation (SPM) Methodology: A vel Method for Agile Software Development

More information

Software Development with Agile Methods

Software Development with Agile Methods Case Study Software Development with Agile Methods Introduction: Web application development is a much studied, heavily practiced activity. That is, capturing and validating user requirements, estimating

More information

Fourth generation techniques (4GT)

Fourth generation techniques (4GT) Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some

More information

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

4/9/13. Global So(ware Development. GSD courses @ITU. Roadmap

4/9/13. Global So(ware Development. GSD courses @ITU. Roadmap Global So(ware Development Rosalba Giuffrida Yvonne Di3rich IT- University in Copenhagen So(ware and System Sec>on GSD courses @ITU http://global-interaction.org/ Distributed Collaboration and Development

More information

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue? Skalierung von agilen Prozessen Ein Erfahrungsbericht OOP 2003 Jutta Eckstein Nicolai Josuttis This Talk is About Agility Large Experience Success Copyright 2003 by N. Josuttis and J. Eckstein 2 1 What

More information

Agile with XP and Scrum

Agile with XP and Scrum Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been

More information

Agile Project Management By Mark C. Layton

Agile Project Management By Mark C. Layton Agile Project Management By Mark C. Layton Agile project management focuses on continuous improvement, scope flexibility, team input, and delivering essential quality products. Agile project management

More information

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles Master thesis in Applied Information Technology REPORT NO. 2008:014 ISSN: 1651-4769 Department of Applied Information Technology or Department of Computer Science Bottlenecks in Agile Software Development

More information

Cover Page. The handle http://hdl.handle.net/1887/33081 holds various files of this Leiden University dissertation.

Cover Page. The handle http://hdl.handle.net/1887/33081 holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/33081 holds various files of this Leiden University dissertation. Author: Stettina, Christoph Johann Title: Governance of innovation project management

More information

Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams

Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams Muhammad Wasim Bhatti Engineering Management Department CASE, Center for Advanced Studies

More information

The Role of Plan-Based Approaches in Organizing Agile Companies

The Role of Plan-Based Approaches in Organizing Agile Companies The Role of Plan-Based Approaches in Organizing Agile Companies Alberto Sillitti, Giancarlo Succi Free University of Bozen {Alberto.Sillitti, Giancarlo.Succi}@unibz.it Abstract The paper presents the results

More information

Agile software development and its' suitability to distributed project

Agile software development and its' suitability to distributed project Agile software development and its' suitability to distributed project Lihan Guo 52493T Table of Contents 1 Introduction...3 1.1 Background of the study...3 1.2 Research problem...3 1.3 Objectives of the

More information

Comparative Analysis of Different Agile Methodologies

Comparative Analysis of Different Agile Methodologies Comparative Analysis of Different Agile Methodologies Shelly M. Phil (CS), Department of Computer Science, Punjabi University, Patiala-147002, Punjab, India Abstract: Today s business, political and economic

More information

Contribution of Agile Software Development Methods to Business-IT Alignment in Non-profit Organizations

Contribution of Agile Software Development Methods to Business-IT Alignment in Non-profit Organizations Contribution of Agile Software Development Methods to Business-IT Alignment in Non-profit Organizations Arjan Aarnink HU University of Applied Sciences Utrecht, The Netherlands arjan.aarnink@student.hu.nl

More information

Comparative Analysis of Agile Software Development Methodologies-A Review

Comparative Analysis of Agile Software Development Methodologies-A Review RESEARCH ARTICLE OPEN ACCESS Comparative Analysis of Agile Software Development Methodologies-A Review Kiran Hiwarkar 1, Aditya Doshi 2, Rahul Chinta 3, Manjula R 4 1,2,3 ( Post Graduate Students Department

More information

Scrum on Offshore Development Case Study

Scrum on Offshore Development Case Study Master Thesis Software Engineering Thesis no: MSE-2009-28 Nov. 2009 Communication Support to Scrum Methodology in Offshore Development Case Study Mermaid Technology, Denmark Kashif Ali Sulemani, Muhammad

More information

Agile Software Development in the Large

Agile Software Development in the Large Agile Software Development in the Large GI-Vortrag Braunschweig Jutta Eckstein Nicolai Josuttis What Does Large Mean? Large in... scope time people money risks We focus on Large Teams which implies everything

More information

D25-2. Agile and Scrum Introduction

D25-2. Agile and Scrum Introduction D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of

More information

TEAM PRODUCTIVITY DEVELOPMENT PROPOSAL

TEAM PRODUCTIVITY DEVELOPMENT PROPOSAL DRAFT TEAM PRODUCTIVITY DEVELOPMENT PROPOSAL An initial draft proposal to determine the scale, scope and requirements of a team productivity development improvement program for a potential client Team

More information

Mitigating Coordination Costs in Global Software Development Using Scrum

Mitigating Coordination Costs in Global Software Development Using Scrum I.J. Information Engineering and Electronic Business, 214, 3, 16-21 Published Online June 214 in MECS (http://www.mecs-press.org/) DOI: 1.5815/ijieeb.214.3.3 Mitigating Coordination Costs in Global Software

More information

A MODEL FOR RISK MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT

A MODEL FOR RISK MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT A MODEL FOR RISK MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT Abstract Author Ville Ylimannela Tampere University of Technology ville.ylimannela@tut.fi This paper researches risk management in agile software

More information

Case Study on Critical Success Factors of Running Scrum *

Case Study on Critical Success Factors of Running Scrum * Journal of Software Engineering and Applications, 2013, 6, 59-64 http://dx.doi.org/10.4236/jsea.2013.62010 Published Online February 2013 (http://www.scirp.org/journal/jsea) 59 Case Study on Critical Success

More information

Agile Project Management

Agile Project Management Agile Project Management with Bill Doescher, PMP, MBA, CSM Pi Principal i lconsultant tand Product tdevelopment tdirector Bill Doescher, PMP, CSM Bill Doescher is a Principal Consultant and Product Development

More information

Agile QA s Revolutionary Impact on Project Management

Agile QA s Revolutionary Impact on Project Management Agile QA s Revolutionary Impact on Project Management Introduction & Agenda Rachele Maurer Agile Coach, Platinum Edge Inc. PMP, CSM, PMI-ACP Agenda A quick overview of agile Current QA practices QA using

More information

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended. Previews of TDWI course books offer an opportunity to see the quality of our material and help you to select the courses that best fit your needs. The previews cannot be printed. TDWI strives to provide

More information

IJMIE Volume 2, Issue 8 ISSN: 2249-0558

IJMIE Volume 2, Issue 8 ISSN: 2249-0558 Social, Cultural and Cognitive Issues in Global Requirements Engineering Ishtiaq Hussain* Mr. Tasleem Mustafa* Mr. Ahsan Raza Sattar* Abstract Deployment of technology has reduced many of the problems

More information

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Digital Transformation of the Enterprise for SMAC: Can Scrum help? Digital Transformation of the Enterprise for SMAC: Can Scrum help? Scope of this Report October 2015 In this paper, we consider the impact of the digital transformation on software development and whether

More information

"Bezpieczny Projekt"

Bezpieczny Projekt Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010 www.omec.pl Software Development with Agile SCRUM Chandrashekhar Kachole 22 nd of June 2010 1 Let s keep the cell phones in Silent mode 2 Agenda

More information

Test Plan Evaluation Model

Test Plan Evaluation Model Satisfice, Inc. http://www.satisfice.com James Bach, Principal james@satisfice.com Version 1.12 9/25/99 Test Plan Evaluation Model The answer to the question How good is this test plan? can only be given

More information

Agile Software Development

Agile Software Development E Learning Volume 5 Number 1 2008 www.wwwords.co.uk/elea Agile Software Development SOLY MATHEW BIJU University of Wollongong in Dubai, United Arab Emirates ABSTRACT Many software development firms are

More information

Software processes that are:

Software processes that are: Agile Processes Software processes that are: Incremental (small software releases with rapid cycles) Cooperative (customer and developer working together with close communication) Straightforward (method

More information

Global Information Systems: Project Management. Prof. Dr. Jan M. Pawlowski Autumn 2013

Global Information Systems: Project Management. Prof. Dr. Jan M. Pawlowski Autumn 2013 Global Information Systems: Project Management Prof. Dr. Jan M. Pawlowski Autumn 2013 Project Planning Planning of the process Distribution of actors / organization Staff selection Cost estimation Schedule

More information

www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se

www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se 1 www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Purpose with the material 2 This material describes the basics of Agile and Lean and the similarities and differences between

More information

Communication in Firm-Internal Global Software Development with China

Communication in Firm-Internal Global Software Development with China Communication in Firm-Internal Global Software Development with China Bilal Zaghloul 1, Dirk Riehle 2, Minghui Zhou 3 1 Friedrich-Alexander University Erlangen-Nürnberg, Information Systems Department,

More information

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre Distributed Agile Development Bapiraju Nandury Product Development Manager Bangalore Development Centre Agenda Distributed / offshore Development Agile Methods Distributed Agile Development Goals of this

More information

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 The following pages present the CSM taxonomy as validated through the 2011 Scrum Alliance Validation Study. Each percentage

More information

Comparison and problems between Traditional and Agile software development methods

Comparison and problems between Traditional and Agile software development methods Lappeenranta University of Technology School of Industrial Engineering and Management Software Engineering and Information Management Department of Master Degree Program in Computer Science Mehar Ullah

More information

An Ideal Process Model for Agile Methods

An Ideal Process Model for Agile Methods An Ideal Process Model for Agile Methods Marcello Visconti 1 and Curtis R. Cook 2 1 Departamento de Informática, Universidad Técnica Federico Santa María, Valparaíso, CHILE visconti@inf.utfsm.cl 2 Computer

More information

An empirical study on Global Software Development: Offshore Insourcing of IT Projects

An empirical study on Global Software Development: Offshore Insourcing of IT Projects An empirical study on Global Software Development: Offshore Insourcing of IT Projects Rafael Prikladnicki, Jorge L. N. Audy, Roberto Evaristo School of Computer Science, PUCRS, Porto Alegre, Brazil; University

More information

The Role of Tacit Knowledge Management in ERP Systems Implementation

The Role of Tacit Knowledge Management in ERP Systems Implementation 78 The Role of Tacit Knowledge Management in ERP Systems Implementation Iuliana SCORŢA Academy of Economic Studies, Bucharest, România iuliana.scorta@ie.ase.ro Many organizations that implemented ERP systems

More information

4.1 Identify what is working well and what needs adjustment. 4.1.1 Outline broad strategies that will help to effect these adjustments.

4.1 Identify what is working well and what needs adjustment. 4.1.1 Outline broad strategies that will help to effect these adjustments. (Overview) Step 1 Prepare 1.1 Identify specific issues or choices that the planning process should address. 1.2 Develop an organizational profile. 1.3 Identify any information that must be collected to

More information

Agile Software Development. Mohsen Afsharchi

Agile Software Development. Mohsen Afsharchi Agile Software Development Mohsen Afsharchi I. Agile Software Development Agile software development is a group of software development methods based on iterative and incremental development, where requirements

More information

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS Journal of Applied Economics and Business USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS Nevenka Kirovska 1, Saso Koceski 2 Faculty of Computer Science, University Goce Delchev, Stip, Macedonia

More information

Could Global Software Development Benefit from Agile Methods?

Could Global Software Development Benefit from Agile Methods? Could Global Software Development Benefit from Agile Methods? Maria Paasivaara and Casper Lassenius Software Business and Engineering Institute Helsinki University of Technology P.O.Box 9210 FIN-02015

More information

Full-time MSc in Logistics and Supply Chain Management

Full-time MSc in Logistics and Supply Chain Management Full-time MSc in Logistics and Supply Chain Management Course structure and content 2016-2017 The course has been developed to produce expert logistics and supply chain professionals who can take the skills

More information

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, cruceruanca@yahoo.com, 0723508894

More information

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 The following pages present the CSM taxonomy as validated through the 2011 Scrum Alliance Validation Study. Total questions

More information

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT 1 MALIK HNEIF, 2 SIEW HOCK OW 1 Department of Software Engineering, University of Malaya, Kuala Lumpur, Malaysia-50603 2 Assoc. Prof., Department of

More information

New Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2

New Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2 New Developments in an Agile World: Drafting Software Development Agreements By: Paul H. Arne 1,2 A few months before this article was prepared, a group of senior IT professionals from some of the largest

More information

International group work in software engineering

International group work in software engineering International group work in software engineering Julian M. Bass Robert Gordon University Aberdeen, UK j.m.bass@rgu.ac.uk J. T. Lalchandani IIIT-B Bangalore, India jtl@iiitb.ac.in R. McDermott Robert Gordon

More information

Managing Innovation. A guide to help you adopt a more structured approach to managing innovation in your business

Managing Innovation. A guide to help you adopt a more structured approach to managing innovation in your business Managing Innovation A guide to help you adopt a more structured approach to managing innovation in your business There are many definitions of innovation but, in its simplest form, it can be said to be

More information

THE AGILE WATERFALL MIX DELIVERING SUCCESSFUL PROGRAMS INVOLVING MULTIPLE ORGANIZATIONS

THE AGILE WATERFALL MIX DELIVERING SUCCESSFUL PROGRAMS INVOLVING MULTIPLE ORGANIZATIONS THE AGILE WATERFALL MIX DELIVERING SUCCESSFUL PROGRAMS INVOLVING MULTIPLE ORGANIZATIONS Amit Aggarwal FIS Consulting Services 800.822.6758 Overview The fintech explosion, the Internet of Things and the

More information

A Case Study of Coordination in Distributed Agile Software Development

A Case Study of Coordination in Distributed Agile Software Development A Case Study of Coordination in Distributed Agile Software Development Steinar Hole Master of Science in Computer Science Submission date: June 2008 Supervisor: Torgeir Dingsøyr, IDI Norwegian University

More information