Mar 21

Currently I’m reading the book Extreme Programming Explained: Embrace Change (2nd Edition). If you think it’s just the first edition with a little extra, you are as wrong as a failed unit test. Kent Beck pretty much rewrote the book. Some of the new ideas and practices are very close to what I observed through my own experience. Some of them are brand new to me. I’ll talk about one of them here and others later.

Shrinking Team

The idea is that you don’t keep everyone in the team 100% busy. Leave about 70% of one person’s time free. Then let the team work on improving its process until it doesn’t need that one person any more. The team keeps shrinking this way. Later on, if the team has more work than it can handle, merge two small teams together to form a new team.

Now, even Kent Beck himself admits that he’s never tried this in a real project. He just borrowed it from the Toyota Production System. I don’t see it working the exact way he described either. At least I don’t want to be the “extra” person on the team. No, I’m just kidding. That’s not what the practice is about. Keeping a team running full load is definitely a good thing. That’s exactly what happened for the last six months in our project. We are so busy implementing stories and fixing bugs that we don’t have time to think what we can do better. Sometimes we don’t even think about what we are doing. The end result is a lot of duplicate code. Code that hasn’t been thought through. But now it’s too late to change it and I’m not the person that could have made the change either. Let’s just hope things will get better after the first release.

2 Responses to “Shrinking Team”

  1. Deepthi says:

    simon, Why would someone want to even hire that poor-guinea-pig-extra-person in the first place? btw, did PAS get into production yet? - deepthi

  2. simon says:

    Well, I don’t think Shinking Team works in an environment where you only have one team and a single digit number of people. It’s more fit for the kind of organization where you can easily shrink and merge teams.

    For the second question, yes and no. We had a release and people sometimes refer to it as going into production. But it’s actually a test release. The client is not even parallel yet. I think from now on we might see a more agile approach with small releases.

    BTW, congratulations for the new job!

Leave a Reply

preload preload preload