Jack be nimble, Jack be quick

Microsoft tries to be a more agile software developer.


Microsoft's development teams "truly are listening and really take into account what is said," said Michael Ruminer, an agile development consultant in Boston and a Microsoft Most Valuable Professional with a focus on its Visual Studio Team System software.

Agile development can't simply be mandated from above, Ruminer said. But he added that when he talks to developers at Microsoft, he gets the sense that their managers are taking real action by removing obstacles to agility and needless process requirements. And he said the company has made significant improvements to the Visual Studio testing suite after outside developers complained about it – a step he saw as evidence of increased responsiveness.

He did note, though, that there is "a lot of discussion about whether Microsoft is actually pushing out CTPs too quickly." That leaves some users and third-party developers feeling overwhelmed, and pressured to try all of the releases, Ruminer said. But to him, the upsides outweigh the potential negatives. "No one is forcing you to install the CTPs," he said.

The way things were

Microsoft hasn't always been so responsive. For most of its history, the company adhered strictly to a development philosophy called Zero Defect, according to DeMichillie. Although that approach didn't explicitly forbid the company's development teams from using agile techniques, it demanded that they fix bugs before writing any new code, on the theory that fixing something right away would cost less in both time and money than addressing it later in the development process would.

Nor did Microsoft actively seek out advice from users. "Until about three or four years ago," Somasegar said. "Our philosophy for the most part was, 'I know what I'm building is right for you. So as soon as I have something I think is ready, let me give it to you. And then I'll wait for your validation that I've done the right thing.'"

"And the feedback that we wanted was, 'Here are some bugs,'" added Bill Laing, general manager of Microsoft's Windows Server division. "It wouldn't change the product."

In addition to adopting the CTP process, the Visual Studio and SQL Server teams have done away with siloed teams of developers, testers and customer support workers wherever possible.

Both adopted what Kummert described as a "feature crew" model, with smaller teams made up of five to 12 employees – typically, a program manager along with a few developers and testers. "That way, a group can really own a particular feature," he said.

Somasegar said that using a feature-crew approach, he was able to fast-track the development of some Visual Studio 2008 features related to building Office 2007 applications so they could be released in a service pack update for Visual Studio 2005 at the same time that the new desktop suite was released early last year.

"Recommended For You"

Microsoft prepares feast of products for developers Microsoft readies service packs for dev tools