Distributing Scrum projects isn’t easy. Agile values encourage face-to-face communication and frequent feedback between team members. But for those who seek the benefits of Agile – frequent releases, less waste, high emphasis on value – on larger, more complex projects, this video presents some technical practices that help retain the spirit of co-location in a distributed environment.
In this blog post, J.D. Meier shares his experience of leading high-performance distributed teams for more than ten years at Microsoft. He describes a weekly schedule that begins with identifying 3 wins for the week on Monday to discussing 3 things going well and 3 things to improve on Friday.
“Swarming” is a technique whereby many members of a Scrum team work together to deliver a User Story, taking advantage of the skills of many team members together. In this article, Johanna Rothman asks the question: How do you do swarming in a distributed team?
The early agile literature was adamant about two things: stick with small teams and put everyone in one room. However, in the years since the Agile Manifesto, the increasing popularity of agile and the dramatic improvements it brings has pushed it onto larger and larger projects. Additionally, having an entire team, especially on a large project, in one room, or even one building is a luxury no longer enjoyed by many projects.
In addition to the challenge of adopting Agile practices inside a company, many organizations adds another level of difficulty by outsourcing some of their development activities. In this blog post, Juan Banda provides an extensive experience report on outsourcing Agile with practical advice from somebody who’s been on the other side of the phone in an outsourced Agile team.
As Agile and Scrum are adopted by an increasing number of companies, this book from Craig Larman and Bas Vodde provides important thinking tools to remind us that it is more important to “be agile” than to “do agile”. Scrum or Lean are frameworks that we can use for continuous improvement of our software development process and not tools that should be applied blindly like cooking recipes.
This article focuses on the obstacles to using Agile in a distributed team environment and recommends how to counter them with what is called “de-Agile.” De-Agile is tailoring Agile to fit your team by taking out processes that don’t make sense and tweaking those that need to be modified to suit your needs. In a distributed team environment, de-Agile is mostly about removing the sense of being distributed. You need to educate each team member about the additional communication responsibilities required when working with remote team members and emphasize the importance of being open and available.