Risks in Distributed Agile Development: A Review

5 downloads 55696 Views 328KB Size Report
Other best practices of including collaboration, face ... 'Software Development Life Cycle (SDLC)' and 'Project Management'. ..... Thoughtworks Studio. Retrieved ...
Available online at www.sciencedirect.com

ScienceDirect Procedia - Social and Behavioral Sciences 133 (2014) 417 – 424

ICTMS-2013

Risks in distributed agile development: A review Suprika Vasudeva Shrivastava a*, Urvashi Rathod b Symbiosis Centre for Information Technology (SCIT), Symbiosis International University (SIU), Rajiv Gandhi Infotech Park, Hinjewadi, Pune – 411 057, Maharashtra State, India,

Abstract There has been is a growing trend in software development through distributed agile approach and so, the study of risks in such environments becomes imperative. A number of studies have discussed about the problems faced by distributed agile teams. This study attempts to consolidate the existing studies on risks in distributed agile development. It helps in uncovering the areas of risk management in distributed agile, in which extensive work has been done and also presents the type of work that needs further consideration. © 2014 The Authors. Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND license © 2014 The Authors. Published by Elsevier Ltd. (http://creativecommons.org/licenses/by-nc-nd/3.0/). Selection and peer-review under responsibility of the Organizing Committee of ICTMS-2013. Selection and peer-review under responsibility of the Organizing Committee of ICTMS-2013. Keywords: Distributed Software Development (DSD); Distributed Scrum; Distributed Extreme Programming; Global Software Development (GSD); Risks

1.

Introduction

Software organizations are working under tight time constraints and development of software occurs in highly volatile environment. The unpredictability in the system requirements and changing business needs have transformed the development approach from traditional heavyweight processes to lightweight incremental and iterative methods. Hence, many organizations are adopting agile methodology for software development, which helps them to accelerate delivery schedules, adapt to the changing business needs, align business and technology goals and generate competitive advantage (Holler, 2010). Along with this, there has been a steady, irreversible trend toward the globalization of business, and of software-intensive high-technology businesses in particular. Distributed

* Corresponding author. Tel.: +91-9373313943; fax: +91 02022934312. E-mail address: [email protected]

1877-0428 © 2014 The Authors. Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND license

(http://creativecommons.org/licenses/by-nc-nd/3.0/). Selection and peer-review under responsibility of the Organizing Committee of ICTMS-2013. doi:10.1016/j.sbspro.2014.04.208

418

Suprika Vasudeva Shrivastava and Urvashi Rathod / Procedia - Social and Behavioral Sciences 133 (2014) 417 – 424

development involves participation of distributed teams, consisting of stakeholders from different national and organizational cultures, different geographic locations and potentially different time zones (Abrahamsson, Warsta, Siponen and Rokainen, 2003). DSD is gaining recognition because it helps in saving cost and reduces time to market. In order to reap the benefits of both the approaches, software organizations are blending the distributed development and agile approach. A survey conducted by VersionOne, states that organizations are constantly scaling agile beyond single team and single project (VersionOne, 2013). There is a growing interest in applying agile practices in distributed development to leverage the combined approaches of both the approaches (Balasubramanium, Cao, Kannan & Peng, 2006). Distributed agile development (DAD), helps the organization to build low cost solutions to cater to the changing needs of the businesses. Although, distributed agile development is able to deliver products close to customer requirements and faster than the traditional method (Kähkӧnen & Abrahamsson, 2003), there are many risks and challenges involved. Distributed development has its inherent challenges due to the spatial, temporal and socio cultural differences between the distributed teams. Combining agile approach with DSD increases the severity of risks occurring due to the fact that these two methods of software development are in contrast with each other. DSD requires formal communication amongst the teams which are distributed across the globe. Agile, on the other hand is based on informal communication with colocated teams working in close collaboration. Agile methods lay emphasis on delivering working software while downplaying the importance of formal processes and comprehensive documentation which helps the teams to adapt and react to the changes imposed by the volatile environments. Other best practices of including collaboration, face to face communication, self-organizing teams, retrospectives, showcases, etc become more challenging in the distributed model (Thoughtworks, 2008). These challenges may impact the project communication, coordination and collaboration processes, hence posing significant risks which needs to be considered for successful completion of the project. Hence, using DSD in an agile environment makes the software development process risky and difficult to manage. This study makes an effort to consolidate the research work done by the existing research studies which deals with risk management in distributed agile development. 2.

Research Method

The objective of the study was to identify the research work done in the area of risk management Distributed Agile Development (DAD) and classify them based on the identified criteria. The classification will enable the researchers and the practitioners to view existing studies based on categories created and hence identify the areas in which relevant work can be done. The existing literature was reviewed from two perspectives, one based on the type of studies available and the other based on the activities in software development process in which the risks occur. For classification based on the type of studies, we considered five different types of studies which describe the risks in DAD projects and present the relevant solutions too. There are ‘Theoretical or Conceptual Studies’ which are based on the understanding of the theme from experience or reference of other work. Besides conceptual studies, we have used research studies which have consolidated ‘Published Literature on risks in DAD’. Then we have studies which have ‘Consolidated existing Case Studies’ which are already published. Next, we have ‘Empirical Studies’ which represent findings based on direct evidence or experiment and ‘Industry Reports’, which discuss about the experience in practice. While there are studies which deal with overall risks and challenges in DAD projects, there are other studies which provide us with a limited, but a deep view of risks in a particular software development activity in DAD. For classification based on software development activities involved, we have considered two broad areas, namely, ‘Software Development Life Cycle (SDLC)’ and ‘Project Management’. The studies obtained were primarily from the following search sources: Online Libraries: IEEE Digital Library (http://www.computer.org), ACM Digital Library (portal.acm.org/dl.cfm), Science@Direct (http://www.sciencedirect.com), Springer (http://www.springer.com/) Publishers of Books: McGraw Hill, Pearson Publication, Addison Wesley. Web sites: The researchers referred to web sites maintained by agile practitioners who have done pioneering work in this area. Apparently, the reputation of these sources assures the quality of the literature review done in the areas. The keywords used for identifying the studies which provide an overall view of the risks in DAD projects were: ‘Risk management in Distributed Agile’, ‘Risks in Distributed Agile’, ‘Challenges in Distributed Agile project’,

Suprika Vasudeva Shrivastava and Urvashi Rathod / Procedia - Social and Behavioral Sciences 133 (2014) 417 – 424

419

‘Risks in Agile development in GSD’. Since there are certain agile methods which are frequently used like scrum, extreme programming, we used the names of such methods in combination with terms like ‘risk in distributed software development’ , ‘risk in global software engineering’. In order to identify the studies which discuss about risks in ‘software engineering activities’ and risks in ‘project management related activities’ we used another set of keywords as given below: Software Development Methodology (SDM): Distributed Agile development, Agile, Distributed Software Development, Global Software Development. Software Development Life Cycle (RC1): Requirement engineering, inadequate design focus, user interface design, technical debts, pair programming, multitasking, automated testing, non-functional requirement testing, code integration, stand-ups, release management. Project Management (RC2): Project management, contract management, Fixed bid projects, feature teams and component teams, team reorganizing, team dependencies, team skills, attrition, appraisal system, Communication, language barriers, documentation, coordination, collaboration, trust. The search strings were created by concatenating the phrase ‘Risk’ or ‘Risk Management’, software development methodology and the keywords listed under ‘software development activities’. In short, it was formed using (Risks OR Risk Management) AND (keywords from RC1 OR RC2) AND (keywords from Software Development Methodology (SDM)). 3.

Classification of Review of Literature

In this section, we will be presenting two different ways of classifying the research studies. One is on the basis of ‘Type of Studies’ carried in the area of risks in distributed agile. The other method classifies the studies, based on the risks which occur, during various software development and management tasks carried while executing a DAD projects. 3.1 Classification based on the type of studies The research studies are categorized based on the ‘type of studies’ which discuss about risks in DAD projects as follows. 3.1.1 Conceptual or theoretical studies A significant work is done by Mudumba and Lee (2010) acknowledges the multiplicity in the nature of the distributed development projects, which is caused by multi-locations, multi-cultures, multi-groups, multi-standards, and multi-technologies. This study presents a risk management framework for distributed development, in which, risks which arise due to interactions between people, processes and technology has been addressed. It also presents the risk management methods for those risks. The study asserts that agile project management practices can be used to reduce the impact of the risks in distributed development. A similar conceptual study also discusses about the challenges which the teams face when they are distributed. Further, they discuss about agile practices which help to reduce the risks by helping the teams to have effective communication and coordination. Another significant work is done by Nuevo, Piattini and Pino (2011), combines scrum with RUP to support DAD projects. This methodology lays stress on Test Driven Development (TDD) and Continuous Integration (CI), which is appropriate for supporting distributed development (Nuevo, Piattini, & Pino, 2011). Another study by (Kircher, Jain, Corsaro, & Levin, 2011) suggests practices when extreme programming is scaled up and even applied the methodology to a DAD project. 3.1.2 Published literature review There are studies which address the risks in DAD and also suggest suitable methods to manage those risks by consolidating the research work done by other researchers. An important work has been done by Hossain, Babar, & Verner (2009) through systematic literature review. The authors have presented a risk management framework, which presents various risks, which arise when one of the agile methods, Scrum is applied on distributed agile projects. The study primarily deals with problems related to communication and team collaboration in DAD environment, which can be used by agile researchers and practitioners as a reference. Although the authors have considered important risk areas in DAD, it suffers from the limitations that the work is not comprehensive, does not

420

Suprika Vasudeva Shrivastava and Urvashi Rathod / Procedia - Social and Behavioral Sciences 133 (2014) 417 – 424

include inputs from industry and is based purely on the existing literature review. Another systematic review of literature is by Jalali and Wohlin (2010) which consolidated the agile practices used for project developed by Global Software Engineering (GSE). The study shows that continuous integration and daily scrum are two agile practices, which are efficiently done by most of the cases. It shows that the majority of the current literature is in the form of experience reports, in which practitioners have reported their own experiences on a particular issue and the methods used to mitigate it. The distribution of different research types studied over the years, pinpoints the need for conducting more philosophical, validation, and evaluation researches. Although these studies contribute through systematic literature review, they overlook the experiences of industry practitioners. Moreover, their focus on risks related to communication and collaboration amongst stakeholders, project management and infrastructure resulted in missing out many other areas of concerns like risks in software development life cycle, risks related to customers, other vendors and third party involvement in solution development. 3.1.3 Consolidation of case studies Another study by Mattsson, Azizyan, & Magarian (2010) consolidated the risk factors identified from 12 case studies which are already there in literature. Further, it classifies the problems identified, in different classes. Hence, this study attempts to create a classification of risks in DAD. This study deals with the problems which arise due to lack of communication, collaboration and trust amongst the teams. It also addresses the problems which arise due to difference in team skills and other cultural differences between multiple teams. The study suggests appropriate methods, which can be adopted by the DAD teams to reduce the communication gap. 3.1.4 Empirical studies One of the notable empirical studies by Balasubramanium et al. (2006), which describes the problems faced by DAD teams and methods suggests possible solutions. This study is based on data collected from the practitioners in three different companies on risks in DAD. The findings of this study shows that, it is possible to achieve success in distributed agile development project by adopting certain practices which can help the teams to have enhanced communication and build trust. The author suggests modifying certain agile practices to adapt to the dynamic needs of distributed development. Some useful practices include rigorous planning, minimal documentation for knowledge sharing, and adopting short cycles for delivery but not time-boxing. An important study by (Paasivaara, Durasiewicz & Lassenius, 2009) uses empirical data from multiple case studies from two small and one mid-sized distributed scrum project to study the challenges in DAD projects. The authors have laid stress on the team using multiple communication modes and frequent visits of project stakeholder. Besides this, they also emphasize on proper Scrum training to be given to the team members before the project starts. Another very recent study presents a theoretical model for implementing agile IS practices for large scale projects based on data obtained from multiple case study (Goh, Pan, & Zuo, 2013) 3.1.5 Industry reports We could find maximum number of case studies or industry reports which discuss about the issues faced by them while executing DAD projects. Based on their experiences, they present solutions to solve the encountered problems and hence provide valuable recommendations. One of the significant studies by Miller (2008) presents the problems faced by DAD teams at Microsoft Incorporation and also discusses about the best practices which could be adopted. The study focuses on communication related problems and suggests practices, which can reduce communication gaps like periodic collocation, creating stable and independent teams, use of sophisticated tools etc. Another study discusses about the problems encountered by distributed team in adapting agile approach for development of three different projects at Yahoo Incorporation. The authors suggest that DAD teams must give more importance to people instead of following rigid processes and practices (Drummond and Unison, 2008). Implementation of Scrum in distributed agile projects in BMC is discussed in a case study by Smits and Pshigoda (2005), in which problems related to unavailability of product owner for the interaction with development teams and lack of tester involvement in the solution development are discussed. The authors have given importance to planning sessions for sprint execution, daily scrum of scrums and creation of dedicated validation team and integration team

Suprika Vasudeva Shrivastava and Urvashi Rathod / Procedia - Social and Behavioral Sciences 133 (2014) 417 – 424

421

which could test the end-to-end features before the solution could be delivered. There are other studies which discuss about the impediments faced by distributed agile teams and presents solution to the problems (Simon 2002), (Fowler 2006), (Lee, Banerjee, Lim, Kumar, Hillegersberg, and Wei 2006), (Therrain 2008), (Sutherland, Schoonheim, Rustenburg, & Rijk, 2008), (Robarts, 2008), (Cottmeyer, 2008), (Thoughtworks, 2008), (Yap, 2010), (Thoughtworks-Studio, 2011), ( Paasivaara, Durasiewicz,& Lassenius, 2008). 3.2 Classification of literature review based on ‘Risk Areas in Software Development Process’ The process of software development process involves the various activities for building a high quality software solution (Pressman, 2005). This encompasses execution of various software engineering activities related to requirement elicitation and analysis, design and modeling, construction, testing and integration and deployment of the software. Further, software project management is an umbrella activity within software engineering. It starts before any technical activity is initiated and continues through the definition, development, and support of software (Pressman, 2005). Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals (Clegg & Courpasson, 2004). In our case, the goals are related to successfully creating low cost, but high quality software solution in distributed agile environment. In the following sections we list down the studies which deal with risks corresponding to a various activities in software development process in DAD project. 3.2.1

Software development life cycle related risks

We reviewed the literature corresponding to various activities involved in the area of software development life cycle. We will be considering ‘requirement engineering’, ‘design and modeling’, ‘coding, testing and integration’ as three main areas for discussing the research studies. Risks in Requirement Engineering in DAD: Requirement Engineering can be described as the task of capturing, structuring, and accurately representing user requirements so that they can be correctly embodied in systems which meet those requirements. The studies which discuss about the risks which arise in DAD project include (Prior & Keenan, 2005), (Akbar, Haris, & Naeem, 2008). It was observed that although there are many studies which discuss about risks in distributed development and risks in agile methods separately, but few studies discuss about risk related to requirement engineering in DAD. Risks in Design and Modeling in DAD: These studies deal with design related problems like inadequate focus of agile teams on design, inability to freeze the design due to frequent requirement changes and inconsistency of design standards followed by DAD teams. The following research studies deal with these issues: (Treviranus, 2009), (Bavani, 2011 a) (Woodward et al, 2010). Risks in Coding, Testing and Integration in DAD: This area considers problems like difficulty in doing pair programming in DAD teams, poor code quality due to technical debts, inability of DAD teams to do rigorous testing due to unavailability of testing documents, problems related to automated testing. The studies which discuss these types of problems are: (Bavani, 2012), (Ho, Raha, Gehringer, & Williams, 2004), (Bavani, 2011a), (Collins, Macedo, Maia, & Neto, 2012). Risks in Release Planning in DAD: DAD teams need to take significant efforts to make release plans so that they do not get delayed due to lack of synchronization between the teams at different sites. The studies which discuss about difficulty in release planning are as follows: (Humble, 2010), (A´kos, 2011), (Leffingwell, 2007) 3.2.2

Project management related risks

The following studies related to project management activities are considered here. Project Initiation and Planning: This area deals with problems related to activities required for project initiation like feasibility check of projects, contract management and creation of project charter. It was found that contract management is particularly important for agile projects. Fixed price projects are not suitable for agile development since we need to fix the time and functionality beforehand, which contradicts agile principles. Unavailability of client in distributed environment or lack of unawareness of their own requirements increases the severity of this risk. The studies which discuss about the contract related problems in DAD projects are: (Bavani, 2011b), (Larman & Vodd, 2011a), (Niebudek, 2010). Project Organization and Team Management: These studies considers team related issues when agile teams work in distributed environment and discuss about the methods to increase the teams morale and productive. They also

422

Suprika Vasudeva Shrivastava and Urvashi Rathod / Procedia - Social and Behavioral Sciences 133 (2014) 417 – 424

discuss about the risks related to team structuring, reorganization and team dependency issues. It is suggested that DAD teams must be long lived feature teams and must be able to deliver complete functionality in short period of time. The studies which consider team management related problems in DAD projects are: (Babinet & Ramanathan, 2008), (Moore & Spens, 2008), (Larman & Vodde, 2011 b), (Simpson and Duan, 2007). Further, there is a great emphasis on effective communication between the client and the team members and amongst the distributed teams located at various locations too. These studies discuss about the problems related to lack of communication, collaboration and amongst DAD teams. Problems related to communication are attributed to spatial, temporal and cultural differences between different teams. They also suggest possible solution for managing the risks related to reduced interaction amongst project stakeholder. The studies are as follows: (Kähkӧnen, 2004), (Schümmer & Schümmer, 2000), (Green, Mazzuchi and Sarkani, 2010), (Korkala & Abrahamson, 2007), (Layman, Williams, Damian & Bures, 2006), (Dorairaj, Noble, & Malik, 2012) , (Pikkarainen, Haikara, Salo, Abrahamson, & Still, 2008) 4.

Discussion

The observation from the classification of literature based on the ‘type of studies’ provides us with significant insights on the type of work done in the area of risks in DAD. It is observed that majority of available research studies on risks in distributed agile belong to the category of “Industry Reports”. The practitioners share their experiences when agile practices were applied to distributed projects and the methods used by them to overcome those problems. There are some studies which consolidate the review of literature, while other studies which provide us with new models and framework for DAD projects based on previous established concepts and themes. Very few studies are available on empirical research which provides a comprehensive view of risks in DAD projects, which indicates that more work is needed in this area. Less number of studies is related consolidation of existing case studies also, hence providing a scope for more work. Similarly, the review of literature done on the basis of ‘risks occurring in when different activities are carried in software development process’, reveals that there are more number of studies related to issues arising due to lack of communication and collaboration amongst the project stakeholders. Most of the studies state that agile practices need to be modified and teams need to take explicit efforts to overcome the challenges in the development of software in DAD environments. Comparatively less number of studies deals with the issues in requirement engineering, testing and integration and further very few studies have considered design related issues in DAD. Even release management, although important from the DAD perspective, needs to be considered with more rigor. 5.

Limitations

We could identify significant number of studies which have considered risks in DAD projects. Due to time and budget limitation, we recognize that this study is not presenting an exhaustive list of research studies. Hence, there may be other research work, besides the ones listed here, which also discuss about risks in DAD. Secondly, the research studies considered for ‘classification based on risks in project management of DAD projects’ are limited to those areas which are deemed to be more critical, specifically for DAD projects. The areas which are comparatively less critical, for example, project performance and control and project closure have not been considered here. 6.

Conclusion

Many software organizations are applying agile practices in distributed development, in order to build software solutions, which are able to fulfil the dynamic needs of the businesses, while utilizing the global talent. Although, distributed agile development (DAD) is beneficial, but it poses considerable risks to the successful project delivery. Various research studies have considered those risks and suggest suitable practices to control them also. In this paper, we have consolidated the existing research work in the area of risk in DAD. Review of literature has been done by using two different methods. In first case, we have segregated research studies based on the ‘type of study’. In the second method, the ‘activities involved in software development’ is taken as a base for classification of research studies. The examination of literature review provides the areas of research in DAD, which are lesser in number, and hence can be considered for further work by the researchers. The researchers or academicians can also use this work to identify all the studies which deal with a ‘particular type of problem’ in DAD. They can also view

Suprika Vasudeva Shrivastava and Urvashi Rathod / Procedia - Social and Behavioral Sciences 133 (2014) 417 – 424

423

the studies based upon the research method used, to present the risks in DAD projects. Acknowledgements We would like to thank Dr. R Raman (Director, SCIT) for the support which he extended to us for carrying the research. This work has been funded by Project Management Institute Educational Foundation, PMIEF (USA). References Abrahamsson, P., Warsta,J., Siponen, M.T., Ronkainen, J. (2003). New Directions on Agile Methods: a Comparative Analysis, Proceedings of the 25th International Conference on Software Engineering, ACM Press, 2003, pp. 244-254. Akbar, A. Haris, M. Naeem, M. (2008). Requirement Gathering and Tracking Process for Distributed Agile based Development. 8 th WSEAS International Conference on Applied Informatics and Communication (AIC’08) A´kos, S. (2011). A Feature Partitioning Method for Distributed Agile Release Planning. XP2011, LNBIP 77, pp. 27-42. Springer-Verlag Berlin Heidelberg Babinet, E. & Ramanathan, R. (2008). Dependency Management in a Large Agile Environment, Agile Conference 2008, IEEE Computer Society. Balasubramanium, R., Cao, L., Kannan, M., Peng, X. (2006). Can Distributed Software Development be Agile, Communications of ACM, Vol. 49. No. 10, pp. 41-46. Bavani,R. (2012). Distributed Agile, Agile Testing, and Technical Debt. IEEE Software. www.computer.org/software Bavani, R. (October 2011a). Distributed Agile: Steps to Improve Quality before Design. Agile Record, Issue 8. Bavani, R. (2011b). Fixed Price Distributed Agile Projects in outsourced Product testing – An Experienced Report http://mindtree.com/sites/default/files/resource_center_files/Fixed-Price-Distributed-Agile-Projects-in-Outsource-Product-Testing-AnExperience-Report-1.0.pdf Accessed December 2012. Clegg, S., & Courpasson, D. (2004). Political Hybrids, Tocquevillean views on Project Organization. Journal of Management Studies 41 (4): 525547 Collins, E. Macedo, G. Maia, N. Neto, A.D. (2012). An Industrial Experience on the Application of Distributed Testing in an Agile Software Development Environment. IEEE Seventh International Conference on Global Software Engineering. Cottmeyer, G.M. (August 2008). The goods and bad of Agile offshore development. in Proc. AGILE 2008 Conference, IEEE Computer Society, Toronto, Canada, 4-8 August 2008, pp. 362-367. Dorairaj, S., Noble, J., Malik, P. (2012). Understanding Lack of Trust in Distributed Agile Teams: A Grounded Theory Study Technical Report 12-07 retrieved from http://ecs.victoria.ac.nz/foswiki/pub/Main/TechnicalReportSeries/ECSTR12-07.pdf. Drummond, B., Unson, U.F. (2008). Yahoo! Distributed Agile: Notes from the World Over. In Proceedings of the Conference on Agile 2008, pp. 315-321 Fowler, M. (2006). Continuous Integration. http://www.martinfowler.com/articles/continousIntegration. Goh, Jenson CL., Pan, S.L., & Zuo, M. (2013). Developing the Agile IS Development Practices in Large-Scale IT Projects: The Trust-Mediated Organizational Controls and IT Project Team Capabilities Perspectives. Journal of the Association for Information Systems: Vol. 14: Iss. 12, Article 1. Available at: http://aisel.aisnet.org/jais/vol14/iss12/1 Green,R., Mazzuchi,T., & Sarkani,S. (2010). Communication and Quality in Distributed Agile Development: An Empirical Case Study. World Academy of Science, Engineering and Technology. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.193.3125&rep=rep1&type=pdf Humble, J. (2010). Agile Release Management, Towards frequent Low –Risk releases. Thoughtworks Studio. Retrieved from http://www.knportal.com/fileadmin/xxx/AgileReleaseManagement-whitePaper.pdf on February 4, 2014 Ho, C.W., Raha, S., Gehringer, E.,Williams, L. (2004). Sangam: A distributed pair programming plug-in for Eclipse. Proceedings of eclipse '04 Proceedings of the 2004 OOPSLA workshop on eclipse technology exchange. Pg 73 – 77. Holler, R. (2010). Five Myths of Agile Development, Versionone retrieved from http://www.versionone.com/pdf/AgileMyths_BetterSoftware.pdf Hossain, E., Babar,M.A., & Verner,J. (2009). Towards a Framework for Using Agile Approaches in Global Software Developmen. Lecture Notes in Business Information Processing, vol. 32, 2009, pp. 126-140. Jalali, S. & Wohlin, C. (2010). Agile Practices in Global Software Engineering – A Systematic Map. In Proceedings of 5th IEEE International Conference on Global Software Engineering. Kähkӧnen, T. (2004). Agile Methods for Large organization-Building Communities of Practice. Proceedings of Agile Development Conference ’04, IEEE Computer Society Washington, DC, USA. Kähkӧnen, T., Abrahamsson, P. (2003). Digging into the Fundamentals of Extreme Programming: Building the Theoretical Base for Agile Methods, Proceedings of the 29th EUROMICRO Conference : New Waves in System Architecture (EUROMICRO’03) Kircher, M., Jain, P., Corsaro, A., Levin, D. (2011). Distributed eXtreme Programming. http://www.kircherschwanninger.de/michael/publications/xp2001.pdf. Korkala, M., & Abrahamson, P. (2007). Communication in Distributed Agile Development: A case study. In Proc. 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 203-210. Larman, C. and Vodde, Bas. (2011a). Practices for Scaling Lean & Agile Development. Large, Multisite, and Offshore Product development with Large-Scale Scrum. Larman, C., & Vodde, B. (2011b). Introduction to Feature teams. Scaling lean and Agile Development. Pearson, pp 150. Layman, L., Williams, L., Damian, D., & Bures, H. (2006). Essential communication practices for Extreme Programming in a global software

424

Suprika Vasudeva Shrivastava and Urvashi Rathod / Procedia - Social and Behavioral Sciences 133 (2014) 417 – 424 development team. Information and Software Technology, 48 (9), 781-794 [Electronic version]. http://www.sciencedirect.com. Lee, O.K.D. Banerjee, P. Lim, K.H. Kumar, K. Hillegersberg, J.V &Wei, K.K (2006). Aligning IT Components to Achieve Agility in Globally Distributed System Development," Communications of the ACM, vol. 49(10), pp. 49-54. Leffingwell, D. (2007). Systems of Systems and the Agile Release Train: An Agile Whitepaper, Scaling Software Agility: Best Practices for large enterprise, Addison Wesley. Mattsson, M.K., Azizyan, G., & Magarian, M.K. (2010). Classes of Distributed Agile Development Problems. Agile Conference (AGILE), 2010 , vol., no., pp.51,58. Miller, A. (October 2008) Distributed Agile Development at Microsoft patterns and practices, Microsoft patterns and practices. http://www.pnpguidance.net/Post/DistributedAgileDevelopmentMicrosoftPatternsPractices Accessed on March 9, 2010 Moore, E. & Spens, J. (2008). Scaling Agile: Finding your Agile Tribe. AGILE '08. Conference , vol., no., pp.121,124, 4-8 Aug. 2008 doi: 10.1109/Agile.2008.43 Mudumba, V., Lee, O.K. (2010). A New Perspective on GDSD Risk Management: Agile Risk Management, 5th IEEE International Conference on Global Software Engineering (ICGSE). Niebudek, M. (2010). Agile Team Meets a Fixed Price Contract. http://www.infoq.com/articles/agile-team-fixed-price-contract Nuevo,D. E., Piattini, M., Pino, F.J. (2011). Scrum-based Methodology for Distributed Software Development. Global Software Engineering (ICGSE), 2011 6th IEEE International Conference on , vol., no., pp.66,74, 15-18 Aug. 2011 doi: 10.1109/ICGSE.2011.23 Schümmer,T. & Schümmer,J.(2000). Support for Distributed Team in eXtreme Programming. Proceedings of eXtreme Programming and Flexible Processes Software Engineering - XP2000 Simon, M. (March 15, 2002). Internationally Agile. http://www.informit.com/articles/article.aspx?p=25929. Simpson, J. and Duan, S (2007). Large Build Teams: Help or Hindrance? AGILE 2007. IEEE Computer Society. Smits, H., & Pshigoda,G. (2007). Implementing Scrum in a Distributed Software Development Organization. AGILE 2007. IEEE Computer Society. Sutherland, J., Schoonheim, G., Rustenburg, E., Rijk, M. (Aug 2008). Fully Distributed Scrum: The Secret Sauce for Hyperproductive Offshored Development Teams. AGILE '08. Conference , vol., no., pp.339,344, 4-8, doi: 10.1109/Agile.2008.92 Paasivaara, M., Durasiewicz, S., Lassenius, C. (2009). Using Scrum in Distributed Agile Development: A Multiple Case Study. Fourth IEEE International Conference on Global Software Engineering (IGCSE 2009) Paasivaara, M., Durasiewicz, S., Lassenius, C. (2008). Distributed Agile Development: Using Scrum in a Large Project. Software Process Improvement and Practice. Vol. 13, Issue 6, pp. 527-544. Pikkarainen, M. Haikara,J. Salo,O. Abrahamson,P. Still,J. (2008). The impact of agile practices on communication in software development, Empirical Software Engineering, Volume 13, Issue 3, 13:303-337. Pressman, R.S. (2005). Software Engineering. A Practitioner’s Approach Sixth Edition. Published by McGrawHill. Prior,P., & Keenan, F. (2005). Requirement Management in a Distributed Agile Environment http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.1208&rep=rep1&type=pdf Robarts, J.M. (2008). Practical considerations for distributed projects. In Proc. AGILE 2008 Conference, IEEE Computer Society, Toronto, Canada, 4-8, pp. 327-332. Therrien, E. (2008). Overcoming the challenges of building a distributed Agile organization. Proc. AGILE 2008 Conference, IEEE Computer Society, Toronto, Canada, pp. 368-372 Thoughtworks, (2008). Distributed software development with agile: A Practioner’s perspective . www.thoughtworks.com Accessed on July 6, 2010. Thoughtworks-Studio. (2011). The Agile Program Management Scaling Iterative Development retrieved from http://www.thoughtworks.com/sites/default/files/course_pdfs/Agile-Project-Management.pdf Treviranus, J. (2009).You say tomato, I say tomato, let’s not call the whole thing off: the challenge of user experience design in distributed learning environments. Vol 17, No. 3 2009, pp. 208-217, Emerald Group Publishing Limited. VersionOne (2013). 7th Annual State of Agile development Survey. http://www.versionone.com/pdf/7th-Annual-State-of-Agile-DevelopmentSurvey.pdf Accessed on September 2013. Woodward, E., Surdek, S., Ganis, M. (2010). A Practical Guide to Distributed Scrum. IBM Press. Pearson publication. Yap, M. (2010). Successful Distributed Agile Team Working Patterns http://www.solutionsiq.com/Portals/93486/docs/Successful-DistributedTeam-Working-Patterns.pdf