Agile Software Development with Distributed Teams


Book Description

This is the digital version of the printed book (Copyright © 2010). All software projects face the challenges of diverse distances -- temporal, geographical, cultural, lingual, political, historical, and more. Many forms of distance even affect developers in the same room. The goal of this book is to reconcile two mainstays of modern agility: the close collaboration agility relies on, and project teams distributed across different cities, countries, and continents. In Agile Software Development with Distributed Teams, Jutta Eckstein asserts that, in fact, agile methods and the constant communication they require are uniquely capable of solving the challenges of distributed projects. Agility is responsiveness to change -- in other words, agile practitioners maintain flexibility to accommodate changing circumstances and results. Iterative development serves the learning curve that global project teams must scale. This book is not about how to outsource and forget your problems. Rather, Eckstein details how to carefully select development partners and integrate efforts and processes to form a better product than any single contributor could deliver on his or her own. The author de-emphasizes templates and charts and favors topical discussion and exploration. Practitioners share experiences in their own words in short stories throughout the book. Eckstein trains readers to be change agents, to creatively apply the concepts in this book to form a customized distributed project plan for success. Topics include: Understanding Distributed Development The Productivity Myth Ensuring Conceptual Integrity Trust and Mutual Respect Iterations and Releases Using Features to Steer the Development Effort Team Velocity Virtual Retrospectives Dispersed Synchronization Introducing Agility to Global Projects and much more




Agile Software Development with Distributed Teams


Book Description

All software projects face the challenges of diverse distances -- temporal, geographical, cultural, lingual, political, historical, and more. Many forms of distance even affect developers in the same room. The goal of this book is to reconcile two mainstays of modern agility: the close collaboration agility relies on, and project teams distributed across different cities, countries, and continents. In Agile Software Development with Distributed Teams, Jutta Eckstein asserts that, in fact, agile methods and the constant communication they require are uniquely capable of solving the challenges of distributed projects. Agility is responsiveness to change -- in other words, agile practitioners maintain flexibility to accommodate changing circumstances and results. Iterative development serves the learning curve that global project teams must scale. This book is not about how to outsource and forget your problems. Rather, Eckstein details how to carefully select development partners and integrate efforts and processes to form a better product than any single contributor could deliver on his or her own. The author de-emphasizes templates and charts and favors topical discussion and exploration. Practitioners share experiences in their own words in short stories throughout the book. Eckstein trains readers to be change agents, to creatively apply the concepts in this book to form a customized distributed project plan for success. Topics include: * Understanding Distributed Development * The Productivity Myth * Ensuring Conceptual Integrity * Trust and Mutual Respect * Iterations and Releases * Using Features to Steer the Development Effort * Team Velocity * Virtual Retrospectives * Dispersed Synchronization * Introducing Agility to Global Projects * and much more




Agile Software Development


Book Description

Agile software development has become an umbrella term for a number of changes in how software developers plan and coordinate their work, how they communicate with customers and external stakeholders, and how software development is organized in small, medium, and large companies, from the telecom and healthcare sectors to games and interactive media. Still, after a decade of research, agile software development is the source of continued debate due to its multifaceted nature and insufficient synthesis of research results. Dingsøyr, Dybå, and Moe now present a comprehensive snapshot of the knowledge gained over many years of research by those working closely with or in the industry. It shows the current state of research on agile software development through an introduction and ten invited contributions on the main research fields, each written by renowned experts. These chapters cover three main issues: foundations and background of agile development, agile methods in practice, and principal challenges and new frontiers. They show the important results in each subfield, and in addition they explain what these results mean to practitioners as well as for future research in the field. The book is aimed at reflective practitioners and researchers alike, and it also can serve as the basis for graduate courses at universities.




Agile Processes in Software Engineering and Extreme Programming


Book Description

This book contains the refereed proceedings of the 13th International Conference on Agile Software Development, XP 2012, held in Malmö, Sweden, in May 2012. In the last decade, we have seen agile and lean software development strongly influence the way software is developed. Agile and lean software development has moved from being a way of working for a number of pioneers to becoming, more or less, the expected way of developing software in industry. The topics covered by the selected full papers include general aspects of agility, agile teams, studies related to the release and maintenance of software, and research on specific practices in agile and lean software development. They are complemented by four short papers capturing additional aspects of agile and lean projects.




Agility Across Time and Space


Book Description

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?




Agile Software Development in the Large


Book Description

