At the XML Web Services One Conference: Cusumano on teams
- By Jack Vaughan
|[BOSTON, MA] -- Developers seem to prefer working in small groups, and some data suggests productivity is higher in such settings. But highly complex enterprise software projects often call for very large teams. This places development management in the position of trying to get small team benefits while running large projects, a challenge discussed in a keynote speech at the XML Web Services One conference this week in Boston.|
The key balance to strike is between structure and flexibility, Michael Cusumano, Sloan Management Review Distinguished Professor, MIT, told conference attendees.
As developers well know, one way to give projects a "small" feel is to simply put limits on the project size and scope, Cusumano said. "If you can break your system into cohesive small pieces of functionality, you can have a number of sub-teams working efficiently."
Useful approaches that have developed here focus on divisible product architectures, which means modularization by feature and object. It also means feature teams, clusters and milestone sub-projects.
Successful companies have found that it helps to have different types of people on teams, rather than compartmentalized groups (such as "test" and "requirements"). People will "usually respond" to such groupings, Cusumano said. "A few rigid rules are required to force coordination and synchronization," he said. "What I've been seeing is daily integration builds." Groups need some pretty rigorous bug fixing rules as well, he noted, "so bugs don't fester."
Much like Microsoft, the company he studied in his acclaimed book "Microsoft Secrets," Cusumano sees dispersed-location work as possibly detrimental to productivity in innovative software projects. "Good communications are needed, such as assigning testers to work like buddies with developers," explained Cusumano. "I still believe in putting people on one site. You need to look at the whites of other people eyes as they work on the project."
Cusumano cited additional research from his work on "Microsoft Secrets"; a book that looked at Internet boom-era development, including Netscape Communications' efforts, entitled "Competing on Internet Time"; and research being compiled as part of his work on "The Software Business," a book due in 2004. In his own words, Cusumano's work shows some "interesting strategies at an important point in the history of software development."
"Control" is by no means an absolute good, suggested Cusumano. "Being slightly out of control can stimulate innovative thinking and creativity," he said. Attitudes toward control can change, as exemplified by Microsoft, which has walked both sides of this street.
"When Microsoft did OS/2 with IBM, they had more structure in their development," noted Cusumano. "When they competed with Netscape [in the browser business], they had less structure."
Late design changes, a big bugaboo of the highly structured era of "waterfall" development, were embraced by Microsoft in its race with Netscape. This allowed Microsoft to add a browser to its Windows 95 OS effort, well after development had begun.
"In the 1980s," said Cusumano, "a primary rule was that late design changes were bad. People said, 'Don't introduce stuff that destabilizes your system.'" However, he added, "another view might hold that late change could be good."
As well, there is always a tradeoff between architecting for the future and meeting today's commercial needs. That particular balance was harder to achieve for Netscape, the first big commercializer of Web browser software, as it grew. "Netscape started out as a leading-edge hacker organization," said Cusumano. "They were on their way to making a transition when AOL bought them."
There was a whole different design/development philosophy behind Netscape Navigator and its later ill-started brethren, Netscape Communicator. The company moved from a small team to a big team with a lot of code that they had to "figure out how to break up into modules," he said.
"It was just a pile of spaghetti," said Cusumano.
Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.