Microsoft describes its Visual Studio Online offering as being “based on the capabilities of Team Foundation Server with additional cloud services.” Productivity across teams is a competitive advantage that is not just nice to have anymore, and a big key to productivity is providing the tools needed for Agile development. The drive to do more, faster with less resources is a powerful force and causes teams of all sizes to regularly assess their options.
Visual Studio Online (VSO) is clearly the evolution of Team Foundation Server (TFS), yet, as we shall see, we are not yet at a point where it is automatically the right place to be. Developers are getting used to a pattern even if they have not noticed it yet. Technology evolves and gets easier and better and faster until it hits a limit that can only be overcome by doing something disruptive. The new path almost always has lost ground to the past way of doing things on one or more fronts and then over time catches up and surpasses the old status quo methods or tools. One common example of this is the recent work to bridge code across devices. Native code provides better experiences, but requires too much additional work if many platforms must be addressed. Using HTML 5 or other bridging strategies has increased code reuse, but often there are functionality sacrifices.
In this same way, there are situations where moving to VSO will be a sacrifice. As Microsoft evolves the offering we will likely see it surpass on-premises capabilities as TFS becomes less strategic and cloud offerings reach full maturity and market saturation. We are not yet at that point, as evidenced by the places where VSO is still playing catch-up with TFS and so there is still a choice to be made between the two Application Lifecycle Management (ALM) platforms offered by Microsoft.
The ‘What’ of TFS and VSO
SharePoint is often explained by its “Six Pillars” that help people understand the things SharePoint can help an organization accomplish. Similarly, there are a number of areas where TFS provides capabilities. Perhaps most famously, TFS—and now VSO—acts as a code repository. TFS subsumed the old Visual Source Safe (VSS) product and now offers Git as well as a more attractive option. The details on making the choice between Git and the standard code repository are a bit involved so we will handle that a little later.
The Work Item that is at the center of the TFS and VSO processes makes it easy to use Agile methodologies such as Scrum and Kanban for your software development. Build and deployment capabilities are important to actually getting the code that is developed out and usable, and there is also a strong test component enjoying solid Azure integration as part of VSO.
Finally, there are insights into all of these processes via SQL Reporting Services in TFS and through expanding reporting and charting features in VSO. While Microsoft may be happy to have you use the offering for the entire development lifecycle, it is rare to find an organization that has not taken advantage of some plug-in or solution that makes their process better, by filling in gaps or by replacing something that TFS/VSO does because it can do it better.
Microsoft’s Team Foundation Server is a big product with many aspects and a lot of features. Benjamin Day, owner of Benjamin Day Consulting, calls it “the glue of Microsoft’s Application Lifecycle Management strategy.” As of this writing, the most current version of TFS available is Team Foundation Server 2013 Update 3, which released on Aug. 4. This update brought with it a number of bug fixes, feature additions and enhancements such as CodeLens support for Git, release management support for PowerShell and the ability to hide in-progress items on the backlog (see Figure 1). Just one month later, in early September, Brian Harry, a Microsoft Technical Fellow working as the Product Unit Manager for Team Foundation Server at Microsoft, announced that a Community Technology Preview (CTP) of Update 4 was available.
This coming release will bring Git pull requests for both Visual Studio and Eclipse, improvements to work management interfaces and many bug fixes and performance enhancements. Big products at Microsoft that have frequent updates are great for organizations that have dedicated IT staff and that have been waiting for the enhancements that come down the line, but for many smaller organizations or even departments in big companies, the treadmill of keeping things up to date is exhausting or even harrowing.