When Microsoft launched its long-awaited database and tools products last week, the company acknowledged it would have to act faster to revise its products faster as customer needs grow.
One way Microsofts development teams intend to deliver on this is through the use of agile development methodologies, such as extreme programming and Scrum, company officials said.
Scrum is an agile method for management of software development projects.
David Treadwell, corporate vice president of the .Net Developer Platform group at Microsoft, said that while Microsoft welcomes the use of methodologies like Scrum, "were not mandating them, but were encouraging them. So Scrum is one process—the idea that teams meet once a day for half an hour, figure out what theyre going to do then go off and do their work very quickly.
"The other is extreme programming—the concept where you might have two people working on a given piece of code and the idea is that two minds are better than one. Because you can find problems faster."
Treadwell said many teams within Microsoft rely on Scrum as a way to turn out quality software on time and in tune with user requirements.
Yet, "one thing we find is that you cant excessively mandate software development processes on a broad scale," Treadwell said.
"Its most important to mandate levels of quality. You have to give teams some flexibility to achieve those results as is most effective for those teams."
Indeed, "There are a lot of things going on," at Microsoft on this task, Treadwell said. "We have realized inside Microsoft over the years that software practices we used in the mid-90s dont scale to the size of problems that were tackling today.
"And we made some assumptions around the turn of the century that those processes would scale up and result in certain time frames that we would be able to ship software.
"And what happened is as the projects got larger and larger, we introduced too many complex interdependencies on early software, more so than we could really digest throughout the system," said Treadwell.
"And that was super-challenging for us, given the scale of these projects. But now were being much more precise about where we take those interdependencies."
Robert Galen, principal consultant at RGalen Consulting Group LLC, Cary, NC, said Scrum "comes from the rugby notion of the scrum, which is to have the entire team get together and huddle, and then break and do their individual tasks."
Galen said a typical scrum team is made up of between five to 10 people, although there could be more. The team then works in Scrum "sprints" of about 30 days to complete a particular task or set of tasks for a particular milestone.
The team meets daily for 15-minute standup meetings and then they go off to work on their portions of the project. And although there is a "scrum master" or project manager-like position on the team, "self-organization is key to scrum," Galen said.
Scrum efforts do not work well with "a General Patton, but more of a Bill Belichick," Galen said, speaking of the New England Patriots head coach who is known for fostering teamwork.
Meanwhile, at the Software Test & Performance conference earlier this month in New York, Galen said he has used the Scrum process not only for developing applications, but also to test them for quality assurance sign-off.
Eric Koetsch, a software test engineer at Bose Corp., Framingham, Mass., said Bose is using Scrum in a development project he is involved in.
"I can definitely see how Scrum could be useful in a test environment," Koetsch said. "Scrum helps add to the level of quality in the software youre developing. You have to really buy into the process, but once you see success in some of the early sprints everybody seems to follow on and take advantage of the opportunity to build better code."
Microsoft launched Visual Studio 2005, SQL Server 2005 and BizTalk 2006 last week in San Francisco and for SQL Server it was the first really major release of the product in five years.
Steve Ballmer, chief executive of Microsoft acknowledged during his keynote address at the Microsoft launch event that the company needed to get more agile and to produce software faster, to the tune of delivering technology every 18 to 24 months.
"Its been a little bit long in the making," Ballmer said of the technology releases last week during his keynote.
Asked in an interview following his keynote how long the revision cycle for these products would be, Ballmer told eWEEK: "Its short. I mean whether that winds up being more like one year or more like two years, well have these products turning much more rapidly … Were definitely committed to a much closer cycle time. Not just for the next release, but from here on out."
For its part, Ballmer said Microsoft will continue to work to build software better, faster.
"I think we have to decide that we want to turn the releases faster, and we can," Ballmer said.
"What we did here [with SQL Server 2005 and Visual Studio 2005] is we said were not going to deliver our next release until weve got a whole big bunch of stuff done, including the integration of the .Net runtime into SQL Server, which was a huge piece of work for both of those two teams. So you tie them both up."