NET developers who want to adopt more agile development methodologies, while still towing the line with their project management offices, may soon begin to tap into templates available with Visual Studio 2005 Team System.
Among options available are Microsoft Solutions Framework (MSF) for Agile Software Development, which ships with Visual Studio 2005 Team System, and Scrum for Team System from U.K.-based Conchango. The Conchango software is a plug-in and available as a free download.
Among a host of other Scrum products available today are tools from Rally, VersionOne, TargetProcess and others.
Influenced by the tenets of Extreme Programming, or XP, MSF for Agile is a hybrid process that is context-based, and includes practices Microsoft itself uses to build software. The template is intended as a starting point, according to Steve Elston, product unit manager.
"The reality is most organizations want to customize their development process almost immediately," Elston said. MSF for Agile comprises "accepted industry practices around agile and iterative development, combined with what Microsoft has had for a long time, with the Microsoft Solutions Framework." It's a mechanism to "get more agile, yet still collect data the project management office needs from above."
It fits the pattern Elston said is emerging at large enterprises—development teams at the grass roots level adopting agile practices, while the project management office remains responsible for broad oversight.
"More CIOs are interested in hearing about agile," said Clementino Mendonca, Microsoft Project Planner. "Three or four years ago [they thought] it was scary—[agile] equaled lack of discipline and documentation. MSF Agile, like XP and other agile methodologies, is very disciplined. You use the results you have in the best way possible; you avoid doing stuff that's not necessary. [And] it makes it easier for higher-ups to get the reporting information they need, while giving freedom to the team to self-organize."
The need to capture project data information has been one barrier for companies trying to adopt agile methodologies, Mendonca said. With MSF for Agile and Visual Studio Team System, "data capture is not something you have to think about, but it's done under covers by the tool."
In addition to the agile template, Visual Studio Team System also includes MSF for CMMI Process Improvement for organizations that prefer a more formal process. Both processes are customizable, and Visual Studio Team System provides a methodology template to enact the processes. This methodology template contains work items, security settings, process guidance, process reports, source check-in policies, Microsoft Project templates, document templates, and a project portal/Windows SharePoint Services site template configured to support the MSF processes, according to the company.
Visual Studio developers who prefer the Scrum methodology can download Scrum for Team System from Conchango, which was developed in collaboration with Scrum co-creator Ken Schwaber and the Microsoft Technology Centre in the U.K.
Conchango started to conceive Scrum for Team System when Microsoft was building Visual Studio 2005 Team Foundation Server. "The idea is people make their own methodology and stick it in, which I thought was a great idea. Now you can use Scrum out of the box," said Colin Bird, chief technology officer at Conchango.
Conchango recently released version 1.2, and Bird said there have been more than 4,000 downloads. He said the company will likely look to roll out a commercial enterprise version.
pr> "We're not a product company, but we thought it was a good idea to build it anyway and consume it internally; the Scrum world is very collaborative so we thought we'd do our bit for it. But we are looking at where agile is going, and it's getting bigger and being used on far bigger projects, so I suspect we will come out with enterprise version as a costed option."
Microsoft, too, plans added features for both the agile and CMMI templates going forward, Elston said. "We're very aware there are a number of features to support agile, like continuous integration, which is a key agile practice, and we know we don't have great support for that." The next generation of the template should provide that, he said. Other agile practices under consideration for future support are test-driven development, refactoring and iteration planning, he said.
As agile practices such as these have become more accepted, agile practitioners are no longer considered to be "renegades," said Bird. "I've seen it change dramatically over three and a half years. When we started we were definitely renegades," he said. "Most companies said, 'It wouldn't work here.' Over the last few years most people are getting their minds around agile. There's a certain cynicism you encounter, but most organizations need to improve the way they develop software. There's also the [move to be] agile as an organization."