July 16th, 2015 by inflectra
This summer we had the privilege of having an intern (Bruno Gruber) work for us to develop some of the build server plugins for SpiraTeam. During the course of his internship we were able to see how different companies and technologies make things easy (or hard in the case of Microsoft TFS) for a new developer to start working with their systems. Based on his frustrations and observations we've published this to hopefully encourage Microsoft to make things easier for the rest of us.
My internship project in Inflectra includes the development of plugins to integrate the SpiraTeam products with some Build Servers: TeamCity (Jetbrains), Bamboo (Atlassian), and TFS (Microsoft).
First, I developed a plugin for TeamCity. The installation and configuration process of TeamCity were relatively simple. Their online documentation and developer’s forum helped me to find answers to most of my questions. They encourage the developers to use their skills and creativity to develop plugins for their products: every year, there is a contest for TeamCity plugin developers (with good prizes!).
Developing an add-on for Bamboo also wasn’t a complicated task. Their online documentation helped me to solve some problems and it wasn’t difficult to find answers to common questions online.
However, developing a plugin for Microsoft’s TFS has been a hard task. First, the version of TFS we had installed (TFS2012) wasn’t compatible with the functionalities we were trying to extend (Notifications). So, we started the process of upgrading our TFS version. First, we figured out that our Windows Server 2008 (R1) wasn’t compatible with the new version of TFS we were trying to install. After upgrading the Windows version to a most recent one (Windows Server 2012 R2), we then tried to upgrade the TFS version to 2013. The first problem was that SharePoint in TFS2013 is not compatible with Windows Server 2012R2… luckily we didn’t need SharePoint and Microsoft provide an option to proceed without SharePoint.
The second problem was that we hadn’t SQL server installed in this new Windows machine. So, we had to install SQL Server Express Edition. After installing SQL Server 2012 Express, we figured out that we need to install an update before being able to use it with TFS 2013. So, we downloaded 15 GB of SQL Server updates from Microsoft’s website and after a long extraction and installation process, the update was finally installed. Then, we figure out that we had to install a Build Server. After more than 15 hours of work, we were finally able to build a “Hello World” project just to check the notification system of TFS.
It is also complicated to find online manuals and guides for developers and/or users of TFS. The answer for all our questions and problems were found in blogs, articles, or tutorials online. The information provided by Microsoft is, most of the time, superficial and doesn’t really help to solve problems or find answers to simple questions.
Talking with other developers about these problems, I figure out that most of them have already faced similar situations with other Microsoft products.
I don't want this article to sound like I dislike Microsoft products. On the contrary, Inflectra has been using .NET and ASP.NET to build its products from day one - the first version of SpiraTest used .NET 1.1 and has grown since to use .NET 4.5, Entity Framework and ASP.NET AJAX.
In fact throughout the years, Microsoft has always made things easy for developers with rich, powerful IDEs and very robust documentation (MSDN). But now, they need to start working to make their products simple to install, configure, use, and maintain. Otherwise, they will start to lose customers and developers to simpler, but easier to use, software.