Not sure if you are just looking for responses from the QPs, if so, please ignore.
I've been managing software development teams for 10 years or so and have picked up some good things from people who specialize in organizational dynamics. In general, teams work best with:
- A goal. Something identifiable that they can work towards and succeed or fail at.
- An identity. A name, slogan, etc that separates them from their peers and they can organize around.
- An "enemy". People are driven to compete; give them something to compete against, whether it is other teams or something external to your organization.
- Strong leadership. This leads to a whole other topic.