How I Learned to Stop Worrying and Love Visual Studio Team Services
After suffering the consequences of accidentally turning off his firewall for a month and then experiencing a catastrophic workstation failure that took out both of his mirrored hard disks, Tim Patrick gained a new appreciation for online code repositories. He adopted VSTS and won't be looking back.
As we keep telling our loved ones, the cloud is just somebody else's computer. And who knows what that somebody does in his spare time? Scary thoughts like this have kept me from storing my valuable source code on any hosted platforms, including private cloud-based repositories like GitHub.
Sure, they say that my code is safe. But we're talking about programmers here. And not just any programmers, but the kind that voluntarily fix bugs in undocumented open source systems in their spare time. How do I know that they aren't hacking into my bubble-sort routine while slamming down their third Red Bull? My code is much safer on my own machine, in my own network, behind my own router.
At least, it was safer until I accidentally turned off my firewall for a month. And then there was that catastrophic workstation failure that took out both of my mirrored hard disks. Lest this becomes a commercial for Carbonite, let me just say that through those travails, I gained a new appreciation for online code repositories. And those other programmers aren't that big of a concern. I'd probably even like the taste of Red Bull.
Once I rebuilt my system and restored all my code, I signed up for Visual Studio Team Services (VSTS), including its Team Foundation Version Control (TFVC) system. There's no cost for small teams of up to five developers, and for that zero dollars per month, you get access to a lot of powerful features. Some of those tools are overwhelming for newbies like me; it took me several hours to decide whether I should place my Visual Studio projects in a distinct workspace for each, or dump them all in one giant workspace (the latter, it turns out).
Understanding the VSTS security system also took some time, with its separate administrative-, VSTS project- and file-level authentications. And just because someone is restricted from doing something in VSTS doesn't mean they're prevented from seeing that thing. I needed to bring in a short-term developer for one of my projects, and I used the site's security features to limit his access to just a single branch of my source tree.
Naturally, I turned off all administrative access for that user, and yet he could still see most VSTS admin features, including the big button that says, "Delete Your Account and All Your Code and Your Career." Why can he see that? When I called Microsoft about this, they confirmed that clicking the button, and typing in a confirmation password, doesn't actually allow an unauthorized user to delete anything. But, come on!
Despite these struggles, I give VSTS high marks, including for its heartfelt and timely communications. When the VSTS site rolled out an update a few weeks ago that brought access speeds to a crawl, the team behind the site admitted their mistake immediately and issued status updates every two hours until the problem was resolved later that day. Naturally, the programs I write never have such bugs, but it's nice to know that if I ever did release an errant application, I have a communications example on which to base my interactions with users.
Microsoft has historically crafted its systems with large organizations (like itself) in mind, and VSTS is no exception. But the platform is useful even for tiny teams and lone developers. I now have secure access to my code from any computer connected to the Internet, and the "work items" features on the site allow me to discuss project-related tasks with even those who lack technical knowledge or access to the source code.
When the time comes for me to try my hand at Azure development or Continuous Integration processes, I'll have a head start, because VSTS has hooks into those and other third-party tools.
VSTS didn't alter my programming prowess, yet I feel more productive. It's difficult to explain, but using professional tools that were designed with Visual Studio in mind somehow helps me feel more empowered in my daily development tasks. If you've been hiding your code in a workstation of solitude, you too should consider moving it up to a TFVC or Git repository on VSTS.
About the Author
Tim Patrick has spent more than thirty years as a software architect and developer. His two most recent books on .NET development -- Start-to-Finish Visual C# 2015, and Start-to-Finish Visual Basic 2015 -- are available from http://owanipress.com. He blogs regularly at http://wellreadman.com.