In this post, App Dev Manager Kristofer Olin explores limits and intentions of a tool like VSTS to go beyond traditional ALM scenarios.
You've probably heard stories of people who utilize Visual Studio Team Services (VSTS) for non-Application Lifecycle Management (ALM) related purposes. For instance, I know someone that uses it to help manage his honey-do list and home projects. The most interesting use of VSTS I've encountered, though, was a desire to use it to track and maintain everything in the organization-- and I mean everything. This customer had justifications for doing so: some were in response to external limitations; others a misunderstanding of VSTS capabilities; and still others because they were unaware of other tools better at the job. Can a team utilize Visual Studio Team Services (VSTS) or Team Foundation Server (TFS) for wholistic organization management? The short answer is, "it depends". Let's expound upon the desire and discuss the tools that best accomplish their goal of organization management.
If you're not familiar with VSTS, it's a versatile tool designed to help manage the software development lifecycle and to enable teams to implement DevOps practices and processes including continuous integration and release management. VSTS is Azure cloud-based while TFS is an on-premises solution. Both have similar capabilities, though VSTS itself is continuously integrated with updates while TFS is bound to less-frequent, periodic update cycle. Check here for more information about VSTS and how it can benefit your team: https://www.visualstudio.com/team-services/
The customer's desire to manage their organization through TFS can be broken into three primary areas outside of software development. The first is management of the organization's processes and approvals. Yes, one of the central functions of VSTS is to manage work-items, maintain history of those work-items, and allow teams to establish processes and approval gates for those work items as they move through the process. Before you start creating your managerial workflows in VSTS, first ask yourself if you really want your management team and other non-developers to use and maintain simple processes through a tool with a user interface purposed for and designed with software developers in mind. For most organizations the answer is, "No, that's overkill". SharePoint is much more convenient for maintaining processes that require approvals, and new tools like Microsoft Office Planner, a part of Office 365, are even more convenient for tracking workflows and team activities using Kanban boards, and plug-ins to other collaboration tools like Microsoft Teams that increase productivity and manageability without introducing unnecessary complexities and overhead.
Document management is the next need the customer desired to fulfill through VSTS. This desire was rooted in a misunderstanding of VSTS versioning abilities. Yes, VSTS will version control documents and other files uploaded into it, but its change tracking capabilities are targeted toward flat files like source code, not Word, Excel, and PowerPoint documents; and, it analyzes differences between file bit by bit, so it's very inefficient for these more complex file types. Again, SharePoint is a go-to tool with capabilities targeted toward version controlling the file-types most businesses utilize every day including rules and workflows around check-in of changes. Don't have SharePoint? File history through OneDrive is a great alternate option; or try turning on File History for the shared network folder or drive in which your organization maintains its documents.
Data storage is the last segment of need. The customer desired to maintain large data files more than 2GB in VSTS. While the other two desires had drawbacks, this is simply not recommended. The VSTS interface is limited to a 2GB upload due to wait limitations to avoid HTTP timeouts. In addition, if the data were to change, the versioning imposed by VSTS on such large files would begin rapidly consuming storage as VSTS would begin creating multiple copies of the entire file since unlike a source code file, a complex data structure's entire bit sequence can be changed with a single change of the data within. The best recommendation for data storage is Azure BLOB storage.
Many organizations consider the external limitations placed upon them, or only consider the tools they know to create solutions to needs. Shoehorning a need into an existing tool can cause the organization pain in the form lost productivity, upgrade difficulties, and unexpected costs later. Thankfully, this customer asked for help before implementing the proposed solutions and we were able to assist them in designing solutions that fit. Before moving forward with an idea that seems to be a bright one on the surface, contact your Application Development Manager and Microsoft team to help formulate a solution that avoids the pitfalls and provides long-term positive results.
Premier Support for Developers provides strategic technology guidance, critical support coverage, and a range of essential services to help teams optimize development lifecycles and improve software quality. Contact your Application Development Manager (ADM) or email us to learn more about what we can do for you.