this is a blog by Jeff Perrin, a software developer based in calgary alberta

Working on a Large Agile Project

I commented on a post by Sam Gentile today, and his response posed a couple of questions that I figured were best answered on my blog. He had a couple of questions regarding how our team at CGI functions with so many developers (we have around 30, I think).

How are you managing the sitting together and keeping up the communications needed with that many people?

Currently, we have the entire team (developers, business analysts, testers, and one project manager) occupying 1/2 a floor of an office building. As the team gets bigger, they keep on literally knocking down walls for us.

We have 5 teams of approximately 7 or 8 developers sitting in 'pods' that contain 4 pairing stations (dual 19" flatscreens, multiple keyboards and a pretty hefty development box) and two laptops. Each team is responsible for a certain area of the code, although team members swap out and there aren't many issues with code ownership. Each pod is flanked by 2 desks where the BA's from the client sit, and 2 others where QA sits. We do a standup in the morning for each pod separately, and then the team leads do another separate standup immediately afterwards.

Each sprint, the BA's spend some time hashing out the functionality they require and turning them into stories for us to implement in the next sprint. They will often sit down with a developer to determine the details of the story. When a new sprint starts, we get a brief overview of the new stories, of which there are usually about 15. We then pair up, and get to work. At this point in the project, a pair will usually complete about 4 stories, or one per week. I'm guessing that our stories are quite a bit larger than what is standard for an agile project, however this project has been going on for over two years now, and we've kind of arrived at our sweet spot.

All that being said, we have excellent communication between the teams and the clients because we're all in the same "room" together all day, every day. I'm not sure what was required at the beginning of the project to get all the clients (there are 4) to agree to having their BA's offsite working directly with the project as I wasn't around back then (Ted?). That must have been an interesting negotiation.

Have you considered writing an experience report for the Agile conference or an article?

I haven't, personally, although I'm aware of the possibility that some interested individuals at the University of Calgary are intrigued by the project. You can check out Ted O'Grady's blog for some more insight into the workings of the project, as he was around at the beginning and has been blogging about it on and off for a while now.

Writing Tests Top Down

Specification Pattern With Predicates