By Matteo Emili, Visual Studio and Development Technologies MVP
I speak at several meetups and conferences throughout the year, and if you were to ask me to single out a feature of Visual Studio Team Services that I really think “it’s the best!”, it would almost be impossible to answer.
It’s not the same if you ask me about the best single “thing” though. Because there is something stands out, and it is not a single feature.
What I am talking about is the extreme flexibility and adaptability of the platform, so that you can use VSTS with literally any technology you want, to solve pretty much any business requirement. Java? NodeJS? C++? IoT? On-premise? Cloud? Kubernetes? Literally anything.
A great example is when, after a merge or acquisition, you need to on-board a new team. Maybe you are a fully committed and stable on VSTS, while the new team is a Java team which works on GitHub and builds somewhere else and has their backlog someplace else entirely (Trello?).
First of all, you can import any Git repository into VSTS or TFS – Git is Git regardless of who hosts it so your code can be swiftly imported in your platform.
Then you might face the headache of the ramp-up of a Java Build Server. In the meantime, did you know that Microsoft provides not one, but three Build Servers for you in the Hosted Build Agents?
These build servers are provided as a service, meaning that the only thing you need to do is to literally point them at the code repository.
Trello could be trickier, but while you figure out a plan to move the existing data across, you can always integrate with it: Service Hooks use APIs to dialogue with external systems, and VSTS has its own API too if you want to implement bidirectionality.
Much of the above (everything bar the Hosted Build) is also available on Team Foundation Server – which is the quarterly snapshot of VSTS brought back on-premise – so you can do most of it on-premise too. At the end of the day, technology should be functional to the business. If technology forces us to spend too much time on making it work, it becomes pretty much useless.