In Microsoft Dynamics CRM, there is a great tool that is extremely powerful and highly underutilized – Microsoft’s Team Foundation Server (TFS).  Traditionally this software is used by software development companies as an Application Lifecycle Management (ALM) tool but it also has some great project management features that go very well with an agile CRM implementation project.

We are going to walk through some of the features that the Team Foundation Server offers, as well as some best practices in making the most of your TFS experience.

Setup:

It is important to get started on the right foot, and in order to do this, you need to setup TFS properly and appropriately to begin managing your project.  For starters, you want to get all of your resources and sprints built out according to your project plan.  This will later allow you to assign work items to users and time periods for scheduling purposes.  Also you want to make sure you are entering the capacity for all resources on your project as this will allow you to track the amount of labor hours you are working within each sprint.

Another important part of setup that not many people know about is the customization aspects of Team Foundation Server.  Much like Dynamics CRM, it can be configured with unique fields and option sets that work best for your project.  Whether it is renaming different priority levels, creating a new field for tracking purposes, or even setting up some default queries that can be used by your team – all of these things greatly increase your effectiveness and experience in using TFS.

Backlog:

The backlog is arguable the most important thing to manage in an agile project.  The backlog is essentially the entire list of all work that needs to be done….which of course changes quite a bit over the lifetime of a project.  TFS has a great way of managing the backlog by allowing you to assign work items to it, whether they be user stories, tasks, defects, etc. – and then building queries and reports off of it.  You can break out the backlog into individual sprints to see what is happening in a given time period or view this as a whole to get the entire scope.

Work Items:

As you begin to enter work items into the system, out of the box there are a lot of fields that are leveraged to help you better manage your project.  These can be things like priority, effort estimation, estimated and actual work hours, iteration and many more.  By using these fields within your work items, it will allow you to gain an understanding of the progress of your project, as well as areas of improvement.  When reporting on your velocity as a team, it enables you to adjust your sprint backlogs accordingly.  Also by reviewing your work estimates vs. your actual hours you can understand how well you are estimating on a team level, or even on an individual resource basis.

Another functionality Team Foundation Server offers is the ability to upload attachments to your work items.  These prove to be extremely valuable as quite often an assigned task will require additional documentation; screenshots, blueprints, business process diagrams, etc.  All of this collateral can be managed within the system thereby creating a central repository for project documents that is organized according to the project work.

Source Control:

Now here is a very powerful component of TFS.  When you have customizations to your Dynamics CRM solution by way of Plugin, Javascript, SSRS Reports, etc., all of this can be managed with a high level of detail with Team Foundation Server’s source and version control module.  This allows code to be stored in TFS in a way that allows users to check in and check out their work, preventing people from working on the same items at the same time.  Also it allows for rollback when changes were made mistakenly or incorrectly.  The system provides a detailed history including comments, dates, times and users for every individual file in Source Control so you can always go back and look at anything that was done, when and by whom.

To take it to yet an even higher level of detail – the Source Control module is connected to the work item and backlog queues.  This allows a user to link a specific piece of code or report file to a specific work item they are working on.  For example:  if a user is tasked with building a custom report in SSRS, they can actually link the specific RDL file in Source Control with the individual task for building the report.  What this does is it allows anyone to see in the history of that individual task what was actually physically done to the code or custom files in order to complete the task.  Also vice versa – when you want to investigate why a code change was made, you can track back to the work items associated with it to see why it was done and give context to the changes.  This link between the work items and source control is incredibly powerful for accountability and responsibility in project and code management.

Access:

Team Foundation Server has many ways of being accessed, which makes it quite versatile.  For starters, there are different levels of users in the system – which is especially good when you are providing client access to the environment.  You can limit the abilities any given user has on an overall basis, or even down to an individual project basis.  Also, users can access the system straight through the web using the designated URL or they can connect their Visual Studio development software to TFS in a way that allows you full access right within the application itself.  This is great as it allows you to be flexible in your licensing and does not force the user to use tools that are beyond their scope or role.

As you can see there are some tremendous benefits from leveraging Microsoft’s Team Foundation Server for Dynamics CRM consulting projects.  It’s interoperability, flexibility and streamlined efficiencies allow you full control and insight over your projects without killing your wallet either. If you are interested in learning more using agile approach to your Dynamics CRM projects, check out our blog, Using an Agile Hybrid approach to the implementation of Microsoft Dynamics CRM. If you’d like to learn more about how RSM can help with your Dynamics CRM projects, email our professionals at [email protected]

By: Chris Witham – New York Microsoft Dynamics CRM partner