Sunday, April 20, 2008

Reflections on a Software Campus

Last August IBM, my employer, announced that it will be opening a large campus for software development in Littleton, MA. A major reason for this, we're told, is to foster collaboration; having all these people together in one place will make it easier for various groups to work together, promoting innovation, which is the second of IBM's company values:

  • Dedication to every client's success
  • Innovation that matters, for our company and for the world
  • Trust and personal responsibility in all relationships
But is this really the best way to foster innovation? And how does it mesh with IBM's successful and highly touted policy of supporting employees working at home?

Who's Moving?

IBM will be consolidating workers from offices all over the Boston area: Cambridge, Lexington, Bedford, Waltham, Westford, Westborough, and probably other places I just don't know about. These other offices will not necessarily be entirely shuttered; portions of the Cambridge and Waltham offices will remain, and Westford is more-or-less an extension of the Littleton Campus. The moves will be staggered over about a two year period, with Westborough moving first in late 2008.

In addition, there is an intent to have many employees currently working from home commute to the new campus, again with the goal of increasing interaction among employees.

Any time a company relocates its offices there are winners and losers; commuting time will decrease for some and increase for others. In this particular case, though, where several smaller offices are being consolidated into a single large campus, the effects will be unevenly distributed and fall more heavily on some groups than others. Work-at-home employees may be particularly hard hit.

Fostering Interaction: F2F and Web 2.0

I agree that enabling employees to easily collaborate is critical to IBM's continued success. This is especially true as we struggle to integrate the products - and development teams - brought into IBM in the past few years through acquistions: Lotus, Rational, Ascential, DataPower, Cognos, and others. The question in my mind is how to make this happen.

A consolidated campus, enabling face-to-face (F2F) contact is a traditional solution, and one used by many successful companies, including Microsoft, Google and, yes, IBM. Meetings are easily arranged. Informal contacts (the water cooler and cafeteria conversations) encourage team spirit and can produce unexpected and creative ideas. Getting to know coworkers makes it easier to trust them. Companies can offer services to employees that are impractical in small offices, such as a cafeteria, exercise rooms, libraries, first-class meeting rooms, etc.

But traditional offices have their downsides, too. Commuting can be time-consuming and stressful, to say nothing of expensive and energy-consuming. Cubicle workspaces (the norm for most companies, and universal for the Littleton campus) offer only limited privacy; noise from nearby cubicles can be distracting, and concern about noise can discourage collaboration.

So is a campus really the best way to encourage collaboration?

The continuing growth and evolution of the Internet has brought new tools to the table, and revitalized some old ones, that make it possible for dispersed employees to work together in new and highly effective ways.

Instant Messaging: with IM I can easily see whether or not someone is available for conversation and, if so, contact them easily for quick questions. Sophisticated IM clients, like IBM's Sametime software, provide voice-over-IP (VOIP), making it easy to convert a text chat to a voice conversation (sometimes there's nothing quite like a good old fashioned phone call to convey a lot of information quickly). Sametime also supports screen sharing and group chats, and its logging acts as a useful memory aid.

Discussion Forums: these provide a terrific alternative to email for Q&A, status reporting and other discussions. Forums eliminate some troublesome decisionmaking one always faces with email: Who should I address this to? Do I need to archive this message? Is this important enough to "bother" people with? Forums allow the reader to decide what's important and eliminate the need to archive conversations (since the forum preserves the content indefinitely). Used in conjunction with a feed reader, forums make it easy to prioritize and categorize incoming information in a way that's difficult with email.

Wikis: a wiki makes it easy to "publish" information in a way that encourages frequent revision (to keep the content current) and cross-linking (to make information easier to find). I've been using my wiki as a means of tracking what I'm working on, which, in turn, makes that information visible to my manager and coworkers.

All of these tools make it easier for teams to work together while physically dispersed. But regardless of the effectiveness of these tools, people have to work somewhere, and working from home isn't an option for everyone. Further, many people (including me) find working from home all the time to be isolating and not ideal. So if we need office space, at least some of the time, where should it be?

Clustering by Geography, Not Function

Instead of creating a single large campus for an entire region, suppose IBM provided a number of smaller offices spread throughout the region. Employees would have small, possibly non-dedicated workspace in these smaller offices, and could chose the office they make their "home" office based on geographic convenience rather than product team. Each office would have a number of small conference rooms with excellent A/V facilities linking it to other offices. This would address the isolation imposed by always working at home, and enable members of different teams to have frequent, casual interaction with other teams. If necessary, teams could agree to meet on a regular basis either virtually (via cross-office conferencing) or physically (by agreeing to meet at one specific office).

Many of the services required by software developers don't really benefit much from economy of scale beyond "workgroup" scale: Internet bandwidth, backup power, printing, heating and cooling. The exceptions are things like a cafeteria or exercise rooms; these could be addressed in part by careful siting of the small offices and modest employee subsidies for food or health club memberships.

Watch this Space

It's too late for IBM to change course regarding the establishment of the Littleton campus. But this experience should be carefully observed, and perhaps a few experiments in small, distributed offices could be tried. I think these experiments would be particularly valuable in places like Hyderabad, India, where IBM has a large and growing workforce at the India Software Lab. Commuting is shaping up as a major challenge in Hyderabad, and distributed offices with their own backup power and Internet bandwidth seem particularly appropriate.