Newbie: How do you suggest distributed teams to manage the scrum process without any tool? Where will they stick their sticky notes?
Early Adopters: You don't understand agile process. Agile works well in non-distributed environments.
Newbie: But my team is fairly distributed what do I do?
Early Adopters: Talk to your management. Why do they need to distribute?
Newbie: I already talked to them but there are valid reasons for team distribution.
Early Adopters: Ask "why" 5 times. I don't think distribution solves any problems.
Newbie gets irritated by the fact that these early adopters can't empathize with the real life scenario and just want to push their limited knowledge that may have worked on their projects. This conversation leaves behind 2 questions:
1. Does Agile (Scrum) work in a distributed environment?
2. Do agile tools help in making agile adoption easier?
I am managing distributed teams over a decade. I can definitely vouch that Agile works in distributed team. Having a local team is an ideal solution but it is not always feasible to have a local team in the current global economic environment. With a good planning you can make Agile working effectively in a distributed environment. My first agile implementation had a really tough time with the distributed teams until we adopted a good agile tool. Agile tool had a magic effect to promote and implement agile concepts. Teams loved the idea of sticking their sticky notes on the cloud. They don't have to worry about sharing physical walls across the geographies. It was a great feeling to get rid of a "wall of inefficiency".
I can't imagine how distributed team can really work without a good tool to manage the process. To maximize value from an agile deployment, here are few things you should consider to choose proper tool:
- Simplicity: Like agile development, the more simple the tool the better. Most importantly, tools should never replace the benefits achieved by using the Agile practices - an Agile lifecycle management tool is only as good as the process it facilitates and the people that use it.
- Communication: Use tools to facilitates communication and collaboration
- Encourage accountability by clearly assigning ownership using tools
- Change management for new agile teams: Agile tools give teams a map or a guide for what tasks they need to complete and integrate into this new way of approaching development projects.
- Manages Iterations, Feature-driven Development
- Integrated Lifecycle Management: Tracking project information in multiple tools can inhibit accurate, real-time visibility.
- Cross-Functional Teams: True support for cross-functional teams means consolidating and facilitating the project planning and tracking needs of customers, product management, project management, programmers, testers, etc. in a single environment for improved collaboration and consistency.
In a nutshell, learn to stick your sticky notes on the cloud so that anyone can access those anytime. iCloud is also on the way. Choose proper clouds to brighten up your life. Embrace change and take advantage of amazing free or commercial agile tools available in the market. These tools work really well even for non-distributed teams. Give it a TRY!
After publishing this article, I got a lot of questions on linkedin about which tools to use. Thanks folks for providing feedback and posting your questions. Here is my take on tools.
Some of the agile behavioral concepts go through a real test in distributed environment e.g. trust, self-organization, collaboration etc. If a team cannot work in a distributed environment than they should really ask themselves if they are implementing agile correctly. I am not advocating distribution but I don't see it as an obstacle. If a user story is written poorly than we don't blame user story. Blame goes to the person who wrote it. Similarly, if a distributed agile team does not work well than we shouldn't be blaming team distribution. Devil probably lies in implementation.
- Discipline - Ensure that your team has a common meaning of definition of done and follows it.
- Hallway conversations: Instant Messaging (virtual hallway) and if needed just pick up a phone and call
- Whiteborading: Webex, VNC etc. Invest in occasional travel for
- Urge to argue: Video conferencing - Skype, Facetime etc. Simplest solution is to just pick up a phone and call. Don't beat issues to the death in the emails to prove your point... talk please.
- Story board & collaboration tools: There are so many web/cloud based solutions. Just choose what works for you and fit in to your wallet. Solution can be as simple as story wall in google docs OR it could be a feature rich tool like VersionOne. It doesn't matter as long as it works for the team. You can get a list of agile tools. BTW, Cloud means add/view/edit information anywhere and anytime.
- Meeting rooms: audio/video conferencing
- Networking: In an office environment, you only have access to the people in a particular office, however, globalization opened up access to the people all over the world. Use the power of this virtualization. There are too many tools on your disposal these days including blogging (internal/external). You just need to set your objectives and use the right tool to meet your networking goals.
Suggested Agile Reading
- Agile Strategy Manifesto
- 6 Levels of Agile Planning
- Agile Planning - Backlog Management
- Agile Iteration Lifecycle
- Agile Governance Model
- Agile -A Perfect Partner
- Agile - An Investor's Perspective
- Agile/Scrum Crash Course