What does Team Foundation Server 2013 offer the non-Windows user?
With the recent launch of Team Foundation Server 2013, I thought it would be a good time to take a step back and look at what Team Foundation Server (TFS) now provides to the non-Windows desktop user. There are plenty of scenarios where some part of the organisation is using different technologies that don’t involve development in Visual Studio. In many cases that might be still be on a Windows desktop, but I though it would be interesting to look at a scenario where you have team members on another platform. In this case I’ve used a Linux desktop.
(In preparing a test environment to take screenshots from I made a note of how to install Linux in Hyper-V and installing the Team Explorer Everywhere plug-in for Eclipse, in case those are of interest).
Summary
When using TFS, you don’t need to be using Visual Studio, nor do you need to be on Windows. So, what can you do, using TFS 2013, but accessing it from a non-Windows desktop?
Plan & Track (new features in 2013) : Full access to the web based Agile planning tools, team rooms, work items and work item queries.
Develop (updated for 2013) : Use the Eclipse integration to use TFS source control, integrate to work items and access TFS from within the IDE for non Microsoft technologies.
Build: Define and run automated builds based on Ant or Maven.
Web Test (new for 2013) : Create test plans, organise and author test cases, and execute manual tests. This is a new area for cross platform support in 2013.
Why is this important? Even though a proportion of the team or organisation may not be using Visual Studio and/or Windows, they are still able to work on the same projects, using the same process, contribute and access the same information, use the same source control repository, contribute to testing and automatically provide reporting metrics. Different technologies and teams don’t need different tools and can collaborate more easily, with more transferable skills.
Let’s take a look at each of those areas in more detail.
Plan & Track
TFS 2012 introduced the new Agile Planning Tools in the Web Access. TFS 2013 has extended these tools with Agile Portfolio Management, Team Rooms, Work Item Charting and more. All of these capabilities are available in any modern browser, and are not platform dependent. So on this Linux machine, using Firefox, that means full access to:
Product Backlogs, including Agile Portfolio Management
Sprint Backlogs, burn down and capacity planning:
Task boards
Team Rooms
Work Items and charts
In all of these planning and tracking areas, the tools are no different from using a modern browser on Windows.
Develop
The cross-platform Team Explorer Everywhere plug-in for TFS will install into Eclipse and provide access to TFS:
In particular, source control integration
And access to work items and work item queries without leaving Eclipse
Build
From within Eclipse, you can view build logs, invoke builds and create new build definitions, using the TFS triggers and workflow, but wrapping an Ant or Maven script:
You can also access build logs and invoke builds from within the web access tools:
Web Test
One of the new features of TFS 2013 is the web based test tools. For a cross-platform environment that means that you can create test plans, and organise test cases into the full range of suites (static, work item query and requirements):
You can create and edit test cases, complete with parameters and shared steps:
Including the new grid view:
And run manual tests from within the browser, passing or failing steps, editing steps and raising bugs:
There are a number of areas in test that you can’t access, but these are the same restrictions as accessing the web test tools on Windows – you can’t configure test plans (which data adapters to use, manage configurations etc,.), you can’t collect rich actionable data in bugs, and there’s no exploratory testing. For all of these you need to use Microsoft Test Manager, which is a Windows desktop client.
Overall, there is a good range of TFS capabilities accessible from non-Windows platforms, using a combination of TFS web access and the Eclipse plug-in. It’s not on a parity with the support from a Windows machine in several areas, but it does provide broad support across key areas.
But what about if …
I don’t use Linux, I use Mac/Solaris/other Unix OS:
That’s ok, the web access and Team Explorer Everywhere plug-in work across a range of platforms and Eclipse versions so all of the above will hold true.
I don’t use Eclipse:
There are probably two common reasons why not:
1. You’re a real man/woman and don’t use an IDE :-)
For whatever reason you’re using something else (Vi, Emacs, another IDE). TFS provides cross-platform command line tools so that you can work in another environment and still work with TFS source control. It won’t be integrated into whatever you’re using, but it gives you command line level support across platforms.
2. You’re an iOS developer and are using XCode
You can either take the route above, or more likely, use the existing XCode Git integration, see the next topic…
I use Git:
No problem. TFS 2013 now supports Git, and for each Team project you can decide whether to use the Team Foundation Version Control or Git within TFS. You can then use your existing/favourite Git tools and utilities.
There’s another scenario, perhaps if you’re an iOS developer, using Git within XCode, but the rest of the team are using TFS including Team Foundation Version Control. In that case you can use Git-TF, and synchronise your source code between Git and TFS.
I don’t have Windows servers for TFS to be installed on:
TFS does need to be installed on Windows (server or desktop), so that means if you don’t/can’t have a Windows machine on premise then you might want to take a look at VisualStudio Online, which provides TFS hosted in the cloud (Windows Azure). TFS is then provisioned in the cloud for you, and all of the above if accessed from your desktop. As it happens, that’s what I did for this post – within Linux I pointed my web browser and Eclipse at Visual Studio Online for TFS.
I want to use the new Release Management capabilities in TFS 2013:
You won’t be able to edit/create the workflows, as that requires a Windows client, and there aren’t deployment agents for non-Windows platforms. However, when you check code into TFS (e.g. from Eclipse) that can trigger a build, which is already linked into Release Management, which then does it’s stuff deploying to different dev, test and/or production environments, so it’s possible to be involved in the overall workflow.
If you’ve got here, well done. This post has turned out to be longer than I expected but I hope it’s a useful reminder and update (with the new web test tools) of how TFS can provide a lot of value even if you’re not a member of a Visual Studio or even Windows based team.
Cheers,
Giles
Comments
Anonymous
November 21, 2013
Excellent info, Giles. I work in a healthcare setting, and while the small development team uses TFS religiously, we have a number on non-Microsoft customizations to vendor apps which are not configuration managed. Might look into ways to integrate those other activities into TFS.Anonymous
January 18, 2014
Very helpful, thanks Giles.Anonymous
January 21, 2014
How about being able to build with Maven from a Git Repository ?Anonymous
January 21, 2014
@Alex That should be fine. The Git support in TFS is "true" Git, so anything you can do with Git outside of TFS you can do with Git inside TFS. Therefore you can build using Maven. You can also wrap Maven builds as part of TFS Build, so a TFS Build (CI or scheduled) can wrap Maven, that then accesses Git.Anonymous
February 05, 2014
Sounds grate! However, I understand that some features are not available for non-premium MSDN users (such as Work Item Charts and Agile Portfolio Management) If that's true, how would Eclipse users exploit these features?Anonymous
February 05, 2014
Sounds great! However, I understood that not all the features are available for non-premium MSDN users (such as the Work Item Charts and Agile Portfolio Management) If that's true, how would Eclipse users be able to exploit these features?Anonymous
February 05, 2014
@Omar Yes, thank you, you're absolutely right and it's a good question. There are some features above that are not covered in the TFS CAL. These include Agile Portfolio Management, Work Item Charting, Web Test and Team Rooms. These are licenced via Visual Studio Premium or Ultimate, or Test Professional or via MSDN Platforms. For an Eclipse user that has no need for Visual Studio or Test Professional, the most cost effective means of licencing these features would be MSDN Platforms. This is the product matrix that shows the features: www.visualstudio.com/.../compare-visual-studio-products-vs (under the TFS section). Thanks, GilesAnonymous
July 30, 2014
How do I create a new team project in TFS 2013 without Visual Studio?Anonymous
August 03, 2014
@Alan, regarding creating a new Team Project without Visual Studio. A good question, Creating a team project requires Team Explorer. If you don't have Visual Studio, then you can download it from here: www.microsoft.com/.../details.aspx However, this is for Windows only, so you will need to have at least one Windows machine (perhaps even the TFS server) to do this. If you're using Visual Studio Online, then you can do this via the Web interface without Team Explorer. GilesAnonymous
March 18, 2015
Does it support Apache? What does it supportAnonymous
March 18, 2015
Does it support Appache? What else does it suppoirt