Visual Studio Online continues to undergo changes as Microsoft moves to a quicker cloud release cycle. This article examines these changes and looks at the improvements that are helping to move organizations from on-premises Team Foundation Server implementations to using Visual Studio Online exclusively. In order to widen our perspective on Visual Studio Online, we sought input from two well-respected and very experienced software architects who are using Visual Studio Online (VSO) for their development projects. Their experiences (along with my own) will highlight what is likely to matter on the road to cloud-based application life-cycle management (ALM).
Marcel de Vries is CTO of Xpirit, and he holds the titles of Microsoft Regional Director and ALM MVP. Xpirit is a high-end consulting company that supports companies in the adoption of new technology, with TFS and VSO factoring in their projects.
The other expert we consulted is Magnus Mårtensson, CEO of Loftysoft AB in Sweden. He is also a Microsoft Regional Director and an avid user of Visual Studio Online.
We all feel that Visual Studio Online has been continuously making strides in making cloud-based ALM easier.
Evolution of VSO
It has not been so long since we wrote about Visual Studio Online in the context of how it compares to the on-premises Team Foundation Server (TFS), but in the intervening months, VSO has continued apace with new features and improvements. The most important of the recent additions is likely the announcement of Extensions at the BUILD conference in April of this year.
Extensions are the extensibility model that allows you to customize your VSO implementation and enhance functionality. The initial round of what can be done is currently limited, but is expected to expand until the customization story is complete. This is an important development because the lack of any customization ability was a very sore point against VSO thus far. If you have experience with SharePoint, you can think of Extensions as a more advanced Web Part in this first round, with the modular advantage that lets you share them via galleries like SharePoint Web Parts. Mårtensson expects to see further evolution on this integration story.
When asked what he would like to do with well-rounded integration capabilities, he proposed the scenario of being able to “create a bug work item based on a specific Application Insight trace.” As of this writing, you can only access the Extensions tab in VSO if you are a member of the Visual Studio Partner Program and register for early access. This means that while promising, there will likely have to be a few more rounds of fleshing out before this comes close to competing with the customizations that can be done with on-premises TFS.
Knowing what is released in a cloud offering is very different from on-premises, server-based products. With TFS you know what features are in the box when you implement it, but with VSO the system changes under your very feet and you have to allocate some time on a regular basis to make sure you are getting the current state of the art.
A handy site to consult regularly to ensure you are up to date is the Visual Studio Online Features Timeline. Most features are well explained, and you can get a sense of which features are exclusive to VSO because they do not make sense for TFS.
Account restore, for example, only makes sense within the subscription model of VSO. While there is a great deal going on, de Vries cuts through some of the complexity by suggesting categorizing the features of VSO into those that provide agile support and those that provide for cross-platform support
“What excites me most about VSO is the way the team pushes new features every three weeks,” he said. “With VSO, you will see a lot more great new stuff come out that will even further support organizations, like the capability to customize the process templates the same way as you now can customize the cards and boards.”
Virtually everyone I have ever met that uses VSO is committed to agile, and de Vries is no exception here. He is excited about the fact that “Microsoft has made some great changes in the way you can now work with the Agile Backlogs, Boards and Kanban support.” He added, “They have now enabled new ways to organize your backlog items and tasks, and simplified the way you can work with the backlog.”
When asked how he is leveraging these new features, de Vries said, “You can now add styling rules and extra fields on the boards, which makes it possible to customize the boards to everyone’s need.” Figure 1 shows a screenshot where de Vries customized his VSO tenant to add a field called “blocked” to the task cards, and a custom rule to turn the card yellow if that value is set to Yes. These kinds of controls really let organizations manage their projects the way they want.
Another example of Microsoft VSO trying to allow for agile teams to work the way they want is the emphasis on Kanban board functionality. Gaining momentum in recent years, Kanban has become an important part of the agile process for many companies. “You can now also customize the way the Kanban board is shown in that it is now possible to add additional swim lanes to create expedited lanes, or other special lanes you require for your team to do work using Kanban,” said de Vries. (See Figure 2 for an example of an expedited swim lane in the VSO interface.)
Building better
The danger Microsoft often faces with its solutions is that they sometimes grow to titanic proportions and end up doing too many things—some of them badly. TFS did a good job of covering a large surface area while not letting the fringes drag down the whole system. But that does not mean it does what it does brilliantly.
The core of TFS (and VSO by extension) is code, and what is code without a way to build it into the final product? According to de Vries, “One of the things that was always a weak point of TFS was the build engine. The main problem with the build engine was that it was considered very fiddly by people to make changes to the standard build templates that were provided.”
(By fiddly he means that you need to bring on a Windows Workflow expert to change the templates and accomplish anything not out of the box.)
This has changed thanks to Microsoft taking a clue from other build tools in the community and “embracing cross-platform to produce a completely configurable system with a Web interface,” de Vries said. The evidence of Microsoft’s commitment to cross-platform is evident with Git being a supported version-control system since 2013. de Vries said that this is not a build system for just Microsoft .NET solutions, “but also now provides the ability to build Maven, Gradle, Ant, Xcode, and many other types that are out there in the ecosystem.”
How far things have come for the build system is clear when you look at the variety of build tasks you can add to your build definition (see Figure 3).
End-to-end experience
As mentioned earlier, sometimes Microsoft overreaches with products and builds these behemoths that become unwieldy and even sprawling. Site Server is one example that eventually got broken up with great results. Often this occurs because these solutions are in search of a problem, or the suite gathers features and sub-projects that do not adapt fast enough to the market.
VSO diverts that risk by providing an end-to-end experience thanks to what Mårtensson calls “the great integration with the Microsoft Azure Platform.” He expanded on this by saying, “I can set up a project end-to-end with source control, a dev/test hosting environment and project management with task-board and burn-down charts in a matter of minutes. And that includes Continuous Delivery deployment with build and test run on every check-in.”
In order to illustrate how powerful the end-to-end system can be, Mårtensson related the story of a large Swedish furniture manufacturer that regularly had software solutions developed for the business, but would often not take full control over the source code and therefore put their intellectual property at risk. He got this organization to secure its own VSO tenant so that “Any service or project that generates code this company pays for will always at all times have its own source repository” that will be under the control of the company rather than the supplier.
Other tools with VSO
In late July, Microsoft released Visual Studio 2015. Lost in the avalanche of features and enhancements in the new version are some features that make working with Visual Studio Online better and easier.
For starters, you can publish to VSO much easier now with the former 12-step process reduced to just two steps. CodeLens is improved to include work item details from VSO similar to how this information was rendered from TFS. Also, working with VSO build tasks are easier via the Azure App Service Tools.
Technically the Visual Studio development suite is a tool outside of VSO, and I still am not sold on the name collision being a good idea. But these two tools go together really well. Many organizations use them together to great effect; however, there is always room for other tools.
When asked what his must-have tool is for development, Mårtensson said that he is “lost when he tries to develop without a really good refactoring tool, such as ReSharper.” Reflecting on the same question, de Vries pointed out that VSO has left the door open for older tools because “Microsoft provides integration using the so-called MSCCI provider that plugs into older IDEs that supported Visual SourceSafe.” This means that scenarios heretofore unimaginable with these old tools are possible.
“You can check in PowerBuilder code into TFS version control and associate your work items in VSO, creating full traceability,” said de Vries.
It is an exciting time for VSO if code is what you think about day to day, and like most cloud offerings from Microsoft, if you have not looked at it lately, you should look again.