Future of TFS vs VSTS - tfs

Is Microsoft still working on both products? Has development on TFS been dropped in favour of VSTS?
For context, we are using TFS right now and VSTS clearly has better integration. Specifically with Microsoft Teams and ZenDesk which is important to getting our workflow process in a more manageable state. However, VSTS doesn't have anywhere near the configuration or reporting that we require.
Will either product eventually have the full feature set or will we have to choose and build our own integrations or reporting?

Now Azure DevOps and Azure DevOps Server, but the rest of the story remains intact.
Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) are based on the same codebase. VSTS is deployed to the cloud every 3 weeks or faster. TFS has received a major upgrade yearly (2015, 2017, 2018) and a major update pack every 3 to 4 months (2015.0-3, 2017.0-3, 2018.0-1).
Most new features are released to Visual Studio Team Services first and are integrated into Team Foundation Server with a bit of a delay. Some features are available in VSTS which depend on cloud resources, so they're not likely to move to TFS anytime soon.
With regards to reporting, this has been a bit of an Achilles' heel of VSTS. It has never had the Report Server and Analysis Cube capabilities of TFS. It does offer integration with PowerBI and that integration is quickly getting better.
You can see the overview of feature availability between cloud (VSTS) and server (TFS) on the Feature Timeline, as you can see a lot of new things happening, most of them are hitting VSTS first.
Microsoft offers a support lifecycle for Team Foundation Server and currently, it looks like Microsoft won't abandon their on-premise customers anytime soon. TFS 2018 has an extended support lifecycle all the way to 2028:
Products Released Lifecycle Start Date Mainstream Support End Date Extended Support End Date Service Pack Support End Date Notes
Visual Studio Team Foundation Server 2018 11/15/2017 1/10/2023 1/11/2028

Related

Adding TFS add-in into Teams

We have TFS 2015 (on-premise) and Microsoft Teams in the cloud.
I am trying to find the TFS plug-in (all I can see is Azure DevOps) and want to be able to show TFS information inside of Teams.
I see lots of articles on how this use to work? But can't find it in my list of plugins to add into the system.
Is there something we need to do at a server level?
Thanks
There is an official extension-- Microsoft Teams Integration.
With using this, you are able to see activity about your Azure DevOps or Team Foundation Server projects directly in your Microsoft Teams channel, for example:
Work item updates
Pull requests
Code commits
Builds
Release deployments and approvals
Work item updates
Azure DevOps Kanban board
However, as the link declare clearly, it only work with Team Foundation Server 2017 Update 2 and above. It's not able to do this with TFS2015. You need to upgrade your TFS version. With higher version, you could also get more released new features in TFS.

Azure DevOps on-premise costs

Seems strange asking this on SO but that's what MS want us to do so here goes...
I'm looking at setting up an on-premise Azure DevOps 2019 server, but as usual the licensing and costs aren't very transparent.
Our dev team are likely to be getting Visual Studio Pro subscriptions, which I believe comes with a DevOps server license and CALs. What happens if we stop these subscriptions - does it mean we can no longer use our on-premise DevOps server?
I'm not very clear on what "extras" we may need to pay for (extensions, pipelines), and I don't want to be hit by any surprises. The essential requirements are:
Be able to trigger a build on check-in. I can't tell if this is a built-in feature or requires some kind of extension and/or pipeline (and if so free or not?)
Use build tasks to create NuGet packages and host these on the in-house server. Again, does this require any paid extensions or pipelines?
There should be no limits on monthly build time (unlike VSTS which I believe is 240 minutes)
To my best understanding:
You can run Azure DevOps Server 2019 with at least one Visual Studio Professional or Enterprise license.
The features available to each user are based on the licence assigned to the user: Stakeholders (no license) get the very basics, Basic access (Professional) gives you most of the features, Enterprise gives you all the features.
The most notable differences between Basic and Enterprise are:
View Releases and Manage Approvals
Artifacts Microsoft published
Azure DevOps Extensions
However, per this annoucement, Artifacts are now included in the Basic/professional license.
So with only professional licenses you should be good for triggering builds, publishing and using nuget-packages via Artifact feeds. I'd think that installing extensions might require Enterprise user and haven't tested "View Releases and Manage Approvals" without Enterprise license yet. That seems to have changed from older TFS we've been using, in which Basic users were able to create and view releases.
So would recommend getting at least one Enterprise license, in any case.
one and two are free, third one is free with self hosted agent and 1800 minutes with hosted agent, if you are an opensource project you have lots of free compute time (dont think this applies to Azure Devops server though).
Build and release pipelines are included in Azure Devops Server 2019. https://learn.microsoft.com/en-us/azure/devops/server/release-notes/azuredevops2019?view=azure-devops#changes-to-artifacts-and-release-management-deployment-pipeline-licensing

