Microsoft's Agile Dogfood Is Out
Microsoft releases internal Scrum tools to bring Agile development
to the masses.
In June, Microsoft posted to MSDN a Web-based Scrum tool that an internal development team had built for its own use with Visual Studio 2005 Team Foundation Server. Scrum is a methodology for Agile software project management, named after the rugby term "scrummage."
As Microsoft product teams blast out community technology previews (CTPs), many groups have embraced Agile development practices, in which small teams work on programming and testing code concurrently to produce working software in weeks. More than 50 Microsoft dev teams use the Web-based tool, dubbed eScrum, which enables Visual Studio Team System (VSTS) users to access Scrum artifacts from Internet Explorer (IE) 6 or IE 7, according to Microsoft.
"The benefit of Scrum in general is that it's a much closer working relationship with the end users of the product. They see the product much more quickly and the project is always in a demonstrable state," explains Jeff Levinson, senior consultant at Accentient Inc. a Boise, Idaho-based IT firm that specializes in VSTS. "It allows you to adapt to changes."
Scrum Made Easy
eScrum Version 1.0 allows team members to track Scrum artifacts such as product backlogs, sprint tasks and reports (velocity, cumulative flow, burndown), according to Microsoft. Independent team members can attach source code and unit tests, and track the code they've written against tasks that they're working on.
The tool is a combination of a VSTS template and an AJAX-based Web application. It requires a specific version of the Microsoft ASP.NET AJAX Control Toolkit, although workarounds for other versions are posted on MSDN. It also requires VSTS 2005, Windows Server 2003, several dependencies and manual configurations for Web installation. (At Microsoft, eScrum is hosted by IT.)
Other VSTS tools that offer similar functionality include Conchango Scrum for Team System developed by Scrum creator Ken Schwaber.
"Teams within Microsoft have been using Agile methodologies prior to the release of VSTS," explains Ajoy Krishnamoorthy, VSTS senior product manager, via e-mail. "With the release of VSTS, they saw a natural fit to enact the processes they were already practicing. Scrum is widely used within Microsoft, hence the broad acceptance of Conchango's Scrum for Team System and the recently released eScrum."
The roadmap for eScrum is not "published," states Krishnamoorthy, who notes that VSTS is designed to allow teams to adopt any software development processes that fit their needs.
In addition to eScrum and third-party tools, VSTS ships with the Microsoft Solution Framework 4.01, a set of software engineering processes and best practices that includes two "process instances": MSF for Agile Software Development and MSF for CMMI Process Improvement. These templates can be customized by VSTS users, but that may take some work.
eScrum addresses a need for a simpler tool, according to Levinson, a certified ScrumMaster. "Some Agilists think that the Conchango template has a bit too many work items in it and it's a little too complex, just as the Microsoft MSF for Agile development has a bit too many work items," he says. "So eScrum is what they're calling a 'lightweight Scrum.' It just takes away all of the deliverable stuff that you need to fill out except for the absolute minimum."
He adds one caution, however: "The thing about Scrum is that it doesn't capture a lot of metrics with it, so you have to look at it from the CMMI perspective and the Scrum perspective. If you want fast iterations with the least amount of overhead, then use Scrum."
Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.