Sitecore TDS is a Sitecore developer productivity tool created by Hedgehog Development (http://www.hhog.com), a company that designs and develops customized applications and Web sites, and provides technology consulting services. Sitecore TDS is used by Hedgehog Development internally and by development teams around the globe. Sitecore TDS is a Visual Studio add-in that supports 2013, 2015, 2017 and 2019 versions. Sitecore developers use Sitecore TDS to increase the productivity of the Sitecore software development process. Sitecore TDS allows you to treat your Sitecore Items as you would .Net code, allowing you to bring your Sitecore items into your development lifecycle.
Sitecore TDS gives the Sitecore development team members the ability to use source control to keep track of all Sitecore items in a project. This provides the same tracking and accountability for changes to Sitecore items as you have with .NET code. This solves the problem of having code in Visual Studio but the Sitecore items that represent this code elsewhere.
Sitecore TDS Classic allows teams to put all Sitecore items and .Net code in a Source Control Management System (SCMS), providing one master repository of Sitecore changes and .Net code changes for a project. The SCMS becomes the central integration point for teams allowing automation of deployment and additional control over releases. Team members using Sitecore TDS can work remotely or disconnected from the network and then sync and merge changes at a later date due to the shift in reliance on the SCMS and not a shared Sitecore database.
Sitecore TDS works with all known SCMS that integrate with Visual Studio including Team Foundation Server, SVN, CVS, GIT, and Perforce. Since Sitecore TDS stores Sitecore items in the file system as a project, Sitecore TDS is also compatible with version control systems such as GIT that work directly with the file system.
Having everything in a SCMS gives you one master repository for the project. The SCMS becomes the master and central integration point for all the code and Sitecore items. Even if you are a team of one, using a SCMS is the smart way to work, and provides many benefits, including:
Over the course of a project’s life, the amount of time spent performing code deployments can be significant, and thus, the time savings of Sitecore TDS can also be significant. Based on Hedgehog’s experience developing many small, medium and large Sitecore projects, we have compiled extensive statistics on the life cycle of Sitecore projects. From these statistics, we have created graphs detailing a hypothetical Sitecore project that runs for 30 weeks.
When development on a project starts, there is an immediate need to begin creating Sitecore items. As development progresses, the number of new items tends to taper off. Changes to existing items continue and eventually tapers off as well.
As more templates are added, the cost (time) to deploy the items rises. The cost of deployment is also influenced by the number of changes to the existing items. Since each environment (development, Quality Assurance (QA), User Acceptance (UAT) sometimes also called Integration, and Production) is different, the costs associated with creating a QA build doesn’t completely offset the cost of building a UAT or Production build. In addition, since each deployment is a manual process, the risk of differences being introduced between each environment rises.
Setting up an automated Sitecore TDS build at the start of a project incurs a small cost in developer time, but once the initial project and build are created, there is minimal costs associated with maintaining them. Having an automated process also resolves the issue of differences between deployments and environments.
We have found Sitecore TDS easily affords an 8%-15% decrease in costs (time) to develop a Sitecore solution regardless of the size of the project. A 10% savings over 30 weeks for a 3 person team is 9 weeks of gained productivity. If the average team member salary is $75k per year this represents approximately $13k in savings.
While developing Sitecore solutions for our clients, Hedgehog Development reviewed a number of published Sitecore development methods. We decided that none of these addressed the real problem, which was tracking and deploying Sitecore items. We decided to develop our own development methodology. Sitecore TDS is the result of that effort.
Before we developed Sitecore TDS, we realized there were many manual steps our developers needed to perform to deploy their work to a server.
These steps, while simple, became tedious and occasionally error prone.
One of the driving principals of building Sitecore TDS was to allow developers to work with their Sitecore items much the same way they work with code. Developers have been working with SCMS and automated builds for years using code. We wanted to leverage these same tools when dealing with Sitecore items.
When a developer is using Sitecore TDS, deploying their work to a server is much simpler.