Distributed Agile Teams: Stick your sticky notes on the cloud

In one of the agile forums an Agile newbie asked - isn't it beneficial to use an online agile tool to manage the process? Innocent newbie was lectured by a number of Early Agile (esp. Scrum) adopters for having such a non-agile thinking. These early adopters are used to the sticky notes on an office wall.  Newbie was led to believe that Scrum is the most ideal process in this world and it is not dependent on any tool.  Here is my interpretation of many conversations I have seen on this topic (including the conversations group had during Scrum training I took few years ago).

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.
Remember that physical offices are slowly disappearing. Don't you consider work from home (WFH) as an additional perk that many employers offer?

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.

BEHAVIORAL 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.
  • Self-organization
  • Trust
  • Collaboration
  • Discipline - Ensure that your team has a common meaning of definition of done and follows it.
SOFT TOOLS
  • 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

    7 comments:

    1. What cloud are u currently using? What cloud based tools are u currently using?
      I too am managing distributed teams and have found some success with web-based tools, but there is a need for more.
      No longer are the days where we can expect co-located teams. More and more the talent companies require come from all parts of the world and it would be impractical to believe that companies would require everyone to be co-located.
      That is not to say that as much as possible you couldn't create fully functional teams in each location. However, even that will become a more rare occurrence with more and more companies embracing this work from culture and the cost of physical office space increasing. More companies are looking for ways to reduce expensives and this is certainly one possibility. Embrace the change and see it as entrepreneurial opportunities.

      Back to my questions, what tools/clouds are you currently using?

      ReplyDelete
    2. Thanks for posting your question Brent. Here is my take. I updated blog as well to reflect it. You may revisit blog for better formatting: http://bit.ly/iAq64n.

      BEHAVIORAL 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.

      - Self-organization
      - Trust
      - Collaboration
      - Discipline - Ensure that your team has a common meaning of definition of done and follows it.

      SOFT TOOLS

      - 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 team. You can get a list of agile tools here: http://www.toolsjournal.com/agile-management-tools. Just for clarity, Cloud means add/view/edit information anywhere and anytime.
      - Meeting rooms: audio/video conferencing
      - Networking: In an office environment, you only had access to the people the people in that office but now you have access to the people all over the world. Use the power of 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.

      ReplyDelete
    3. Hi Yogesh,

      Thanks for sharing your views.

      Can you please help me understand some of your view points better?


      1."Integrated Lifecycle Management". Which ones did you end up using and which one do you recommend? A bit of reasoning will be really helpful.


      2."An Agile lifecycle management tool is only as good as the process it facilitates and the people that use it".

      I understand and agree with you completely on this.

      3. "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".

      I find a bit of contradiction with the point 2 above "the tool is only as good as the people and process"

      Can you please explain what problems made it tough and how the agile tool (also kindly mention which one) help you overcome the problems?

      ReplyDelete
    4. Can you please explain the linkage between Cloud and Methodology(Distributed Agile)?

      ReplyDelete
    5. @ASalam

      1/2. We tried/evaluated few tools and settled down with VersionOne. There may be better tools but VersionOne is awesome. Open source tools few years back were not very mature in terms of features. Also, we had to do our own installation which opened up another can of worm. VersionOne provided us a fully managed solution with all the possible features we needed (backlog/defect management; integration with SVN; agile process management e.g. managing sprints, burndown charts, estimation etc). Performance of the tool is great and patch process is seamless.

      We tried hard to use open source tools but those didn't allow us to manage lifecycle and we ended up using multiple tools - no one liked duplicating info across the tools. Cost of getting a commercial tool was cheaper than the time wasted in managing a bunch of free tools.

      3. IMO, both points are complimentary. As an analogy, a good mechanic is handicapped without appropriate tools. A bad mechanic may not even know which tool is appropriate to use.

      Similarly, an agile distributed team is almost handicapped without appropriate agile tools. Tools can not teach agile behavior and how to write code. Main objective of tools is really to improve communication, coordination, and reduce wastage in maintaining process e.g. if you capture requirements in wiki, sprint planning in xplanner, issues on wiki, and burrdown in excel, defects in corporate tools -- how much time will team waste in maintaining all the details? Team actually start loosing interest in the process in such a messy scenario.

      4. Cloud is a generic concept that applies to most of the tools. In a nutshell, if team is distributed and its toolset needs to be distributed too.

      As I said earlier, main objective of tools is really to improve communication, coordination, and reduce wastage in maintaining process. As a simple example, a developer completes a story and marks it "engineering tested"; when a new build is created, tool automatically updates the build number and marks story as "ready for QA verification"; now QA knows what is included in a particular build that they need to test. Assume how much time will be wasted if this whole process needs to be done manually and the amount of confusion team members have...

      ReplyDelete
    6. interesting blog. It would be great if you can provide more details about it. Thanks you

      Scrum Process

      ReplyDelete