skip to main content
Skip header Section
Agility Across Time and Space: Implementing Agile Methods in Global Software ProjectsMay 2010
Publisher:
  • Springer Publishing Company, Incorporated
ISBN:978-3-642-12441-9
Published:21 May 2010
Pages:
341
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

Rather than deciding whether or not to get involved in global sourcing, many companies are facing decisions about whether or not to apply agile methods in their distributed projects. These companies are often motivated by the opportunities to solve the coordination and communication difficulties associated with global software development. Yet while agile principles prescribe close interaction and co-location, the very nature of distributed software development does not support these prerequisites. mite, Moe, and gerfalk structured the book into five parts. In Motivation the editors introduce the fundamentals of agile distributed software development and explain the rationale behind the application of agile practices in globally distributed software projects. Transition describes implementation strategies, adoption of particular agile practices for distributed projects, and general concepts of agility. Management details practical implications for project planning, time management, and customer and subcontractor interaction. Teams discusses agile distributed team configuration, effective communication and knowledge transfer, and allocation of roles and responsibilities. Finally, in the Epilogue the editors summarize all contributions and present future trends for research and practice in agile distributed development. This book is primarily targeted at researchers, lecturers, and students in empirical software engineering, and at practitioners involved in globally distributed software projects. The contributions are based on sound empirical research and identify gaps and commonalities in both the existing state of the art and state of the practice. In addition, they also offer practical advice through many hints, checklists, and experience reports. Questions answered in this book include: What should companies expect from merging agile and distributed strategies? What are the stumbling blocks that prevent companies from realizing the benefits of the agile approach in distributed environments, and how can we recognize infeasible strategies and unfavorable circumstances? What helps managers cope with the challenges of implementing agile approaches in distributed software development projects? How can distributed teams survive the decisions taken by management and become efficient through the application of agile approaches?

Contributors
  • Blekinge Institute of Technology
  • SINTEF Foundation for Scientific and Industrial Research
  • Uppsala University

Recommendations

Reviews

Susan Chopra

This book, a collection of papers, attempts to provide practical advice and approaches to bring together two reputedly conflicting methodologies: distributed software development and agile development. Due to the emphasis on communication and collaboration in agile methodologies, there has been much interest in applying them in a distributed software development environment. This has proven to be challenging, as the fundamental principles that make agile methods so successful are at direct odds with the foundations of distributed software development. Frequent, informal, and ideally face-to-face communication, the cornerstone of agile methods, is difficult if not impossible to achieve in a distributed environment. This book attempts to provide insight into this very challenge: bringing together and reaping the benefits of two reputedly conflicting methodologies. However, this book is not a book, per se, but rather a volume of papers written by both researchers and practitioners in the field. The collection is organized into five parts: "Motivation," "Transition," "Management," "Teams," and the epilogue, with key takeaways and advice. While different thoughts and perspectives from many who are immersed in distributed agile development are presented, there is a great deal of redundant information. The bulk of the first main section of this book, "Transition," presents case studies from different organizations that are attempting to merge the two development methodologies. While one would expect the most relevant information to come from the practical experiences of others, these chapters do not provide insight. To protect the confidentiality of the organizations involved, many of the necessary details of the case studies have been removed, resulting in papers that are ambiguous and confusing. The practical tips, while interesting, are vague. The one exception to this is chapter 4, which provides some innovative ideas for a successful transition. The remaining two main sections, "Management" and "Teams," fortunately include fewer case studies. Instead, these sections provide much more detail and concrete approaches. Of particular note in the "Management" section are chapter 10 on the Pomodoro technique and chapter 13, which gives a nice review of tool support. All six chapters in the "Teams" section provide interesting and different information, covering team organization, roles, knowledge transfer, and communication in a distributed agile environment. Books on merging distributed software development with the agile methods have only recently been gaining traction in print [1,2]. For those looking for a practical guide to implementing agile methodologies in a distributed environment, this book is likely not for you. Online Computing Reviews Service

Neil D Burgess

Two important trends in software development are agile programming and globally distributed teams. If you have research interest in either field or if you have anything to do with software projects at multiple locations, you should read this book. In it you will find information about real-world projects that combine these two trends. The book's purpose is to help readers implement agile methods in distributed projects. To achieve this goal, it presents the experiences of a range of authors, in a series of self-contained chapters. Other books give detailed information about, and justification for, agile programming as a methodology [1]. This book starts from the position that agile programming is the way to write systems; it then presents a series of real-life examples of using agile methods in software development projects that spread across geographical boundaries. The book's organization provides a coherent framework and a logical flow of information. Every chapter has been skillfully edited to a common format, with highlighted practical tips inserted at intervals. The layout is easy to read and conducive to skimming for high-value information. The book consists of five parts. Part 1-the editors' first contribution-outlines the core concepts of agile programming and describes the motivation for employing it in distributed projects. Well supported by quality references, it serves to introduce the rest of the work. Part 2, "Transition," consists of seven chapters that outline the experiences of real distributed software projects transitioning to agile methods. Part 3, "Management," consists of eight chapters that discuss management issues in real-both distributed and agile-projects. Some novel solutions are described and useful experiences are covered. Part 4, "Teams," consists of six chapters that focus on team members and how they interact with their managers. This part's useful management information complements the material presented in Part 3. Part 5, "Epilogue," is also written by the editors. It basically summarizes and concludes the book. At three double-column pages, the index is quite sparse and not really useful. The academic tradition of providing frequent references is followed throughout, and illustrations and tables are used to good effect. The most useful feature is the practice of inserting practical tips in shaded panels, at regular intervals. I recommend this book to professionals involved in distributed projects, especially if agile methods are in use or under consideration. It will also be useful, from a theoretical point of view, to academics with research interests in agile programming, distributed software development, or both. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.