How to do SCRUM with Basecamp?
About 2 years ago we were sitting at the office trying to figure out which tool to use for project management. I mean, being agile is about being simple, but index cards were starting to get messy. Bad handwriting was starting to make things unclear (Is that an "r" or an "f"?). Finally the decision to look for a tool was taken when one of our project managers dropped a cup of coffee over a deck of story cards.

- Simplicity: There is no need for training when you start using Basecamp. In essence Basecamp is a set of message boards, blogging tools, calendars and to-do list trackers. All these tools combined in an intuitive way is what Basecamp is all about. If your team can't figure out how to use Basecamp... you're in troubles. Being agile is about using the simplest tools available.
- Interactions instead of Process: The purpose of Basecamp is to promote and enhance collaboration between a team. Basecamp doesn't try to force you into a specific workflow as most project management tools do. You can pretty much do whatever process or workflow you want, and still, Basecamp is going to be helpful. Guess what's the first line of the Agile Manifesto? Individuals and interactions over processes and tools. So instead of thinking "Is ticket 4137 assigned to David or to Paula?", you will see the discussion of a real issue between your team.
- Make a mind map to identify the project vision, goals, risks and stake holder. You know what a mind map is right? Something really important, make sure to have this step right. Consult with your customer and make sure that you share the same vision. How we used Basecamp here? By keeping track of the communication with the customer. Once you have your vision written, you can set it up as a Basecamp Announcement, so that it can be shown to all the project member every time they log on.
- Have one or more Story Writing Workshops. Here is when the user comes with his big christmas list that includes all his unicorns and care bears. Everything the user wants must be taken into consideration but you need to make sure that the user is able to formulate his dreams with the following format: As a "role" I want to be able to "user wish" so that "business value". If the user is not able to fill out all the blanks then it means that either you can't identify anyone that is going to make the task, or the task has no value for the business. I find that using Basecamp writeboards is really good for managing your stories (And even better if you have a Backpack account, you can create a note for each user story, and move them like a stack of cards between different Backpack pages). Index cards can be used as a fast way of writing the stories, but if you need to share them with a lot of people, it's better to have them online.
- Estimate Story Points. You need to decide how hard each story is in comparison to another. We used to have a limited set of possible values for this task. The possible values were: 1 - 2 - 3 - 5 - 8 - 13. No other value is allowed, if you need something smaller, then you need to join the story, if you need something bigger, then you need to split it. Again, if you need to do this in a distributed environment, Basecamp can be very helpful to keep track of the discussions.
- Plan Your Iterations. Make sure that the customer understands that the date you will be giving is only an estimate. Be careful of setting expectations that you won't be able to accomplish. Usually at this point your customer would want to cut out things that have very low business value (probably the unicorns and care bears will have to wait again). Once you have a deliver date for each iteration, create a milestone for each iteration in Basecamp.
- Define the Tasks for the First Iteration. Take all the stories that are going to be developed in the first iteration and think of all the tasks that are going to be required for each one. Remember to consider the tests, the coding and the research. Finally until you get to this point you are able to start talking about how many hours a task might take you. In Basecamp you are going to create a to-do list for each user story. Each of the tasks is going to be a to-do item in your to-do list. Make sure to assign each to-do list to the milestone that represents the iteration in which it's supposed to be delivered. If you figure out at the end of this step that you have space for more work (usually it never happens) or that you're scheduling more work than you're able to finish in one iteration, move user stories (and I mean the complete story not only a few tasks) between iterations. Remember to talk to your customer about any changes you're making on the expected delivery date of each user story.
16 comments
* Task Name 2h
If after working for an afternoon on it I realize that it will take me longer than expected and that I need to work on it for 3 more hours I would rename the task like this:
* Task Name 3h
I would also place a comment on the task explaining what went wrong on the original estimate.
About your second question, I guess that what I would do is to create a project for each team. Basecamp's dashboard can be used to check out the state of multiple projects (although I think that you can see up to seven projects there).
I really wish Basecamp had more of an Agile mode to it, just a few simple features, not hacks Our teams use Hansoft, which has excellent Agile features. Problem is that it does not have the collaboration and visbility features in Basecamp.
Thanks :)
One challenge our team has encountered is the use of computers during the daily scrum (stand-up). Pulling up the computer every morning and manually updating the Sprint Backlog puts strain on the lightness & quickness of the scrum, we've found that simply standing up around a board of story-tasks fast-tracks the process and allows us to stay within the alotted 15 minutes. The Scrum Master prints out the Scrum Backlog and notes updated estimates as each member takes his turn during the stand up, then he updates the backlog afterwards.
Is there a way to use utilize this process without weighing down the stand-ups with the need for a computer?
If a point of the meeting is important enough, you can start a discussion in the messaging section.

