Sunday, April 14, 2013

Remote Pair Programming
by Ron Lichty

I've been enamored of remote pair programming since briefly leading development at Socialtext, where no three developers were in the same locale. Socialtext was committed to agile approaches including pair programming (but not including colocation, I might note!). Being distributed, remote pairing was the way forward.

Pair programming is controversial in being possibly the most difficult agile engineering practice to inculcate into development teams - we've heard of programmers quitting companies rather than signing on. But there's also plenty of evidence that it's well worth doing: Mike Cohn, in Succeeding with Agile, says, "if you're in a hurry this is the time you need pair programming the most… Although most studies show a slight increase in the total number of person-hours used when pairing, this is offset by a decrease in the total duration of the effort. That is, while pairing takes more person-hours, fewer hours pass on the clock…. Pair programming has also been shown to improve quality…. Additionally, pair programming facilitates knowledge transfer and is an ideal way to bring new developers up to speed on the application. It is also an effective practice for working in uncharted territory or solving difficult problems in known parts of the system."

photo: pair programming
In our book, Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams, we note a less obvious advantage of the technique. We share David Vydra's interviewing rule of thumb, which states, "Pair programming for half an hour during an interview will save everyone's time."

Of remote pair programming, we also share the pleasure I saw programmers at Socialtext experience transitioning from physical to virtual pairing. (pp. 133-4)

While proximal pairs typically share a single screen and often a single keyboard and single monitor, virtual pairs each sit square to their own monitor, keyboard and mouse, sharing a virtual single screen. For screen sharing, developers at Socialtext typically used a version of VNC (e.g., Chicken or RealVNC).

As a co-chair of the Emerging Technology SIG of SVForum, I've recently been looking at collaboration tools of various kinds, led there in part by the amazing advances in sharing Web research that Vivek Agarwal at Surfmark is doing. That led me to consider that screen sharing in general might have taken a leap forward.

I didn't find anything startling, when I went looking for an update on remote pairing tools, but David Vydra, who seems to know and have worked with all the cool kids, pointed me to a wonderful resource, Joe Moore's blog, which is focused on remote pairing tools. Not surprisingly, Joe is part of Rob Mee's Pivotal Labs, known for its XP engineer practices.

The blog covers a lot of great stuff, including updates on tmux, Google Hangouts and MadEye, SublimeText 2, solving Skype challenges, and more. In his two-years-ago assessment of remote pairing technology, Moore concluded, "using Apple’s built in Screen Sharing.app (aka SSA) combined with Skype has proved to be the best remote paring technology combination."

For those who are distributed - or just working from home - remote pairing is alive and well.

Saturday, April 06, 2013

Keep Your Culture Positive!
by Ron Lichty

Which is more effective to improve team performance: positive feedback or constructive criticism? a positive culture or a negative one?

The answer: both.

The real question: in what proportion?

The answer to the proportion question, from new research by Michigan doctoral student Emily Heaphy and team productivity consultant Marcial Losada:

The ratio of positive-to-negative statements is directly correlated to "strikingly different results for each performance category" of teams:
* The highest-performing teams expressed 6 positive comments for every negative one
* Medium-performing teams expressed 2 positive comments for each negative one
* Low-performing teams swung the other way, expressing almost 3 negative comments for every positive one

"…in order to predict team performance, one only has to know the ratio of positive to negative interactions…", Heaphy and Losada concluded.

Jack Zenger and Joseph Folkman gave it a giving-feedback spin in their Harvard Business Review blog post, but nonetheless correctly summarized:

"The factor that made the greatest difference between the most and least successful teams: the ratio of positive to negative comments that participants made to one another."

Heaphy and Losada were studying leadership teams - 60 of them - and not development teams, but given they're measuring the nature of human satisfaction and response, development teams can't be far off.

They were measuring approving versus disapproving statements (not just feedback) - expressions of support, encouragement or appreciation (e.g., “that’s a good idea”), versus sarcasm, cynicism, or disapproval (e.g., “that’s about the dumbest thing I ever heard”).

Their finding may apply to feedback but the overall truth is about culture.

photo: working together positively and productively
"Qualitative observations of the teams showed that high performance teams were characterized by an atmosphere of buoyancy that lasted during the whole meeting. By showing appreciation and encouragement to other members of the team, they created emotional spaces that were expansive and opened possibilities for action and creativity as shown in their strategic mission statements. In stark contrast, low performance teams operated in very restrictive emotional spaces created by lack of mutual support and enthusiasm, often in an atmosphere charged with distrust and cynicism."

Heaphy and Losada noted validation of prior research by other teams that showed positivity opens opportunities for action while negativity closes them down. (Interestingly, they also noted prior research into married couplehood that correlated remarkably similar ratios of positive-to-negative comments to stable marriages (a 5-1 ratio) and negative ratios to divorce. "Gottman’s research on married couples has shown that the best predictor of stable marriages is the ratio of positive to negative interactions…. Where his “performance” variable was the sustainability and quality of a marital relationship, we found that this same ratio of positive to negative interactions is the critical differentiator between high-, medium-, and low-performing teams.")

Negative comments must clearly be part of the mix. Pollyannaism - positivity alone - is no answer. It's just that most of us don't want to work in a culture that swings negative. What we all need to note is that the swing negative starts from a 6-to-1 positive-to-negative ratio!

Throughout our book, Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams, we devote pages and pages to the value of praise, recognition and having fun with your teams - all key components to building a culture of positivity. "Say 'thank you' at least ten times every week," we counsel. "Never pass up an opportunity."

We just didn't have the researchers to measure it - proof positive.

Heaphy's and Losada's conclusion: "We need to have organizations with teams where the abundance of positivity, grounded in constructive negative feedback, can generate the state of realistic enthusiasm that can propel organizations to reach and uphold the heights of excellence."