5.13.2011

Challenges in Fostering High Performance Software Teams

Great teams, to quote legendary hockey coach Herb Brooks[1], are comprised of the “right” players, not necessarily the “best” players. The essence of “right”, in this case, is the capability for people to perform well with others -- as a team, a unit, or an ensemble.

Acquiring the “right” developers, and then managing them as a team is fraught with challenges. Experience and observation, again and again, have revealed these underlying challenges:

  • Recruiting a team from amidst a hotbed of celebrities and soloists
  • Engaging with developers as the communicative humans they are
  • Speaking truth: saying that “when we’ll be done” is unknowable for new product development
  • Working as a team is hard; it demands character, talent, and commitment
  • Raising developer’s individual sense of professionalism and excellence
  • Inducing a positive milieu exceeds the apperception of many technical managers
The manager must draw the “right” people together; this luxury doesn’t manifest quickly. In many workplaces staffs and work groups are just assigned. So this challenge comes to include mentoring people on how to act -- i.e., perform -- as team players. For the time being, think of people in a choir, symphony or soccer-team, etc.  That is, they are performers. This requires guiding developers in ways of working together that foster outstanding performance.

The adept manager needs to have a mental model of how teamwork is performed. That is, the acts of the performers. This is wholly distinct from “what tasks need to be done”. Teamwork is induced by the manager, sustained by the group. The manager needs to maintain a public agenda of teamwork, and then communicate it clearly and frequently. It’s up to the manager to create this expectation.

Walter Wriston, while leading Citicorp, insightfully said about capital: “it goes where it’s wanted and stays where it’s well treated.” The same can be said about talent, and that means software developers. Recruiting the “right” people, and mentoring them to work together in a “right” manner to get things done is at the forefront of the manager’s responsibilities. And people tend to be set in their ways, with their own ambitions and resolve. It is attentive work. It’s hard to do well.

The Primary Challenge: Recruiting a team from amidst a hotbed of celebrities and soloists.

The primary challenge to achieving outstanding team performance is recruiting team players. This means drawing in people who in their essence prefer the rewards of teamwork more than a spotlight on themselves. For these people, team contribution trumps personal ambition. These are people who seek to participate, as the saying goes, in something that is “larger than themselves.” This challenge arises because the software development workplace is often a welcoming haven for wizards of the arcane and celebrities of crises -- two types of heroes who are inimical to teamwork. Of course, this is not surprising as many companies lucratively reward “stars”.

Building a team of the “right” players is where it all starts. Outstanding team performance expects personal excellence ahead of individual cleverness. It means that everybody must adjust their own individual pace in a manner such that the team, and consequently the project at hand, can step up its pulse. This approach blooms with ramifications -- it means not always putting the “best person for the job” on the job, for example, if the work is being managed to broaden the skills of other team members. It might mean that everyone on the team may be expected to use the same tools, instead of personal favorites. It all depends on the circumstances.

Perhaps this “religious war” is unknown away from the software development workplace milieu: emacs vs. vi. Each provides a specialized editor for authoring code. A third one is Eclipse (mainly for Java). Developers’ passions boil over regarding which editor to use. Their preference typically points to the editor most familiar to them personally. For the team’s sake, though, it may be better that only one editor is in use such that anyone can offer quick help to another and be working in a common environment. This is a deeply personal act; team players will be disappointed but not become argumentative. Solo artists will wail and whine endlessly. A manager can learn much about the personnel by raising the topic of “only one editor” at a staff meeting. Pay careful attention to who says what and keep a sharp eye for changes in body language and fidgeting. Make mental note of those who complain the most.

An outstanding term achieves success via well-rehearsed, collective finesse, not from the individual actions of a cast of stars. With a team, even when stars do fall or are just away for a day, success remains at hand. In teams, people work together towards a common goal. Here, they happily fly in formation. Finding people who are like this, the ones who excel personally and work well with others, is the fundamental challenge to achieving outstanding team performance. Recruit the right players, not the best players. Coach people to perform together, as a unit, as an ensemble

Playing well together trumps all; progress never stalls. Returns continue to accrue.
________________
[1] As immortalized in the classic show Miracle on Ice chronicling the 1980 USA Men’s Olympic Hockey team and their spectacular win, Herb Brooks, the coach, when putting the team together said: “I’m not looking for the best players; I’m looking for the right players." The rest, as they say, is history.