How do I migrate data from Team Foundation Server to Visual Studio Online?

I'd like to take advantage of Visual Studio Online but I have been using Team Foundation Server on-premises and would like to migrate my data (version control, work items, test cases, and test results) to get my team started with our history. How do I do that?
The Team Foundation Server Integration Platform is available as a free platform for migrating/synchronizing data between TFS servers and with Visual Studio Online.
The ALM Rangers have an article in MSDN Magazine with a walkthrough: http://msdn.microsoft.com/en-us/magazine/jj130558.aspx
There are a couple of limitations from what I understand:
Takes some work to get up and going but the walkthrough helps out a lot
This tool does migrate test cases but you need to run the UpdateSharedSteps tool from the product team.
Not actively invested in as new features in Team Foundation Server and Visual Studio Online lights up
Another option is to build your own migration utility using the Team Foundation Server SDK. You can use the Client Object Model to read data from your TFS server and then write it to your Visual Studio Online account.
There is a free migration utility from migrating data from Team Foundation Server on-premises to Visual Studio Online available from OpsHub: http://aka.ms/OpsHubVSOMigrationUtility.
It allows you to migrate team project(s) from TFS 2010, TFS 2012, and TFS 2013 including the history of:
Version Control
Work Items
Test Cases
It handles the most common scenarios by making smart assumptions that are good for most scenarios. For those with more advanced scenarios, the OpsHub Integration Platform is commercially available and helps with synchronizations, custom business rules during migrations including customized process templates, and migration/integrating with other ALM platforms like IBM, Atlassian, HP, etc.

Can visualstudio.com be tied to Release Management Server?

My team uses visualstudio.com (previously Team Foundation Services, a.k.a cloud-based TFS) and I'd like to also make use of Release Management Server. I think I know the answer is that this is only possible with an on-premises instance of Team Foundation Server but would like confirmation. I've found this statement from December 2013 but looking for any more recent info:
Team Foundation Server support:
TFS 2010, TFS 2012 and TFS 2013 versions are supported with Release Management for Visual Studio 2013
Visual Studio Online account not supported yet, we plan to add this capability soon.
Found at the bottom of this page:
http://blogs.msdn.com/b/visualstudioalm/archive/2013/12/19/how-to-configure-team-foundation-server-with-release-management.aspx
There is no native integration. But as of Update 2, you can trigger a release from the command line. Which in turn will allow you to modify your build process (assuming your build agent is on-premise and not hosted) to trigger the release automatically. The following blog post provides details: http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/04/release-management-continuous-deployment-with-visual-studio-online-and-any-ci-systems.aspx
Update:
Microsoft is working on bringing the Release Management client features into the VSO Web inteface. This was announce in February and named as Release Management Service of this year and a working demo was show on \build of this year.
Source:
Latest Blog Announcement: http://blogs.msdn.com/b/visualstudioalm/archive/2015/04/29/release-management-announcements-at-build-2015.aspx
In depth demo of UI and new features (relevant part starts around minute 25): http://channel9.msdn.com/Events/Build/2015/3-649
Release Management is not available yet for Visual Studio Online.
As you pointed out, they are busy working on it, but there have been no concrete announcements as to when it is planned to be released.

Manage Team member capacity for users in multiple Teams

We are currently working on how to best manage our projects in TFS 2012. We are planning to create multiple team in order to manage concurrent iteration on the same project for distinct feature not released at the same time so we did two team (Project 1, Project 2).
The problem we currently have is how can I manage team member capacity when assigning a member to multiple Team. Is ther a way to view Capacity assign to a member for all current iteration of every team without navigating between multiple sprint?
What you want is not supported with the current tools, nor have we plans as for now to support this in the near future.
Feel free to add your suggestion to User Voice. We use that list to help prioritize our work.
This functionality is provided out-of-the-box and has been available since TFS 2008. You will require to install Microsoft Project Server onto the SharePoint implementation that you use with TFS (or another one if you like) and then configure the integration.
By installing Team Foundation Server Extensions for Project Server, project managers can use Microsoft Project Server to access up-to-date project status and resource availability across agile and formal software teams who work in Team Foundation. This integration enables data to flow from work items in Team Foundation Server (TFS) to tasks in enterprise project plans in Project Server. Project managers and software development teams can use the tools that they prefer, work at the level of precision that supports their needs, and share information transparently. After the two server products are configured, the synchronization engine maintains scheduling data and resource usage for the configured data in the mapped enterprise project plan and team project.
For TFS 2010 there is an Add-on, but for TFS 2012 it is included in the product.
Enable Data Flow Between Team Foundation Server and Microsoft Project Server
Microsoft® Team Foundation Server® 2010 and Microsoft Project Server® 2010 Integration Hyper-V Virtual Machine

Resources