views:

198

answers:

5

So I find myself working for a few weeks in a small team of four, including me. Quite a change from my last job at a 300+ developer shop where I'd been part of the adoption of an agile methodology.

I've been sneakily introducing useful tools like a continuous integration server and am surreptitiously starting test-driven development.

What other agile project management and development practices are appropriate for the smaller shop?

+1  A: 

Communal code-review whether or not everyone is on the same site

peter.murray.rust
+2  A: 

I think you may want to flip the question around; what agile methods would not be suitable because you are a small team. I am no expert in agile practices, but I can't really think of any that would not be appropriate because of your team size.

Fredrik Mörk
Pair programming gets tough as team size approaches 1 :-)
Jason Williams
4!=1 so that's ok here
Pascal Thivent
We're finding that it's tricky to get one person to be a "product owner" - and that the scrum master is taking that role.
Jeremy McGee
+4  A: 

IMHO all of the development practices are appropriate. In fact, for a long time an agile team was expected to be a small teams (5-9 people). There is an artile of infoq about it.

Also, because you have a small team both communication and collaboration will become easier, so the practices would work even better.

Diego Dias
+2  A: 

Well, to me, your actual configuration is much more appropriated for Agile than a 300+ developer shop (not really sure how Agile was implemented there, I'd love to hear more about that as scaling to that size requires a very high level of maturity on Agile IMO).

So, my answer would actually be: starting with 4 people, all values and practices are appropriate and valuable. Actually, what Agile methodology did you adopt previously? What practices did you implement? What makes you think they wouldn't be appropriate?

PS: If I may, try to see beyond engineering practices, Agile is not (just) about that (this is especially true for Scrum). Practices such as Test Driven Development, Continuous Integration, etc are nice but they are just a mean, not an end. They won't suffice for a successful Agile implementation. Agile is a business oriented organizational pattern. In other words, technical stuff is not really the best starting point when implementing Scrum, you should start with organizational things.

Pascal Thivent
The 300+ developer shop was broken down into 20+ teams, each of which focussed on one area in a service-oriented system. Coordination was tricky, both to make sure that the backlogs were in alignment and that the deliveries actually worked. It was fun though!
Jeremy McGee
Interesting (although I think that teams of ~15 persons are a bit large) and, indeed, I'm sure it was fun. But, again, what makes you think that what you implemented there wouldn't be appropriate for 4 persons (except Scrum of Scrums of course)? Do you have specific concerns?
Pascal Thivent
I think your third paragraph in your answer nails it: Agile requires involvement from the business. That's actually pretty hard in a smaller company where managers do need to see evidence when faced with some of the more anarchic Agile practices.
Jeremy McGee
+1  A: 

Focus on introducing practices that add the most value to the team.

As the team is small impact of the change will be highly visible, if you work with the team and show improvements then you can go back and add another one - again the one that add the most value to the team.

One of the most important thing is that the projects are approached with an agile mindset, adding tools & techniques in the context of long projects that can't adapt to change & are not highly tuned with the customer won't have the ultimate result that you should be aiming for.

eglasius
+1 for comments on high visibilty of changes.
Jeremy McGee