Thursday, April 23, 2009

Comparing agile methodologies

Scrum and XP are by far the most common flavors of agile methodologies - in fact the combination of the two together is the most popular. But what about the others? I found an article that compares Extreme Programming (XP), Scrum, Feature Driven Development (FDD), Lean Software Development, Agile Unified Process (Agile UP or AUP), Crystal, and Dynamic Systems Development Method (DSDM). Part 1 covers XP, Scrum, FDD and lean, while part 2 covers AUP, Crystal, and DSDM.

Friday, April 10, 2009

Tools for distributed team collaboration

Although agile development was originally intended for small, co-located teams, many organizations have now successfully extended agility to multiple teams in distributed locations. The only one of the 12 core agile principles that is contrary to distributed teams is that the most effective method of conveying information is face-to-face conversation. One of the biggest challenges with distributed teams is overcoming the barriers to communication and collaboration. Here are some of the tools I've found useful for that purpose.
  • If you're using a physical task board at each location, post digital photos of each board on your wiki daily. Better yet, keep a web cam pointed at your task board at all times so remote teams can see it whenever they want.
  • Did I mention a wiki? Make it as easy as possible for teams to capture and share written information with a wiki or intranet. Host your own mediawiki, use Confluence, Sharepoint, etc. Or let someone else host it, SaaS-style - plenty of companies offer this service.
  • File sharing and collaboration sites. Google Sites and Google Docs is a powerful, free combo for teams to share information. Box.net is another hosted file sharing solution.
  • If you're sharing large files between locations, you'll probably need an (S)FTP or SCP server.
  • Full-duplex speaker phones are a must-have so you can hear all of the conversation.
  • Each team member should have a decent quality headset for clear, hands-free audio on one-on-one calls.
  • Video conferencing. Many studies show that the majority of information conveyed in a conversation is non-verbal. WebEx allows up to 6 video feeds in a conference. PalTalk is free and it allows a video conference with up to 10 participants. There are many other reasonably-priced video conferencing services, such as iVisit and Megameeting.
  • Virtual white boards. Nothing beats a white board for a design session or brainstorming. Scriblink, Skrbl, and Dabbleboard all offer free online whiteboards.
  • Web conferences with freehand drawing/whiteboard tools. Readytalk has a great feature for drawing right on top of the shared screen in a web presentation.
  • Online Planning Poker for estimating work. Thanks to Mike Cohn!
  • Scrumworks - the free basic edition is very slick and intuitive for all the basic needs. The Pro version has lots more to offer. I prefer Scrumworks over XPlanner.
  • Rally - the free community edition has limited functionality and supports up to 10 users, and the Enterprise edition is very rich and sophisticated if you have greater needs. VersionOne is a competitor to Rally with similar features and editions, but I don't have personal experience with it.
  • Jira? As I wrote in an earlier post, with some free add-ins you force-fit Jira into an agile process, but it's not ideal. Greenhopper is a reasonably-priced agile add-in for Jira that beats the free add-ins.
  • TangyOrange is an online agile task board for less than $5 per month, but it doesn't have the agile project management features of the other tools.