Building a Better Development Team?
mlawmlaw asks: "I'm part of a development team that provides internal applications for a large pharmaceutical company. The team consists of about a dozen members, some coders, some application developers, and some vendor managers. About twice a year we do some sort of group exercise that almost always focuses on team building. After doing this for the past few years, we have found that while we have built a team that works well together, we have missed the boat when it comes to developing other team skills. We need to focus on better ways of identifying and solving technical problems and developing stronger critical thinking skills. But how do we do this? Teambuilding was easy, bring the team together and do exercises in trust, recognizing diversity, and discovering your teammate's backgrounds. So I am asking the Slashdot community, what have you found to be effective in building a better team other than exercises in teamwork?"
Teambuilding was easy, bring the team together and do exercises in trust, recognizing diversity, and discovering your teammate's backgrounds. So I am asking the Slashdot community, what have you found to be effective in building a better team other than exercises in teamwork?"
;)
Hmmm...sounds like someone has been taking all those Dilbert cartoons seriously...
OK, jokes aside, sure you trust each other, but are you friends with one another? There is a very important distinction and I've found that friendship is far most important than trust. I don't always trust that my co-workers (and subordinates) will do things "correctly" or even their best. But for the most part they are also my friends and I feel comfortable approaching them if there is a problem or just some task to work on.
How about doing something friends might be more inclined to do rather than team building exercises? Go mountain biking, paint-balling, rock climbing or hiking together.
There are also things you can do at work. We play Frisbee, Starcraft, or just hang out at lunch. It's not only fun and relaxing, but it builds up the relationships between everyone.
The foundations of this:
It's so important for a development team to understand the general direction of what they are working on. That direction is outlined in the higher level project documentation, which comes from outside the team (with input from the architect, senior whatever, or someone else with a good idea of what is possible).
Now I know this sounds like a tirade on development processes and stuff (and I know many readers are thinking "I am not going to work like a civil servant"), the point is that a certain amount of process can bring certainty into a team. What takes certainty away is lack of communications - management overreacts to lack of visibility, with astounding detrimental effect
- - - Non Caffeine Drink or Drink Error
Actually this is tagged funny but it is largely true. Supercharged teams are the stuff of legend and the subject of intense study and invariably they are composed of individuals several cuts above the average. When you have the right team members and it gels - look out. You won't need navalgazing sessions for it to happen. For developers this could mean a massive explosion of quality code beyond what could be generated by a group 3x the size. The trick isn't necessarily in "fostering" those teams as much as identifying them when they happen. And a lot of times they come about merely by happenstance.
Firstly you are better off hiring people who bring in problem solving and critical thinking skills.
Few tips on interviewing for these skills: Have typical questions in your interview where you ask for previous experiences where they demonstrated their problem solving ability. Give them hard questions and see how they approach them and/or solve them. Pose hyporthetical situations and see their response.
Even now you can selectively hire & fire to first get a proper team with the proper mix of skills and problem solving ability. Never be afraid to right-size.
Once the team is built to your satisfaction.
Have a strong problem solver in a leadership/decision making rols, so he can take on more challenges.
On developing problem solving skills:
1. Have brainstorming sessions to solve cri6tical problems where people are encouraged to speak out and mistakes are forgiven. People get encouraged to speak out in an open forum and good ideas emerge. follow the 7 hats way.
2. Have sessions where real and imaginary problems are posed and time limit given to solve them. Evaluate the results and encourage the top performers while not discouraging others.
3. Recognize and reward good problem solvers and make your ploicy known