Over a million developers have joined DZone.

Agile in a Remote Workplace World

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

Originally written by Jim Magers at the LeadingAgile blog.

Two of the twelve Principles Behind the Agile Manifesto  are about people working together in close daily collaboration.

  • Business people and developers must work together daily throughout the project.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

In a well functioning Agile team, this collaborative connection is the fuel that propels the team’s success.  As an Agile coach, I love being able to coach a team that sits together, is able to connect in person throughout the day, and can effortlessly pull together to solve problems.  But in a world where good developers are in short supply and in high demand, and where work/life balance becomes ever more important for being able to hire and retain good employees, allowing people to work from home is a fact of life for companies today.

How do you enable collaboration when team members are working from home?

How do remote teams engage in stand up meetings, sprint planning sessions, retrospective meetings, and other Agile ceremonies?

You just have to leverage the right tools.

Some are obvious. Online meeting tools such as Webex, GoToMeeting, Google Hangouts, and Imeet are essential.  Use these for stand-up meetings and for planning and review sessions where you need full team participation.

If you are using VersionOne to help manage your Agile process, consider the team room capability that it provides to drive your stand up meeting.  Don’t make the mistake that some teams make after they experience success and start to feel comfortable.   Avoid the temptation to drop off important ceremonies, like the stand-up meeting.  I’ve coached teams who had a handful of good sprints, and felt that perhaps they no longer needed to meet in person and could just email in a daily update.  Bad idea.

Internet Relay Chat (IRC) and Google Hangouts work well to keep the team engaged together and collaborating throughout the day. The key is to do group chat as opposed to individual chats. Let the whole team monitor the chat room as a way to stay in contact with each other. While this is certainly not as powerful as team members being able to roll their chairs to the middle of the team room to talk, it can nevertheless be quite effective.

I use a tool called Notepp for running team retrospectives with remote team members. Noteapp allows you to create an interactive retrospective board and publish a URL to the team. You can watch the whole team contribute ideas to the retrospective in real time as they type notes on the board, almost as if you were doing this together in a conference room with sticky notes.

Noteapp also works great for story workshop sessions. remote workplace

Co-locate teams if at all possible. The payback to doing so is significant. But if you’re going to be Agile in a remote workplace world, get the right tools in place to support the team’s ability to collaborate.

- See more at: http://www.leadingagile.com/2014/07/agile-remote-workplace-world/#sthash.4A233iOx.dpuf

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.

Topics:

Published at DZone with permission of Mike Cottmeyer, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}