Who Says Large Teams Can't Handle Agile Software Development? Agile or "lightweight" processes have revolutionized the software development industry. They're faster and more efficient than traditional software development processes. They enable developers to embrace requirement changes during the project deliver working software in frequent iterations focus on the human factor in software development Unfortunately, most agile processes are designed for small or mid-sized software development projects-bad news for large teams that have to deal with rapid changes to requirements. That means all large teams! With Agile Software Development in the Large, Jutta Eckstein-a leading speaker and consultant in the agile community-shows how to scale agile processes to teams of up to 200. The same techniques are also relevant to teams of as few as 10 developers, especially within large organizations. Topics include the agile value system as used in large teams the impact of a switch to agile processes the agile coordination of several sub-teams the way project size and team size influence the underlying architecture Stop getting frustrated with inflexible processes that cripple your large projects! Use this book to harness the efficiency and adaptability of agile software development. Stop getting frustrated with inflexible processes that cripple your large projects! Use this book to harness the efficiency and adaptability of agile software development.




The Art of Agile Development


Book Description

For those considering Extreme Programming, this book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience. While plenty of books address the what and why of agile development, very few offer the information users can apply directly.




The Enterprise and Scrum


Book Description

It’s time to extend the benefits of Scrum—greater agility, higher-quality products, and lower costs—from individual teams to your entire enterprise. However, with Scrum’s lack of prescribed rules, the friction of change can be challenging as people struggle to break from old project management habits. In this book, agile-process revolution leader Ken Schwaber takes you through change management—for your organizational and interpersonal processes—explaining how to successfully adopt Scrum across your entire organization. A cofounder of Scrum, Ken draws from decades of experience, answering your questions through case studies of proven practices and processes. With them, you’ll learn how to adopt—and adapt—Scrum in the enterprise. And gain profound levels of transparency into your development processes. Discover how to: Evaluate the benefits of adopting Scrum in any size organization Initiate an enterprise transition project Implement a single, prioritized Product Backlog Organize effective Scrum teams using a top-down approach Adapt and apply solutions for integrating engineering practices across multiple teams Shorten release times by managing high-value increments Refine your Scrum practices and help reduce the length of Sprints




Scaling Software Agility


Book Description

“Companies have been implementing large agile projects for a number of years, but the ‘stigma’ of ‘agile only works for small projects’ continues to be a frequent barrier for newcomers and a rallying cry for agile critics. What has been missing from the agile literature is a solid, practical book on the specifics of developing large projects in an agile way. Dean Leffingwell’s book Scaling Software Agility fills this gap admirably. It offers a practical guide to large project issues such as architecture, requirements development, multi-level release planning, and team organization. Leffingwell’s book is a necessary guide for large projects and large organizations making the transition to agile development.” —Jim Highsmith, director, Agile Practice, Cutter Consortium, author of Agile Project Management “There’s tension between building software fast and delivering software that lasts, between being ultra-responsive to changes in the market and maintaining a degree of stability. In his latest work, Scaling Software Agility, Dean Leffingwell shows how to achieve a pragmatic balance among these forces. Leffingwell’s observations of the problem, his advice on the solution, and his description of the resulting best practices come from experience: he’s been there, done that, and has seen what’s worked.” —Grady Booch, IBM Fellow Agile development practices, while still controversial in some circles, offer undeniable benefits: faster time to market, better responsiveness to changing customer requirements, and higher quality. However, agile practices have been defined and recommended primarily to small teams. In Scaling Software Agility, Dean Leffingwell describes how agile methods can be applied to enterprise-class development. Part I provides an overview of the most common and effective agile methods. Part II describes seven best practices of agility that natively scale to the enterprise level. Part III describes an additional set of seven organizational capabilities that companies can master to achieve the full benefits of software agility on an enterprise scale. This book is invaluable to software developers, testers and QA personnel, managers and team leads, as well as to executives of software organizations whose objective is to increase the quality and productivity of the software development process but who are faced with all the challenges of developing software on an enterprise scale.




From Chaos to Successful Distributed Agile Teams


Book Description

Distributed agile teams have a terrible reputation. They don’t deliver “on time,” and too often, they don’t deliver what the customer needs. However, most agile teams, have at least one remote team member. And, agile approaches are here to stay. Don’t blindly apply agile practices designed for collocated teams. Instead, learn to use three mindset shifts and the agile and lean principles to create your successful distributed agile team. Use the tips and traps to help your team succeed. Leave the chaos of virtual teams behind. See how to help your distributed team succeed.