By Lauren Keller Johnson
Lauren Keller Johnson is a freelance writer living in Harvard, MA
Leading a software engineering team? If so, you know you’re responsible for ensuring that team members write great code. But that’s just part of the picture. You’re also in charge of managing how they collaborate to achieve the project’s goals. And that’s no secondary objective. Interactions among team members matter just as much as code quality to a project’s success, write Ben Collins-Sussman and Brian Fitzpatrick in their book Team Geek.
Yet many people new to management roles ignore this side of software project work, and few software engineering curricula teach students how to communicate and collaborate in a team or company. How to help your team members interact effectively so the team can reach its goal of shipping great software? Begin by building the right team culture.
A software team’s culture stems from both how members write code and what experiences, values, and goals they share. The culture gets expressed in manifold ways: how people treat each other, let off steam, collaborate, and communicate.
A “strong” team culture is characterized by honesty, respect, and trust—what the authors call HRT. It’s open to change that improves it, and resistant to change that harms it. And it focuses everyone on working toward the project’s objectives.
If managers neglect to build a strong culture, say Collins-Sussman and Fitzpatrick, their teams could eventually be overtaken by a member who cultivates his or her own culture. That culture could turn out just fine. Or, it could be damaging — focused on aggression and one-upmanship, say, rather than HRT. In that case, the energy that everyone on the team should be spending on designing and writing code will get wasted on arguing and infighting instead.
The way people communicate is a particularly obvious expression of a team’s culture—as well as a powerful influence on it. So setting up effective communication norms in your team will pay big dividends. Here are some suggestions:
Craft a great mission statement
Have your team write a concise, clear project mission statement. This takes time and effort. But the process helps team members define the project’s direction and scope and it directly informs the team’s culture by establishing what’s important. Here’s an example:
Our mission is to radically improve the web experience for users by enabling developers to use existing Java tools to build no-compromise AJAX for any modern browser.
A good mission statement can save your team literally years of work, because it clarifies what the team should—and shouldn’t—be working on. Without the statement, you might discover—way down the road—that your lead engineers never agreed on the project’s real purpose, which could trigger disaster. The statement also helps the team keep the work on track as the project progresses.
Excel at meeting management
Project meetings are often abused, disorganized, and too long. To get the most from your team meetings, try these simple but potent tips, which themselves say a great deal about the type of culture you are trying to maintain:
- Invite only people who must be there.
- Distribute the agenda at least a day before the meeting so attendees know what to expect.
- End meetings early if the goals have been accomplished.
- Keep meetings on track—by gently cutting off someone who veers off topic.
- Schedule meetings near other “interrupt points” in the day, like lunch and the very end of the day.
Engage distributed-team members
If you lead a geographically dispersed team, you’ll need to put even more work into ensuring effective communication. That means documenting and sharing (typically through email) all decisions arising during online chats, instant messaging sessions, and hallway conversations. That way, everyone on the team can see how decisions were arrived at. And they can speak up if they want to.
But don’t forget that face-to-face communication is also critical for building trust and a sense of community. So make time to get out there and talk with team members in person.
Want to know more?
Mission statements, meetings, and management of dispersed teams are just a few elements in team communication and culture. To discover additional tips for fostering a great culture in your team, see Chapter 2. Building an Awesome Team Culture in Ben Collins-Sussman and Brian Fitzpatrick’s book Team Geek.