I was out at Agile Prague earlier this week. There were many great presentations on building up better processes and a particularly interesting one by Linda Rising on the introduction of agile into organizations. However in talking with many of the people during breaks and dinners etc especially attendees I noticed different problems that people were having in real life.
The had the wrong people
No amount of process will fix this problem. If I take a bunch of people that don’t know how to actually produce decent code that works my process won’t fix it. They can’t actually build the wrong thing let alone the right thing if they can figure it out. I might be able to get away with teaching them to actually produce but now I have bigger issues. Can you imagine if you had to teach your mechanic how to change your oil so that he could actually change yours?
Its feasible to train such a team but it will be very expensive and time consuming, this should only be done in the worst case where other options are politically unavailable for some reasons (yes government sector I’m looking at you)
If a team is unable to produce instead of attempting to introduce small incremental changes. Consider making really big changes (like getting rid of a large portion of the team).
I think we should really at conferences be spending more time talking about big changes and how to know when to use them. We should also spend more time talking about how to build a team of the right people. I know this is not as interesting of a topic but it seems there are many more people with this issue than those in cases where they have a well executing team that they want to improve.