Winter '06-'07 Perspective: Teams Don't Move—by Steve McMenamin |
|
Home |
Mergers and acquisitions create strange collections of software development teams. It is no longer uncommon for a company to have developers in half a dozen (or more) locations on two (or more) continents. Sooner or later, the complexities and frustrations of globally distributed development cause managers to fantasize about having all their developers in one place. These fantasies sometimes grow into plans to move teams from one or more distant sites to a single location, or at least to consolidate into fewer locations. The problem with such plans is that teams don't move. When used in this sense, "moving a team" is a self-deluding euphemism for destroying one team and building a new team in another location to take on the work of the destroyed team.
Let's take a closer look at how companies get into this situation in the first place. It usually begins with a merger or acquisition. A European software company acquires a smaller U.S. firm to gain access to its technology and its talent pool. Or, two banks merge to combine their operations and expertise, bringing with them their separate application development organizations. In either case, you now have a distributed software development organization. Some companies take a very hard line after such a merger or acquisition: All operations of a particular kind (like software development) are immediately consolidated into one site. Employees located at the other site may get the opportunity to relocate to the chosen location, or they my simply be laid off. But in many cases companies find compelling reasons to retain teams in multiple locations. The situation becomes even more complex if the company is a "serial acquirer." One acquisition is followed by others, and before too long managers are struggling to synchronize the efforts of up to a dozen development sites. This is, of course, possible, but it is not easy. Over time, a good deal of management bandwidth becomes devoted to the peculiarities of globally distributed development (e.g., coordinating meetings across time zones, increased travel for face-to-face meetings, integrating and testing code developed in separate labs, etc.). As the inconvenience and expense of managing distributed development grows with the number of sites, managers often long for co-location. Consolidating teams into a single site can become appealing for several reasons:
Regardless of the specific attraction, site consolidation and co-location can become powerfully appealing to managers who are tired of paying the high tax on distributed development. When companies decide to move a team from one location to another, they typically offer the members an incentive to relocate to the new site. The nature and magnitude of the incentives vary widely. In some cases, the offer is nothing more than "If you want to keep your job, you need to move to Denver." In other cases, companies offer substantial financial bonuses to team members who agree to move, in addition to paying the employees' relocation expenses. Regardless of the incentives offered, attempts to move teams from one site to another rarely succeed. Some employees do agree to relocate, but typically not enough to provide "critical mass" for the team. It is pretty easy to understand why most team members decline to relocate:
Once it becomes clear that only 10-25% of the team has agreed to relocate to the new site, managers are forced to begin building a new team, nearly from scratch. If the team is supposed to include 30 people, and only six have agreed to move, you now face the prospect of hiring (or reassigning) two dozen engineers to reconstitute the team in the new location. What once seemed like an attractive alternative to distributed development now has become a major re-staffing exercise that is bound to take months to complete. During the months of rebuilding, the new team will have limited development capacity as it deals simultaneously with both the learning curve and the hiring curve. So what is a software development manager to do? I have no magic solution to this genuine dilemma. I advocate facing the choices in front of you realistically from the start:
Distributed development is difficult and expensive, but it provides rapid access to worldwide software engineering talent. Co-located development is efficient and agile, but it limits your growth to what you can achieve in your local labor market. Either can be right for your organization, provided you see the options for what they really are. — Steve McMenamin, Los Angeles, new year's day 2007
|
home | about | articles | books | consulting | litigation support | resources | physical exam | clinics | template | seminars | services