For example, there are big opportunities thanks to Azure Websites. Cogan said, “When using VSO and Azure Websites, you can get continuous deployment into action within hours. In one case we got a client down from four days to minutes.”
These are huge gains that mean more time is spent on producing great products and user experiences. It also shows that there are plenty of advantages to both of these practices and they are well-established in TFS, but there is still plenty of room for products to fill the spaces. Cogan said, “We use Octopus Deploy to simplify and automate our continuous deployment.” He justifies it by saying, “TFS Build is great, but you still need to deploy. Microsoft does have Release Manager but we typically use OctopusDeploy, which has a beautiful GUI and reduces the branching you need to do.”
One of the major challenges is replicating the production environment and avoiding the dreaded “works on my machine” response from developers when asked to confront a hard-to-replicate issue encountered in production. This is a space covered ingeniously by a company called Kubisys.
Soumen Chowdhury, vice president of marketing and business development, discussed how it has been put to work by some of Kubisys’ customers using TFS. The Kubisys platform is an appliance that allows organizations to replicate all or part of their production environment in a way that brings all the benefits of testing on production without any danger of interrupting or altering the production systems. To understand how this works in real life, Chowdhury shared the following anecdote: “There was a showstopper bug that only showed up when multiple users placed sales orders in the system at the same time. A Kubisys environment was created in order to find and fix the bug using an exact replica of the production system.”
These kinds of issues are very difficult if not impossible to reproduce in a normal test environment, as something always ends up being different enough that the problem does not manifest the same, if at all. Often an argument will break out over whether to debug on production (never a good idea). The advantage to this model is the code can be changed until it is proven to work in the Kubisys replicated environment, at which point it can then be deployed to the live production environment with certainty that it works in that exact environment.
Other Tools and Considerations
There is a huge range of third-party tools that fit well with TFS, and many take advantage of the highly accessible and customizable nature of the Work Item object inside TFS. One of these is TeamCompanion, which is an Outlook add-in for TFS (see Figure 3.) Cogan said, “We use Team Companion for email management and the product’s best feature is the ‘done’ button, which makes it easy to get early feedback from the Product Owner.” Another useful tool is Imaginet Timesheet (formerly known as Notion Timesheet). It is the first timesheet product that supports both TFS and VSO. Some of the most popular add-ons for TFS and VSO enhance the interface to the development systems by enhancing the interface of other tools, Outlook in the case of TeamCompanion and Visual Studio in the case of Imaginet Timesheet. The key is putting tools where developers are already working.
In the drive for greater efficiencies, development shops are pushing to stick to their business and let commoditized experts handle the rest. VSO fits into this paradigm quite well and offers some powerful incentives. For widely dispersed teams, the challenges of hosting TFS extend to security access to the system from outside the firewall. VSO is by definition outside your firewall and hardened by a company that knows quite a lot about being attacked.
CRA International’s Kohli reinforced this perspective. “Security and Intellectual Property protection has been one of our biggest concerns all the time. Now that VSO provides us the security that we need, it is one of the good things that has happened to us,” he said.
Microsoft has to be careful it keeps both its on-premises TFS customers and its cloud-based VSO customers happy as it supports both models with a similar, but eventually divergent set of features. The key to not getting pinched in the transition is to pay attention to how these two systems differ, and understanding that VSO is the future of Microsoft’s ALM strategy.