Now Available: Microsoft eScrum Version 1.0

If you're looking for another Scrum template to try with Team Foundation Server, consider using eScrum, which is an implementation of Scrum that's used internally by some teams within Microsoft:

eScrum is a Web-based, end-to-end project management tool for Scrum built on the Microsoft Visual Studio Team Foundation Server platform. It provides multiple ways to interact with your Scrum project: eScrum Web-based UI, Team Explorer, and Excel or Project, via Team Foundation Office Integration. In addition, it provides a single place for all Scrum artifacts such as product backlog, sprint backlog, task management, retrospective, and reports with built-in context sensitive help.

Source: Download details: Microsoft eScrum Version 1.0

In addition, take a look at the VSTS Scrum Process Template on CodePlex, which is under the guidance of several Team System MVPs.

Update: A great summary post I suggest you read if you're interested in eScrum: A Quick eScrum Review.

Update: See The Future of eScrum


Comments (17)

  1. Jerry Ross says:

    Rob, just an FYI that the link to the VSTS process template is broken.


  2. Adi says:

    And don’t forget the original template from Conchango:

  3. Conchango says:

    As an alternative you might wish to try

  4. Rob Caron says:

    For those who have experienced any problems getting eScrum ( Now Available: Microsoft eScrum Version

  5. Ianceicys says:

    eScrum v1.0 Readme

    eScrum contains software or other content adapted from Microsoft patterns & practices Enterprise Library, © 2006 Microsoft Corporation.  All rights reserved.

    Note: This file, the end user license agreement (EULA), and other documentation can be found in the eScrum web root directory after installation.

    As an add-on for Team Foundation Server (TFS) and because it is built with multiple Microsoft technologies, eScrum has a few dependencies that it does not ship with.  There are also some post-installation steps you must follow for eScrum to work.  This document will take you through the necessary steps to get eScrum working after installation.

    External Dependencies

    eScrum uses a variety of web and back-end technologies.  You will need to install these extra components before eScrum will work.  These can be installed after eScrum installation.

    Microsoft .NET Framework v2.0

    eScrum relies on v2.0 of the .NET Framework.  If your server does not already have this version installed, it is available here: <;

    Once the .NET Framework is installed, IIS must also be configured to use this version of the Framework.  To do this, open a command shell and

    1. cd %SystemDrive%WindowsMicrosoft.NETFrameworkv2.0.50727

    2. aspnet_regiis.exe -i

    Microsoft Team Foundation Server and Microsoft Team Explorer

    eScrum uses Team Foundation Server as its back end and requires Team Explorer (the TFS client portion) to be installed on the eScrum web server machine for Work Item Tracking functionality.  The default installation assumes that the web server is on the same machine as the TFS server.

    The machine that hosts the eScrum web components will need TFS DLLs installed by either the full Team Foundation Server installation or the Team Explorer installation (the client portion of TFS).

    More information about Team Foundation Server and Team Explorer here:

    Note: eScrum v1.0 requires Visual Studio 2005.


    eScrum uses many of the controls available with the free ASP.NET AJAX extensions from Microsoft.  You will need to install both ASP.NET AJAX and the ASP.NET AJAX Control Toolkit.  

    Installation is available here:

    1. Install the ASP.NET 2.0 AJAX Extensions 1.0

    2. Download the ASP.NET AJAX Control Toolkit from the link provided at the same page (note: eScrum uses the “10301 Production” version of the Control Toolkit).  This comes packaged as a .zip file.  You will need to copy the <zip file>SampleWebSiteBinAjaxControlToolkit.dll from the zip file to the eScrumbin directory.  Please see the troubleshooting section at the end of this document if the correct version is no longer available.

    Anti Cross-Site Scripting Library

    Since a variety of form data is entered in eScrum, to safely store information containing HTML strings, the anti-XSS library is used.


    Note that this install does not place the assembly in the Global Assembly Cache.  Therefore you will have to copy the %ProgramFiles%Microsoft CorporationAnti-Cross Site Scripting Library V1.5Library.NET 2.0AntiXssLibrary.dll to <webroot>eScrumbin directory after installation.  

    Configuring the Application Pool and the Web Application

    After installation, the eScrum Virtual Directory created by the setup must be modified slightly.

    1. Open the IIS manager in the Microsoft Management Console

    2. Create an Application Pool for eScrum named eScrumAppPool

    3. Edit the Pool properties to set the identity to the Predefined “Network Service”

    4. Edit the properties for the eScrum virtual directory

    a. Home Directory

    • Execute Permissions: Scripts Only

    • Application Pool: eScrumAppPool

    b. ASP.NET

    • ASP.NET version: 2.0.50727

    c. Directory Security

    • Click the “Edit” Button in the “Authentication and Access Control” section

    • Uncheck the Anonymous access Checkbox

    • Check the Integrated Windows Authentication Checkbox

    5. Start the Application Pool and Web site.  In the IIS Manager, select the Default Web Site (or the web site you installed eScrum under) and stop it, then eScrumAppPool and stop then restart the service.  Finally, restart the Default Web Site.

    Setting up SharePoint, the Process Template, and Reporting

    See the document eScrum_TFS_Deployment.doc in the <Program Files>eScrumProcessTemplate directory for more information about setting up SharePoint services, the eScrum TFS Process Template, and eScrum Reporting.  This process will allow you to create an eScrum TFS Project.

    Ignoring the eScrum Virtual Directory Within SharePoint Services

    If you have installed eScrum and SharePoint Services on the same machine and on the same Web Application on that machine (this is the default install), you will need to exclude the eScrum virtual directory from the SharePoint configuration.  

    Create an excluded path for a virtual server

    1. On the Start menu, point to “Administrative Tools”, and then click “SharePoint Central Administration.”

    2. In the “Virtual Server Configuration” section, click “Configure virtual server settings”.

    3. On the “Virtual Server List” page, click the virtual server that you want to create the excluded paths for.

    4. In the “Virtual Server Management” section, click “Define managed paths.”

    5. In the “Add a New Path” section, type the path to the eScrum virtual directory in the “Path” box.

    6. Click “Excluded Path”, and then click OK.

    More information can be found here:

    Team Foundation Server Project Creation

    eScrum uses eScrum TFS Projects as a back end storage and management.  Once you have added the eScrum Process Template to your TFS server, you will need to create a new TFS Project using the eScrum Template:

    1. In Team Explorer, right click your server and select “New Team Project…”

    2. Name your project and use the eScrum template

    3. Add yourself and your team members are all added to the Project Contributors (or Project Administrators, depending on your preference) security group.

    a. Right-click on your new Project and select “Team Project Settings.Group Membership…”

    b. Double-click either the Administrators or Contributors group

    c. Change the “Add member” selection to “Windows User or Group”

    d. Add your members

    e. Click OK

    Adding Your Project to the eScrum Web UI

    Once you have created an eScrum TFS Project, you can add it to the web interface by editing the RegisteredGroups.xml file in the web root directory.  You can add multiple TFS servers and projects to run in a single eScrum web instance.  

    <Server Name="[MyTfsServerName]" Uri="http://[MyTfsServerName]:8080/"&gt;

    <Group Name="[MyTfsProjectName]" />

    </Server >

    Replace the options in brackets with your server and project names.

    Note: You may receive a “cannot parse URI” exception when browsing to the eScrum web site before you update this file correctly.

    Updating the TFS Work Item Tracking Cache and Log File Locations

    Depending on your server configuration, you may need or want to change the locations of TFS Work Item Tracking cache and the eScrum log location.  The default locations are on the c: drive.  

    Open the web.config file in the eScrum web root and change the following lines:

    • <add key="WorkItemTrackingCacheRoot" value="c:WindowsTempeScrumCache" />

    • <add fileName="c:windowstempeScrum_trace.log"

    The setup will create the <Windows>TempeScrumCache directory.  You use this directory or create your own and.  Either way, verify that the directory exists and is set properly in the web.config.

    Give all eScrum users to the modify, read, and write permissions to following directories. (Note: when using a trusted subsystem instead of impersonation, only the service account needs these permissions):

    • %SystemDrive%WindowsTemp

    • %SystemDrive%WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files

    • %SystemDrive%WindowsTempeScrumCache (or your eScrumCache location)

    Setting up eScrum on a Separate Web Server

    eScrum can be deployed either on the same machine as your Team Foundation Server machine or on a separate web server.  Since it is the default install, if you have installed the eScrum web components on the same machine as your TFS server, no further steps are necessary past what is described in the eScrum_readme.rtf file in the web root directory.  

    If you have installed eScrum on a different sever than your TFS server, you can choose one of two security models to run eScrum:  Impersonation with Constrained Delegation (similar to the same-machine install) or Trusted Subsystem.

    Impersonation with Constrained Delegation

    Due to security restrictions between servers, the TFS server and web server must be set up with a Constrained Delegation relationship.  Please see this article for more information on Constrained Delegation.  Once this relationship is set up, no further changes to the eScrum configuration will be necessary

    Trusted Subsystem

    If you cannot set up a Constrained Delegation relationship between your two servers, you will need to use the Trusted Subsystem security model.  In this model, instead of impersonating each user, eScrum uses a single non-user account to interact with TFS on behalf of all users.  This non-user account needs administration access to your eScrum TFS Project, however the eScrum security layer will ensure that users with lower permissions to the project are not allowed to access the functions they should not.

    To set up the Trusted Subsystem, you need to make the following changes to the eScrum installation:

    1. Edit the Web.config file in the web root to remove the <identity impersonate="true"/> line.

    2. Create a non-user account named eScrumUser in your domain

    3. Give eScrumUser Administrator permission to your eScrum TFS project

    a. In Team Explorer, right click your Project and select “Team Project Settings.Group Membership…”

    b. Select the Administrator group and add the Windows eScrumUser to the Administrators list.

    4. Change the eScrumAppPool to run under the eScrumUser instead of the Predefined “Network Service”

    5. Ensure all of your team members are added to the eScrum TFS project’s Contributors security group.

    Finally, you will need to add the eScrumUser account to your machine’s local "IIS_WPG" security group and then in Local Security Settings (start->run->secpol.msc, Local Policies->User Rights Assignment), add IIS_WPG to "Impersonate a client after authentication" policy.

    Troubleshooting Installation Issues

    Due to differences in server configurations and security policies, there may be some issues getting eScrum working easily.  Here are a list of things to check if eScrum does not work properly after following the above steps.

    Cannot pass a GCHandle across AppDomains error

    If you get the error “Cannot pass a GCHandle across AppDomains,” then try the following:

    • Restart the eScrumAppPool (or from the command line run “IISReset”)

    Firewall Settings

    Ensure Windows Firewall is not blocking Port 80. If it is blocking, then add the following to firewall exceptions:

    Start -> Control Panel ->Windows Firewall -> Exceptions

    Add Port … -> Name = "Web Server (TCP 80)", Port Number = 80, TCP


    Depending on your security policies and Kerberos settings, you may need to restrict this site to only use NTLM:

    a. Find the IIS AdminScripts folder. It is usually in <Drive>InetpubAdminScripts folder or <Drive>AdminScripts.

    b. Open Command prompt and change directory to the above folder.

    c. Run the following commands:

    i. cscript adsutil.vbs set w3svc/<Website>/Root/NTAuthenticationProviders "NTLM"

    ii. Eg: cscript adsutil.vbs set w3svc/2054090603/root/NTAuthenticationProviders "NTLM"

    iii. <Website> is derived as follows: View "Default Web Site" (or web site you installed the eScrum virtual directory under) properties in IIS, Click Properties in Active Log Format, String following W3SVC in "Log file name".  

    Note: this will change the authentication model of the entire site, not just the eScrum virtual directory.

    iv. Run "iisreset" after the above operation

    ASP.NET AJAX Control Toolkit Version Conflicts

    Since the release site of the AJAX Control Toolkit does not allow download of previous versions and eScrum is compiled with a specific version, you may need to update the web.config file to allow automatic usage of a newer version of the AJAX Control Toolkit.  eScrum has not been tested with newer versions, but may work well.

    Add following XML to the eScrum web.conifg file after the </configSections> close tag.  Afterward, update the newVersion attribute to the version of the control toolkit that you are using.


    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">


    <assemblyIdentity name="AjaxControlToolkit"



    <bindingRedirect oldVersion="1.0.10301.0" newVersion="1.0.xxxxx.0"/>




  6. Summary Motley: We don&#39;t need the daily meeting. Very few people got any value out of them, and attendance

  7. GrabBag says:

    This post was originally published here . There have been some rumblings around that some in my company

  8. Harpreet S Juneja says:

    Sorry, no results found for: escrum

    Some search tips

    • Make sure all words are spelled correctly.

    • Try different keywords.

    •Search the web with Bing.

Skip to main content