How do you help an agile software development team become more productive and more “agile”?
I think the answer lies in the agile manifesto itself. We value “individuals and interactions over processes and tools”. This right there tells me that you need to empower the team to come up with the process that works best for that team. I feel strongly that this is why you rarely find strong direction in how to do agile software development. Sure, you find plenty on what you should be doing, but how is so different per team.
Most software development teams really want to do the right thing. So, the question is, why don’t we empower the teams to choose their processes? If they want to change something, they should feel free to.
Since each team has a different dynamic, does it make sense to prescribe agile to multiple teams in the same organization? Does it make sense to prescribe agile to teams without giving them a voice?
I think not… Agile development is not something that you can do “by the numbers” throughout your organization. Each individual team is going to have slight variations and needs to make the process successful for them. The core part of agile development is the team, and trust has to be placed with that team that they will do the right thing. If you don’t or can’t trust the team to do the right thing, then you have a bigger problem than evolving agile development.