Microsoft is announcing major new versions of its flagship application development environment and application lifecycle management (ALM) solutions—preview versions of Visual Studio 2013 and Team Foundation Server (TFS) 2013—at its TechEd 2013 conference in New Orleans on June 3.
The software giant is announcing key new functionality in both environments and will be introducing some of the technology at TechEd, which runs June 3-6, and then releasing preview versions along with more detail on the technology at its upcoming Build 2013 developer conference, which will run June 26-28 in San Francisco. The company is also announcing a key technology acquisition that bolsters its DevOps story.
“We’ll be talking through at TechEd the bulk of the ALM features. We have quite a lot of new capability in Visual Studio 2013 and TFS 2013, which will ship with VS 2013,” Brian Harry, a Microsoft technical fellow working as the product unit manager for Team Foundation Server, told eWEEK. “Further, we’ll be announcing the first preview build of VS 2013 will be available at the Build conference. What we’ll focus on at TechEd are the ALM-oriented features. We will be saving the more platform-oriented features like the Windows Store app development features at Build. Think of TechEd as more ALM oriented and Build as more core software construction oriented announcements.”
And there will be several of both, Harry noted.
There will be groundbreaking changes in the core coding experience for the Visual Studio integrated development environment (IDE) with the release of VS 2013, Harry said. For instance, there will be changes that impact developer productivity akin to the way IntelliSense helped change the way developers wrote code when it was first introduced.
Some years ago, in 1996, Microsoft introduced IntelliSense, which fundamentally changed the way people coded. It got rid of the world where people would code with a book next to their desk or with a browser help page up, Harry said. IntelliSense provided an interactive experience in the IDE that told you here are your choices for methods, here’s your list of parameters, here’s a description of what each parameter is—sort of an embedded help directly into your IDE experience, and it revolutionized the way people coded, he said.
“We’ve got another feature coming that I think has a good chance of having a similar effect,” Harry said. “I think of it as sort of a heads-up display for your code. We’re currently calling it Code Information Indicators, but I think that will change before we finally announce it. But imagine as you’re looking at code, your code is sort of overlaid with annotations to tell you things about what’s happening in your code.
“So you’re looking at a method, and overlaid on that method would be the list of tests that test that method and the current state of those tests—which ones are passing and which ones are failing, [and] if they’re failing, what are the error messages they’re failing with? And because Visual Studio now has an automatic test runner, as you’re typing code every time you build it runs the test. And, boom, right there in the editor it will pop up and say this method is now failing. We also have a references indicator, which tells you who called this method. We do some similar things with our version control information to tell you what the recent changes were to this information.”
Microsoft TechEd 2013: Visual Studio 2013, TFS 2013 Bust Out
Microsoft will be shipping this feature with five indicators in the box. It’s an extensible system where the company can continue to plug in new indicators. For instance, there’s a code complexity indicator where you can see which functions are the most complicated.
“We think this is going to be huge in terms of giving people the context about the code they’re looking at and making it fit in with the flow of what you’re doing,” Harry told eWEEK. “This will help you understand what’s going on with your code and draw your attention to things that matter—like failing tests—and make you incredibly productive.”
Meanwhile, in production, one of the real problems people have that are hard to debug are memory leaks. These are very hard to reproduce because they happen in the production environment and not in the development environment under more constrained circumstances.
To help solve that problem, and part of its DevOps movement, Microsoft now has a new feature, a memory diagnostics feature that allows users to—much like IntelliTrace did, which was to take a trace of what’s happening in a running application (except this is based on memory)—take a snapshot of what’s in memory and go explore where all their memory is being used. And they can take two snapshots and look at what changed between those two operations.
Microsoft also has been working on making Visual Studio a more connected IDE. “We have a connected IDE, and we’re moving to make Visual Studio more connected for you so it knows who you are, it knows your preferences, it serves you in a customized way,” Harry said.
So as part of Visual Studio 2013 you can now log into Visual Studio. It now knows who you are, and it can connect to the Microsoft cloud service and provide value for users through that. In addition to allowing users access to work items and version control and project management and build and load test and all the things Microsoft provides on its cloud service, the company also is starting to add some core IDE capabilities.
“So we have this new capability we call roaming profile, so if you use Visual Studio, you set your color scheme, you set your font size, you configure your tool windows—you set up Visual Studio the way you like it,” Harry said. “The connected IDE will now save all that for you in the cloud. And if you go over to another machine and you open up Visual Studio and you log in, it will automatically bring down all of your settings to that copy of Visual Studio, and it will feel like the copy of Visual Studio you know and love, the way you want it. We call that the Connected IDE Experience.”
Last year Microsoft shipped Visual Studio 2012 and TFS 2012, focusing on collaboration, with Agile support and Agile project management, code review, exploratory testing and end-user feedback. This was all based on a model of what was happening with the app lifecycle and the pace getting faster and faster.
Teams are now having to figure out how to adapt to that pace of change and how to make their software development be faster, more agile and more flexible and deliver on the changing business needs. In Visual Studio 2012, Microsoft introduced the notion of updates. The company shipped VS 2012 Update 1 in November and Update 2 in April 2013 and is on the brink of delivering Update 3 now.
Microsoft TechEd 2013: Visual Studio 2013, TFS 2013 Bust Out
Meanwhile, on the ALM front, Harry said Microsoft is continuing to extend its Agile project management capabilities. In VS 2012 Microsoft introduced a set of Scrum-oriented Agile project management features. It then built off of that in Update 1 and Update 2 with Kanban support.
“And now coming into Visual Studio 2013 the big thing we’re trying to add is support for enterprise agile, which is how do we scale agile to an enterprise organization to enable lots of Scrum teams to work together and enable management to be able to think about a coarser granularity of things like business initiatives and investments while allowing the development team to work at the user story and task and sprint level,” Harry said. “To be able to roll all that up, get traceability from the core business goals down to the work that’s down in the dev team.
“We’ve got a lot of those capabilities today through Project Server, and we have a lot of enterprises that use Project Server as their portfolio management solution,” he said. “But for teams that are trying to really embrace Agile methodologies more holistically throughout an organization, they’re struggling with the best way to aggregate all of these different Agile teams and still make sense out of, ‘What is my development organization doing?’ That’s really what our Agile portfolio management investment’s about.”
Harry said there is a major importance to focusing on being able to keep up with the pace of change in the business and being agile and doing production diagnostics, load testing and more. But one piece that’s very important in making that process go faster is you’ve got to be able to build, test and then release your software, he said.
This is often one of the biggest problems developers face, he noted. They have to wait for some sort of IT infrastructure department to provision hardware and work with the IT group to figure out what steps they’re going to use to deploy the software. This is the realm of DevOps. DevOps is about responding to the Agile movement, Harry said. Developers got more agile with the advent of Agile methods, but no corresponding change happened on the IT side. While the dev team started cranking work out faster, the operations team was unable to consume software at the rate the dev team was able to produce it. The whole DevOps movement is to figure out how to solve this impedance mismatch, Harry said.
“So we are announcing that we have reached an agreement to acquire a product called InRelease from InCycle Software,” Harry said. “InRelease is a release management tool targeted at enterprises that is designed to help this problem. It has a bunch of capabilities, including the ability to track all your releases. And any enterprise has got dozens of software projects going on at any time in different stages—development, integration testing, preproduction, production—sometimes multiple versions of the same thing are in different phases of release. So it’s got a release portfolio management capability to help you track what releases you’re working on and what stages you’re in.
“It’s also got a release planning capability that helps you find release paths to production— to pass from dev to test to preproduction to production,” he said. “What are the automated steps, what are the approval criteria? It manages the workflow around that movement of code through the phases. And lastly it has an automation piece that allows me to find my automated workflows for deployment.”
Microsoft TechEd 2013: Visual Studio 2013, TFS 2013 Bust Out
InRelease enables organizations to share between development and operations, a common set of deployment automation. “If that process is manual you will never, ever solve that impedance mismatch,” Harry said. “This is going to be one of our big announcements that we’re excited about and it fills a big gap in that story of how we move through that iterative lifecycle very quickly and we’re pretty excited about it. This has been a major request from our customers: How do I get software into production in a repeatable, reliable way that’s low overhead.”
Moreover, Microsoft has made a lot of investments in version control, particularly by adopting Git and incorporating it in Team Foundation Server. The company first announced this at the ALM Summit early this year, saying it would be available on Team Foundation Server, and then released a preview of a Visual Studio add-on that enabled developers to use Git from within Visual Studio.
Microsoft said it would release all of that in the next major release of Visual Studio and TFS, and Harry will be announcing at TechEd that the company is in fact doing that. That Git client support will roll into Visual Studio 2013 and, although Microsoft had a Git server on its cloud service, it had not yet made its Git support available on premises. “As part of the preview we make it available at Build and we’ll be talking about it at TechEd,” Harry said. “We’ll have Git support in our on-premises Team Foundation Server.”
In addition, “We’ll be stressing the degree to which we’re really focusing on making Git an appropriate distributed version control system for the enterprise,” Harry said. “That has been one of the things Git has struggled with. But we’ve brought to it all of the enterprise-class things you would expect out of a Microsoft server. We’ve enabled high availability with clustering and failover. We’ve enabled online backup. We’ve also done auditing to provide better control. We’ve added some permission controls. At the same time it’s 100 percent compatible Git. That’s going to be one of our core value adds to Git.”
Other version control changes include some reworking of Team Explorer, which will mostly be a number of productivity improvements. The home page has been redone to be more visual. “If you go out to visualstudio.uservoice.com, which is where we take suggestions from our customers, and you filter on TFS, the No. 1 suggestion is ‘bring back the old Pending Changes window,'” Harry said. “So we have brought back the old Pending Changes window.”
Also, Microsoft has introduced lightweight code commenting, which is the ability for developers to, in an informal and ad hoc way, comment on each other’s code and have conversations about changes they’re making all in a Web interface that can be used from any platform. And because it’s pure HTML5, you’ll be able to do it from an Android device.
Microsoft also has made some changes in the testing arena. In the Visual Studio 2012 updates Microsoft introduced a Web-based test case management and execution capability. With its Web version of Microsoft Test Manager, “we’ve made some continued enhancements, including the ability to connect test plans to requirements,” Harry said. “In TFS 2013 we’re going to call that scenario done.”
Microsoft TechEd 2013: Visual Studio 2013, TFS 2013 Bust Out
However, Microsoft in the 2013 release is announcing a new cloud load test service. The company has had a load testing product since 2005. It does a pretty good job and is part of Visual Studio Ultimate, Harry said.
“But one of the blockers for people doing load testing is the requirement to go set up the hardware to simulate 100,000 users on your app,” Harry said. “That’s a significant impediment. So one of our announcements is a preview of a Windows Azure-based load test service where you’ll be able to use Visual Studio Ultimate to write a load test, point it at our cloud load test service and say, ‘Go,’ and it will run your load test. If you want to simulate 50,000 users, it will simulate 50,000 users against your Web application.
“We think this is particularly compelling for Azure applications where you want to test large elasticity. … One of the many reasons people want to go to the cloud is the ability to scale their apps up and down easily.”
That feature will be demonstrated at TechEd, but users will not be able to use it until Build because it’s going to require a new client. Users will have to get an updated Visual Studio client that can do load testing against the new service, and the preview of the client will be available at Build.
Meanwhile, Microsoft is adding new collaboration capabilities to its core development technology. Team Foundation Server and Visual Studio have fundamentally been about collaboration. Now Microsoft is introducing a new feature in TFS 2013 that is at its heart a core collaboration feature. It’s called the Team Room.
The Team Room is a persistent record of what is going on in the team, Harry said. “So if you’re familiar with the concept of an activity feed, it’s a little bit like an activity feed. It is this nice running list of, ‘Joe made a check-in, and here is his check-in comment,'” he said. “Or a build just failed and this is the reason for that failure. Sally just requested a code review, and you can click and go do the code review.
“It’s a running record of all the activities that are happening on your team. But even more than that, it’s an active running record so you can drill into things but you can also comment on them,” he said. “So you can use it like a chat room. You can have conversations between various members on the team. You can say, ‘Hey, I’m trying to figure out how to do X. Does anybody know?’ It’s a super-quick interactive chat experience that’s integrated with all the activity that’s happening with your team. It’s a durable record, so you can scroll through the Team Room to see what happened.”
The Team Room is a core collaboration space for the development team to communicate with each other in a way that is in the context of all the activity that is happening within the team. That will be demonstrated at TechEd and made available in the TFS 2013 preview that Microsoft will make available at the Build conference.