Remarks by Robert Wahbe, Corporate Vice President, Server and Tools Marketing, and Jason Zander, Corporate Vice President, Visual Studio
May 16, 2011
ANNOUNCER: Ladies and gentlemen, please welcome Microsoft Corporate Vice President, Server and Tools Business, Robert Wahbe. (Applause.)
ROBERT WAHBE: Good morning. Good morning. We have been working hard behind the scenes to deliver you a great Tech•Ed this year. There are 10,000 registered attendees representing over 84 different countries. There are 800 Microsoft product managers and engineers here, not only to present many of the sessions, but to really engage in those strategic conversations that you want to have about the technology and the best way to use it for your business.
There is an incredible amount of content for you to choose from -- 551 different sessions this year, 250 hands-on labs. We're going to showcase a bunch of technology here in the keynote, but all of that drill-down is available to you in all of these different sessions. And for the first time ever, we are streaming a lot of these sessions for your colleagues back at the ranch.
We're going to spend about an hour and a half on two broad trends that are shaping the industry and are shaping Microsoft investment strategy, and that is the cloud, both public and private cloud computing, as well as devices.
The cloud promises to significantly reduce the building, the deploying, the managing of applications. And we're going to spend a lot of time on that in the keynote and drill in on that.
For devices, there is a proliferation of devices and of form factors. People are now carrying multiple devices, and they expect the applications and the data for their business is available on the device they want and optimized for that device. And so that creates a dual challenge for you. You need to be able to deliver that experience onto that device, but you also need to maintain the security and the control and the visibility that you need for compliance and for security. And so we'll talk a lot about that.
I wanted to kick us off with something a little bit different. I want to share with you a project done by a small team of university students who leveraged the power of the cloud, who leveraged the power of these inexpensive devices, but really aimed at helping a broad swath of disadvantaged people. So, I found this very inspiring, and I wanted to share it about the power of these technologies. Let's roll that video.
ROBERT WAHBE: The thing that I find amazing about that video, if you think back maybe only five years ago, would we be able to conceive of an application like this that uses these inexpensive devices, but also uses the notion of a cloud that's available worldwide to take that processing?
Now, this project was done in the context of a Microsoft-hosted competition called the Imagine Cup, and we actually have members of that team in the audience, as well as the first-place winners for the U.S. Imagine Cup, let's give them a really big round of applause. (Applause.)
It's really great and inspiring work. So, we're going to spend the next hour and a half going over cloud and devices. The first half I'm going to spend about 45 minutes showcasing both applications and platforms across cloud and devices, as well as the management of those to integrate into your existing systems, into your existing processes. And then for the second half, Jason Zander's going to come out, and he's going to talk to you about how the next version of Visual Studio, along with both System Center and Office, can work together to help you deliver custom applications that help you differentiate your business, that takes advantage of these trends.
And so with that, let's jump in. Let's start with the cloud, and let's start with the things that are happening today in your datacenter.
One of the biggest trends going on in the datacenter is virtualization driven by very solid ROI of server consolidation and enhanced management. I often hear that we're still early in this transition to a virtualized environment, and some of the numbers support that. Only 20 percent today, of servers, are being virtualized. And if you project out any number of years, let's say five years, that number is still under 25 percent.
But I think that understates the importance that virtualization is having in your datacenters today. So, let me give you some other views on what's going on around the datacenter.
Worldwide, we'll ship about 8 million -- as an industry, we will ship about 8 million physical servers. Last year, we crossed an amazing milestone. We now ship, create, more virtual servers than we do physical servers. And if you look at the install base, we are just about to cross over where we have more virtual servers in the install base than physical servers, and that will happen next year.
There's a world where virtualization is a key element in your datacenters, as well as the physical environment. And you have to have a strategy to manage and to deal with both of those environments.
One of the questions I often get is: Does this mean that as an industry we're going to be selling less servers? Are you going to be installing fewer servers because of virtualization? And the answer is: No. You're going to be installing more servers, and those servers are going to have more capacity. So, what that tells you is the business is continuing to ask the people in this room to do more, to do more automation, to digitize more of the business. And you're using virtualization as a tool to deliver that capacity back out to the business. So, there's still more work going on than ever before.
Now, when we look back, I think what we're going to find is that this move to virtualization is setting us all up for a much bigger inflection point, and that is the inflection point to the cloud, both public and private cloud computing. Taking all of those virtualized resources, tooling them together so you can dynamically provision and scale your applications and only pay for what you're using, whether you're paying a vendor like Microsoft or you have a chargeback internally inside your organization, so you're only paying for what you need for that application. This will be the massive inflection point in our industry.
So, what is driving this move to the cloud? Well, I think about three things when I talk to customers: Agility, focus and economics. On agility, this is not only about being able to deliver the applications more quickly to your users and to your customers, but also being able to respond to changes in demand. So, the next time the marketing department launches a campaign, doesn't tell anybody, your public website is underwater, it's very easy to scale that out quickly to meet that demand.
On focus, this is about having more people able to focus on higher-level parts of the stack, managing those applications SLAs, rolling out new applications, not having to worry about the underlying infrastructure.
And then the economics. Because you're running multiple workloads on the same overall infrastructure, you get better utilization across those applications. And because the cloud pools together these resources, you can buy broader sets of resources at one time, lowering the overall cost. So, for agility and focus and economics, you have great motivation to move to the cloud, and those benefits accrue to both public and to private cloud computing.
So, let's look now at Microsoft's offers around the cloud. So, for our public cloud, we have the broadest offering of anybody in the industry. We have the Windows Azure platform, both Windows Azure and SQL Azure, our operating system and our database in the cloud available for you to use.
Office 365, our complete productivity suite, with Exchange and SharePoint and Lync. We have Microsoft Dynamics CRM, and we have Windows Intune, having management and security for your desktops from the cloud. That's our broad, public cloud offering, and you'll see some of that in the keynote.
Now what if you can't use those capabilities in the public cloud? Whether it's security or regulatory issues, and you want to take those same capabilities, but you want to run them in your own datacenter. Well, you can do that on the Microsoft private cloud. That starts with Windows Server Hyper-V and System Center, and that provides the base infrastructure — the base fabric, if you will — to run the workloads that you need to run.
Now, on top of that, you can run all of the servers that you run today: Windows Server, SQL Server, the Office servers with SharePoint, Exchange, and Lync, Dynamics, and, of course, your third-party LOB applications and your custom applications that help you differentiate your business.
What you're going to learn as you go through the conference this week is that we have a lot of reference architecture information and performance data about how these servers work on the Microsoft public cloud. What you're going to find is the best way to run all of the Microsoft workloads on the Microsoft private cloud.
Now, across our public cloud offering and our private cloud offering, as part of our core strategy, we have common elements between the public cloud and the private cloud across identity, across virtualization, across management and across development.
So, with identity, Windows Server Active Directory, many of you have deployed Active Directory in your environment for security, for policy, for single sign-on. With the public cloud, those get extended so that if you have a third-party application, if you have an application that you've written for Windows Azure, if you're using Office 365, that policy, that single sign-on works in a public cloud, it works in the private cloud, and you can have a nice hybrid environment.
For virtualization, you bet on Hyper-V for the private cloud that works for the public cloud, and vice versa. And we're going to spend a lot of time in the keynote and in the conference going over management with System Center, as well as development for Visual Studio and .NET.
So, broad public cloud with the capabilities that you need, a private cloud that can run all of those, including your own applications, and then a core strategy and commitment from us to have commonality so you can decide for a given workload, does it make sense in the private cloud, does it make sense in the public cloud, does it even make sense to have part of it in both? You can make those decisions based on your analysis for your business of agility and focus and economics.
Now, over time, we think that most of your workloads, most of your applications, will run in the context of cloud computing, private cloud or public cloud. If you think about the characteristics of the cloud, the ability to dynamically provision, dynamically scale, only be charged for what you're doing, either chargeback or because you're using a vendor, there are classes of applications that we've been getting a lot of early adoption into your datacenters.
The first is extending existing applications, especially when those extensions are facing partner or customer where the demand is quite variable. Large datasets, data warehousing. We are growing business data as an industry; we are doubling that every year. So, you have the problem of storing these very large datasets, but even more so, you need all this query processing power to do the business intelligence to gather insights from that data, and those tend to be quite variable on how you're going after that BI. So, a great application of cloud computing.
High-performance computing. Not only do the many workloads for high-performance computing needs lots of servers, thousands, tens of thousands of servers, but for many environments that do simulation and modeling and analysis, they only happen every so often, once a week, once every other week, once a month. And so this is a great example of being able to only be charged for what you're using, again, either public or private. Events, media, video, all of that tend to be very -- spike in demand and -- a good candidate for cloud computing.
And then finally, a broad set of things that have variable demand, marketing campaigns, games, websites, all of those tend to be great candidates for the cloud and where we see a lot of early adoption.
What I want to do now is give two demos that really highlight the first two categories. Now, what you're going to learn in all the sessions throughout the week is that we are investing heavily in all of these scenarios. We have great assets in high-performance computing to help you with events and media, to make it really easy to build these websites that can scale easily, whether it's in the public cloud or in the private cloud.
But I want to highlight two of these, extending existing applications and large datasets, and I'm going to introduce the first one through a case study, and this is Travelocity, which obviously has a massive infrastructure in their own datacenter for running the Travelocity travel website, but they chose to use the public cloud to augment that with capacity. So, let's roll that video.
(Break for Travelocity video segment.)
ROBERT WAHBE: So this scenario, I think, is very compelling. But you're probably asking yourself, "How easy is it to really do this in practice?" Manage assets in your private cloud, in your datacenters, have a piece of that application that's potentially in the public cloud, and then be able to manage capacity and the data across those things? And so for that, I want to bring out Joey Snow, who is going to show you the capabilities in System Center 2012 that can make that quite the reality. So, Joey. (Applause.)
JOEY SNOW: Thanks, Robert. Good morning, everybody. All right, thank you. As we've been talking a little bit here, we're starting to see different organizations leverage the cloud in different ways. But what you need, in this audience here, you need the tools. You need to be able to manage across both your private and public cloud environments.
So, what I'm here today to do is I'm going to show you three scenarios leveraging some really cool, exciting technology in System Center.
So, what we're going to do first is I'm going to provision some new private cloud resources. Secondly, we're going to deploy an application into that private cloud, and then third, I'm going to show you how we manage all of this.
Now, of course, it wouldn't be a good Tech•Ed demo if I didn't have a scenario to talk about. So, I'm going to change hats a little bit, and I'm going to become the HR application owner for Contoso. And as part of my responsibility as being the HR application owner, I have to deal with applications, and my applications run both across my public and private clouds.
I have an application that's currently running in the line-of-business application. It's a new version, we've been running it in test for a while, and it's time to move this thing out into production. In order to do that, though, I first need to provision some new resources in the private cloud, the production private cloud that my organization has.
Now, the IT department has been nice enough to provide me with a service console to kind of get some of this going from a self-service perspective. So, let's go ahead and take a look at this service panel here. And you'll see, I can request resources located within the private cloud, as well as in the public cloud with Windows Azure.
Of course we're going to deploy this to the private cloud, so let's go ahead and get that request started. There are only a few clicks that I need to actually fill out, some cost center information, the cloud that I actually want to deploy to, which is my production cloud, and then there's this third section here, which is really unique in the fact that our IT department has given us various options or capacity packages that allows me to choose what's best for my application, but it also allows the IT department to provide lower-cost offerings for folks who may not need these high-end, platinum packages.
Now, of course I need that big platinum package there with all the bells and whistles that I can get, so I'm going to go ahead, and I'm going to request that.
Now, what happens next in various IT organizations is this could kick off a chain of different activities. You may have to deal with the storage guys, the networking guys, this could take eight days, it could take eight hours, it could take eight minutes, just really kind of depends on the organization.
Well, what we've done here and Contoso's done is they've got automation. Automation is what you guys here all need to kind of get out of doing some of these tasks that are very, very repetitive. And I want to just give you a quick little look behind the scenes at a tool in System Center that is handling all of this automation, right, and all this orchestration. All we're simply doing is validating that I have the available resources in that cloud, making sure that my role currently doesn't have permissions, and if it does, it's going to go ahead and close the ticket; if it does not, we're going to go ahead and grant me access to these resources.
So, that's step one. We're already finished with that. Step two is getting an application deployed into that new private cloud.
Now, I'm responsible, as I mentioned, for things across both clouds, both my private and public clouds. I don't want to have to deal with a whole bunch of tools to manage this. What you're looking at now is the new System Center 2012 console that is giving me visibility into not only the private cloud that I have access to currently in test, but also two separate Windows Azure subscriptions are being shown right in this panel.
Now, I'm going to click refresh and see that we've got access to our production cloud, and now it's time to deploy. I don't want to go to another console to deploy; I'm ready to do it now, so I'm going to go ahead and click deploy. We're going to choose a BMM service. Now, applications consist of many different layers and many different levels, right? And when we look at, think about applications -- we in IT think about it -- we're worried about the servers that they're running on.
As an application owner, I just care that I have my database tier, my Web tier, my application tier, and that I see that. This is a unique view in choosing this type of a deployment that you're seeing here.
As we continue on, because I've got this application running in my test environment, we've already done several deployments. So, I worked with the IT department to go ahead and get this template-icized, right? A template that allows me to do this test over and over and over again in a very consistent manner.
Now, check this out. I love this. I click OK here, and what you're going to see is it's expanded out. I'm not looking at virtual machines. I'm not looking at servers. I'm looking at my application as a whole. And I can actually go in all of these areas that there's a various hyperlink, I can go in and configure the various aspects of this particular application service.
So, let's go ahead and start this deployment off. Got a lot of stuff it's got to go do, so we'll go ahead and leave that for now. Move into this third area, and talk about managing applications. Because we all know once we get them deployed, we've got to manage them.
So, I'm going to click the services tab here. And what this is going to show me is I'm going to have visibility into every single one of these applications that I'm responsible for no matter if they're running in the private or public cloud.
You can see that I've got various aspects of my clouds, I've got test clouds, I've got production clouds, and I can see all of these applications. Here's this line-of-business application we just clicked "deploy" on. This is the test version of that app. And what I want to show you here is I now have a management console that looks just the same as my deployment console. In fact, this is what I really like. I can right click in here. I can shut down or pause or power off or even get into the console of an individual instance. And if there was ever a reason to shut down a particular entire service with all three tiers, I can do it one click of a button.
All right, so you're probably sitting there thinking, “Hey, Joey, that's cool because you're running all of that within your own private environment. But what about stuff that's running up in the public cloud? What about some stuff in Windows Azure?” Well, we're headed towards the end of the month, and as the HR application owner, I've got this payroll app. And every month at the end of the month, we've got to run a bunch of batch processing. And it's time for me to increase the number of instances for my Web role so that we can scale this up.
Now, you'll see here, exact same view. Exact same console as what I'm running in my private environment. And I can do some of the similar things that I could do in my own private environment. I can reboot, I can re-image these Windows Azure instances.
In this case, I'm going to go directly from the same console without having to go out anywhere else, and I'm going to scale this out. We need four instances of this for end-of-month payroll processing, and I'm going to go ahead and scale that up, and let's go take a look at what's happening in the background. Once we get all these applications deployed, we've got to take a look at the status of them. And you'll see here, this is my initial deployment. It's already starting, and it's running. You'll also see this is this new scale-out that I've just done for my public cloud application. I can just kind of keep an eye on only the roles or those jobs that my particular role is responsible for.
So, just real quick, wrapping up, we did some self-service provisioning, made it very, very easy for me as an application owner to provision some resources. We deployed an application using a very unique service model, and then finally, I can manage across both my public and private clouds.
Thanks so much, I hope you have a great Tech•Ed. (Applause.) Thanks, Robert.
ROBERT WAHBE: Thanks. Pretty awesome capabilities in System Center around cloud computing.
Let's now turn to the second scenario we were going to do a demo on, which is data. And there really are kind of two basic challenges that we have to do around data, one of them is gathering insight on these increasingly large datasets, and then presenting that back to the business in ways that they can easily consume -- so that's part of it, that's the insight part of it.
There's also the oversight part. So, do the people who are getting that business insight, which tends to be critical data for the enterprise; do they have the permission to do that? Do they have the security? Do they have the rights? And how is all of that being managed, and how is the SLA being managed?
And so I'm going to have Amir Netz come out and talk about both the insight and the oversight of our new technologies in SQL and in SharePoint and in Office. Amir?
AMIR NETZ: (Applause.) Hello, everybody. So, last year on this stage I demonstrated the fantastic new power we now give to all Excel users. Using PowerPivot for itself, end users can bring data from virtually everywhere into Excel. And with the engine of PowerPivot, it could be a lot of data.
Let's look here, for example, at the purchase table. Look at that, over 100 million rows directly inside Excel. Bring the data into Excel, clean it up, add your own business logic to it, and mash it up into one cohesive schema that combines all the tables that you brought in.
This is where fun really begins, because still within Excel, you can go in and build your own complete analytical BI application where you can go in and slice and dice the data, visualize it, get really deep visual insights into what's going on here.
Now, when you're done and you're ready to share the application, share the fun with other users, all you have to do is just save this workbook into SharePoint. And when you save it to SharePoint, a lot of interesting things are happening. First of all, you are going to get a full Web-based browser interface through the Excel workbook. But the more interesting thing that is happening is that all of the data that you accumulated in the workbook in Excel is being extracted from the Excel workbook into an analysis services database. Which means that other tools can connect to the data and query it. And this is where the self-service BI saga continues with self-service reporting, with Project “Crescent.”
Project “Crescent” is going to be shipped as part of Denali. The best way to think about Project “Crescent” is it's PowerPoint for data. You can see here on the right-hand pane, the data that we assembled there inside the Excel workbook and save it to SharePoint. And what we're going to do is create an interactive presentation of that data.
So, we start with putting the list of movies, and the whole database here is about movies. The list of movies on the screen by clicking on the movies table, and it's already on the screen, it's very fast. “Crescent” is really good at shaping data. So, we're going to take this simple table, we're going to resize it a little bit and change its shape from being just a simple table of rows; we want to put a card for each movie, just one click, it look so much better.
We're going to add a little bit more items here into these couple of charts. We're going to look at the ratings of the movies and the sales for each rating group, and we're going to make it into a column chart. Going to do the same with the genres and make it into a bar chart. And just like that, within a few clicks, we have a beautiful presentation of data on the screen.
But not only that this presentation is beautiful, but it's already fully interactive. So, if I want to see the PG-13 movie sales, all I have to do is just click on PG-13, I see the list of PG-13 movies, and I can also see the portion of the PG-13 movies out of these various genre sales.
If I want to look at the R-rated movies, I click on R, and I can see, you know, 28 Weeks Later (inaudible), clearly an R-rated movie, and I can also see something very interesting. I don't have any documentaries that are R-rated movies. And in the sci-fi section here, there are almost no R-rated movie sales, and this kind of gets me to wonder. You know, I know a lot of R-rated sci-fi movies, you know, Alien, Predator, all the gory, bloody movies, you know, something is going on here. How come we have so little R-rated movie sales sci-fi?
So, we're going to explore this a little bit. I'm going to go and convert the genre chart to a scatter plot, I'm going to compare the revenue to the downloads, and I'm going to use the number of titles as the size of the bubble. And I can see that comedy and sci-fi are my bestselling genres, but I have way more titles in comedies than I have in sci-fi, almost no -- you know, very, very few titles in sci-fi. That's interesting.
I'm going to just continue the exploration here by adding play axis to the chart. This will allow me to understand how things evolved over time. You can see from the beginning of time how the sales of the various genres are going -- it's a little bit small. So, like everything else on the screen, we can just make it a bit larger, and now we can see it much more clearly.
You know, you can see here again, comedy and sci-fi; these are the sales in July of 2010. You can go back in time a little bit and see how they look like in May. But what I'm really interested is to understand the path they went through. So, I can add trackers here to the comedy and sci-fi, and I'm going to take it from the beginning of time, going to do an instant replay of the whole sequence here. I'm going to do it broadcaster style, OK, ready?
Let's play it. You can see out of the gate, comedy is way, way, way ahead of the pack. Will there be anybody to challenge comedy? Where is sci-fi? Here's sci-fi, he's actually breaking through, he's ahead of comedy, he's winning the race!
Having fun with data, and this is what we're getting from the users. Have fun with data. If you have fun with data, you're going to have a very successful BI implementation.
We also learned something very interesting. We saw that sci-fi started very slow, but the last few months had this fantastic momentum. And we might be wondering what's going on here.
So, we can select sci-fi here, put it back into regular form, regular size. And you can look at the list of movies, and everything becomes clear to us. The release of Avatar, you know, a giant blockbuster and that's what brought the sci-fi sales to be so great in the last few months after the release of Avatar.
You can see here that the power of insight we now give to end users, not only with PowerPivot for Excel, but also with this self-service reporting, Project “Crescent,” that is going to be shipping as part of Denali.
Now, as IT professionals, we look at all this power of insight, and we're kind of maybe feeling queasy. You know, users mashing up their own data, creating their own reports, you know, what about security? Are they getting the right data from the right places? Are they sharing it with the right people? What about compliance?
And this is where things are really becoming interesting. Because by the mere act of saving the workbook into SharePoint, we also get a lot of insight into what the users are doing. We actually can start getting an oversight function over here because we collect all the actions that the users are doing with the data, and with those actions and with those logs of information, which we put into a PowerPivot model, we can use the same kind of tools that users are using to analyze the data, we can get our own oversight.
So, we can go as IT professionals and look at the performance behavior of the system. And you can see, for example, I have a spike on one of my services on Saturday; I can click on it and see the performance profile on Saturday. I can see the CPU load on that server.
Or even more interesting, I can go in here and drill down into the various workbooks that the user saved into SharePoint and see for each one of those, you know, who created them, what is the usage profile on those, where the data is coming from, who are the top users that I have here?
I can also see what are the most commonly used workbooks by looking at the user account; I can look at the number of queries being sent to each one of the workbooks, and I can see that one of the workbooks here, the U.S. sales one, has a lot of users and a lot of queries. So, I can click on it and drill down to understand what's going on.
I can see that one of my end users created the workbook. I can see that lately there has been a spike in usage, and I can see that one of those users is a president in the company. And I might think to myself, you know, an end user creating an application that the president of the company is using, that workbook must be very important, maybe even mission-critical. Maybe I should take that application and own it myself as an IT professional. I should go to Ashvini and say, "Ashvini, you've done a fantastic job, the president in the company is using your workbook, great job, but time for you to go, I'm taking over."
And the way for me to take over is not to keep that data in Excel. I can bring the whole application into Visual Studio. And you can see here, within Visual Studio, you can see that the whole interface is still the PowerPivot interface, but now it is in that professional tool where we can get sales control, development, lifecycle management, and we can get a bunch of other features that end users typically don't care about like security. I can get here role-level security. I can get here partitioning, which allows me to scale the application much higher. And you can see that we scaled it much higher. I have in this one over 2 billion rows here using this partitioning capability. You can see there are over 2 billion rows.
And, you know, using that engine that we saw before now working on a larger scale, this is fast, you know, wicked fast. I can go in and sort 2 billion rows. Let's go from the largest to the smallest, from the smallest to the largest. There are no indices here, no caching, you can go and look just at the sales that we did in Canada and 2 billion rows are now filtered to 18 million, just beyond wicked fast, this is the engine of the devil, right? (Laughter.)
So, this is what we are building here. We are building here a system that on the one hand gives end users the power of insight, but at the same time, gives us IT professionals the deep understanding of what's going on, the power of oversight where we can see how the data is being used, how it's being shared with other users. And when we find something that users have created and is worthy of becomes an enterprise application, we can bring it over to the professional environment, scale it up, secure it, and take over. Insight and oversight. Thank you. (Applause.)
ROBERT WAHBE: Thanks. That is amazing. Two billion rows.
So, let's switch gears. We've talked a little bit about the cloud, now let's talk about devices. I said earlier that we have a proliferation of devices and that people are carrying more devices, they expect those devices to have the applications and the data that they want. In fact, in a recent study in the U.S. here, the average devices for adults were more than four. Which means that probably a lot of us in this room have six and seven and eight.
And we know that one of the mainstay devices now for ourselves and for all of the users that we support is the smartphone. In fact, we crossed over an amazing milestone where we are now, as an industry, shipping more smartphones than we are PCs. And so we really need to think about optimizing those experiences for this new form factor, which is a reality for the users.
And, in fact, smartphones are going to grow incredibly. Between 2011 and 2014, 81 percent growth. So, incredible amount of growth in that category.
So, I want to come out now and do a demo of two things. One is some of the innovations that we're doing in the Windows Phone, but also how we are optimizing those experiences for your users with Office and Office 365.
Now, the demo we're about to do will show you many things that have never been shown publicly, so this should be a lot of fun, and for that, let me bring out Augusto Valdez and talk about the new cloud-based productivity. (Applause.)
AUGUSTO VALDEZ: Thank you. What I'm going to do now is I'm going to show you Windows Phone. Windows Phone 7 is a great device; I've been loving it for so long time now. I play Xbox game with it; I watch my movies in there. I also listen to my music.
But it's also designed for productivity right out of the box, so it's a great productivity phone. We are releasing a new version or a new update for Windows Phone called “Mango” towards the end of this calendar year by the holiday season. We're taking the productivity in the phone to the next level.
During the next few minutes, let me show you just a little bit of some of those things that we are releasing with this “Mango” release later on this year during the holiday season. Remember, every single Windows Phone 7 available today in the market is going to be updatable to this new release. So, what you're going to see today are things that we have not shown before; we're showing them for the first time, but it's just a little bit of them.
So, this new release about increasingly our productivity functionality, we are basically having that by having access to, for example, things like Office 365. So, we have a great connectivity now with the private cloud, but we're moving that into the public cloud, as well with Office 365 support.
So, what I would like to do in the next few minutes is instead of showing you Office 365, the backend system how it works, let me just show you how the basic client applications connecting to Office 365 will help me become more productive.
So, for example, the first thing that we have is that we're going to have now a Lync mobile application coming with the phone that you can actually acquire for free from the marketplace and being able to access to your Lync services, whether they are on-premises using your private cloud or your public cloud using Office 365.
You see, this is a new Lync client that we're showing for the first time today. Here, I can see my own photograph. I can change my status update, as you can see, showing me that I'm out of office, but it's also showing me my status, and I can change that anytime that I want.
If I swipe to the side, I can see here all my list of contacts. And as you can see, it's showing me the groups that I have all my Lync applications on my PC are replicated here to my mobile client, so I see exactly the same thing that I see on my PC.
And if I swipe to the side again, now I can see all the different conversations that I have at any time, so I can actually track why I'm having different IMs with people.
So, something that I want to do is I want to start working with a group of people that I've been working on a particular project that is really hot right now. So, I've created a group in my Lync client on my PC -- that again is shown here. And I want to ask Eric right here where is the latest RFP that the vendor was sending us for that project.
So, I'm just going to ask him here, “Where is the RFP?” As you can see, I can correct that really quickly, and then send it over.
So, now we're using the secure Lync IM system to communicate with my work colleagues, and I can have access to all that information at any time. I can have access to them, search for them, see what their availability is, and many more other things that we're going to be announcing later on about what we can do with Lync and the integration that we have with Lync services, again, whether they are on-premises or they're online.
So, hopefully Eric is going to be seeing this IM really soon. Will be replying. (Pause.) Let's just move on, then, probably he's not paying attention to his computer right now. So, what we'll do is we'll move along.
I'll show you where we have the document for the RFP. So, what I know is that basically that RFP is sitting down on my e-mail, so what I can do now is I can actually go back into my start, and you'll see here that I have two different icons. One icon that is from my Outlook inbox, and that is my full inbox. But something that we can do now with this new release is that we're going to be able to have access to folders that are in my folder structure in Exchange whether it's online or on-premises.
So, if I go to my project folder, what I'm doing now is instead of going to my inbox, I'm going to one particular folder directly from my start screen, so I can actually have access to those e-mails that I've been filing in that particular folder.
From here, I can see all the e-mails that I have, I can swipe and filter and show, for example, only the e-mails that are in red, those are in my inbox as well. I can swipe again, and I can show flagged e-mails. I can see urgent e-mails as well; it's really easy for me to filter my inbox.
Here, I go back into my home, and you'll see that I have here e-mails that I have flagged, that I have forwarded, and all those things. And this particular e-mail, this one from Sally, for example, as you can see, there are three little dots in there. That means that this e-mail is not an e-mail, it's a conversation.
So, with conversation view here, you see how can I expand that or collapse it. So, it's really easy for me to actually track down a conversation, the same way that I do it on my PC, enabling in this new release conversation view here, and I can apply things to any particular e-mail, the entire conversation, or to the whole thread if I want in a very easy way. So, that's super easy for me to do.
That way, also what is important is that the e-mails that have been pulled down into the conversation view are not just from these particular folders. You have filing e-mails for the same conversation in other folders, they're going to be pulled into here because this is not just grouping by subject, it is really using the conversation ID that we have in Exchange, so this is conversation view done right.
Now, if I move ahead a little bit, you'll see that, for example, I have here this e-mail from Katie, which is the e-mail with the RFP information. I can click on it, and as you can see, there's a little lock in there. That lock means that this e-mail has been copy-protected. So, we fully support as well now in this new release IRM. So, we're going to be able to secure e-mails that you couldn't actually do something with them depending on the policies that you apply to the e-mail.
If I click on the protected message, it's actually telling me that it's Microsoft, do not forward. So, I can read the e-mail, I can reply, but I cannot forward it to somebody else. And if I, for example, try to reply to the e-mail, you see that the reply and reply all options are available, but the forward option is dim, so I cannot do anything about it. That way, we are securing information inside the enterprise, and you cannot have data leakage outside of the organization, even from your phone.
Now, this e-mail is not just about -- it's not just letting me actually look at the information, but it's also having information to connect me and to let me go into SharePoint Online services. So, that's the last part of the demo where I show you also how we can connect into SharePoint Online services, in Office 365 public cloud.
So, if I click on the link, what is happening is that instead of going into SharePoint on-premises, it's actually going to Office 365 and it's showing me the list of documents that I have in that particular shared folder, directly here from my phone.
What I can do is I can actually open up that Word document, and the document, again, is being opened from the cloud down here to my phone. I can check into the summary. I can see, for example, that I have a comment down here, and something that I can do is I can say that I want to edit this thing. And I can add a comment here -- since we're trying to improve profits here, what I can do is I can actually ask the team to go back into the vendor and ask for a discount. So, I can actually write that down, and then I can select this. And instead of writing down into it, I can actually just send her a comment and say for discount. There you go. There you see my comment is right there; I can look at it at any time.
And if I click back and back here, it's going to ask me if I want to save that document. I'll just say yes. And what is happening now is that the document is saved back into the SharePoint Server in the online Office 365 service, so everybody else on the team who has access to that same online service will have access to the latest version of the document.
So, with this, we're just giving you a small peek at what we can do with the next release of Windows Phone, code-named “Mango,” that we're going to be releasing later this year. We're very excited about it -- hopefully you guys are, too. This is just a little bit. There are many more things that we're going to be having in that release and looking forward for you guys to look at it. Thank you very much. (Applause.)
ROBERT WAHBE: Thank you. Thank you. It was great to see that level of innovation on the phone both with Windows Phone and Office 365.
Now, phones are critical going forward, but we also know that the way the majority of our users experience the applications, the experiences, and the data that you provide is through the PC. And the best way to do that is with Windows 7 and Internet Explorer 9. Windows 7 is the fastest-selling operating system in history. We have 350 million licenses sold. So, it's really incredible how much adoption and excitement there has been around Windows 7 on the PC.
There are also additional ways to build on that to deliver the experiences that you want onto that desktop; one of them is application virtualization where you take an application, you sequence that application, which virtualizes the way it interacts with things like the registry and the file system so that you can then stream that application from the server onto the desktop and also move that people more easily across computers.
Another thing that many of you are very familiar with is desktop virtualization through sessions. So, this is using remote desktop services, having sessions or basically accounts on the server, you get great density, you can run lots of applications and then remote those to your users, but maintain the control of that server environment.
Now, a relatively new idea is to actually do what's called VDI, which is running the full virtual machine on the server and then remoting that experience down to the desktop. And that gives you an additional level of control, an additional level of compatibility because you're running the full desktop operating system on the server, but it does require more resources than something like these session virtualizations. So, there are tradeoffs there, and there are many sessions that can help you make those tradeoffs based on what you need for your business.
I'm actually very excited to announce that HSBC, one of the largest banks and financial institutions in the world, has decided that they're going to do their VDI implementation on the Microsoft private cloud, Windows Server Hyper-V and System Center. And what makes this somewhat remarkable is that when they get through their planned deployment, they will have 100,000 VDI desktops under management, making it by far one of the largest VDI deployments in the world.
In addition, they are going to be running all of their SharePoint and SQL on the Microsoft private cloud as well, so it's great to see a company like HSBC betting on the Microsoft stack, and I think it really is a testament to the level of maturity we have both with VDI and the general private cloud, so that's great.
Now, when you're thinking about the PC virtualized or not, when you're thinking about all of these devices, you need to be able to exert a level of policy and visibility and control and general management, and you want to do that from a single pane of glass in a common way across all of these devices. One of the things that we've announced is that, in System Center 2012, you'll be able to do that not only with the Microsoft devices with Windows and Windows Phone that you just saw, but also with your heterogeneous environments. So, System Center 2012 will support IOS, iPads and iPhones. It will support Android. It will support Symbian. So, System Center is really an end-to-end management console that gives you what you need to manage those things across the board.
So, let me now switch gears a little bit and talk about some future possible device interactions and innovations that are happening. If you think about gesture and you think about the Kinect, it has changed the way we play. In fact, the Kinect is the fastest-selling consumer device in history. But gesture and the Kinect also have the possibility of changing the way we work. And so you can think about how would you bring gesture into the work environment? And it could be with simulation and modeling. It could be with new ways to interact with the customer. This is an interesting example from Sunnybrook Health Sciences Center in Canada, where they looked at bringing gesture into the operating room. So, let me share that with you now. Let's roll that video.
(Break for Kinect Surgery video segment.)
ROBERT WAHBE: So that's great. And I think there's a real possibility of innovation and differentiation as you think about for these specialized applications bringing in gestures into the work environment.
So, I want to end this part of the keynote in some ways the way we began, with something different that really kind of sparks your imagination, is fun and really brings together the power of devices, next-generation devices, like the Kinect and the power of the cloud. And this is one of the coolest demos that I've seen, so let me bring out Edwin Yuen to show you what's possible with devices and the cloud.
EDWIN YUEN: Great, thanks, Robert. (Applause.) So Microsoft Research has been working with NASA, the European Space Agency, other agencies and universities around the world to compile planetary data and astronomy data into a single program called the Worldwide Telescope.
And with the release of Kinect, Microsoft saw a great opportunity to take that interface and literally bring the world and the plants to your fingertips.
So, here we have the Worldwide Telescope interface. And I'll go ahead and select the planet Earth. And not only do we see the planet Earth and low-Earth-orbiting satellites in pink and geosynchronous satellites in green, but I can actually pan and take a look at the planets just using my hands and Kinect. And I can go in and zoom in and then zoom out.
And we can actually zoom out of the system and take a look at our entire solar system and all the planets that make it up. We can get a much better view here.
Now, using the Worldwide Telescope program, I'm going to open up a menu. And we're going to go look at another planet -- in this case it's going to be Saturn. And Worldwide Telescope will take us on a tour. It will fly us right to that planet. And as we get close, you'll see what looks to be a ball of string, maybe something that your cat should play with. And really what those are are the orbits of asteroids that have been captured by the planetary gravity of Saturn.
And as we get closer to Saturn, we get this beautiful view of Saturn from the Cassini spacecraft, and again, we can go ahead and pivot around it and take a look at all of Saturn and its 53 moons.
Now, obviously, our solar system is just a small part, one of millions of solar systems within a larger galaxy. So, what we're going to do is we're going to back out of our galaxy, of our solar system here. And we're going to pull back into a view of the Milky Way itself. So, here's our entire solar system. And as we continue to back out, we'll see the Milky Way, center it on our system, and again, pan around, take a look at all the different solar systems that make up the Milky Way galaxy. And then just like our solar system, the Milky Way galaxy is made up of millions -- I mean, the known universe is made up of millions of known galaxies.
So, what we're going to do is we're going to back out again, and we're going to use data from the Sloan Digital Sky Survey, which is going to show us the entire known universe and all the galaxies and positions within. And from here, we can actually back out a little bit more, and we can see the entire structure of the known universe. We can pan around and zoom in and look at nebulas and constellations and other things that we're all familiar with.
Now, the Worldwide Telescope program not only allows us to travel through space, to look at stars and constellations and planets, it actually allows us to travel through time.
So, I'll open up the menu again, and this time we're going to go to an event that's going to occur in August of 2017. As I select that event, Worldwide Telescope will take us on a tour back through the known universe, back through the Milky Way galaxy, back into our solar system again, and we're going to go right onto the planet Earth again.
And as we pull close, you'll see those satellites moving in real time, including those green geosynchronous ones, and the pink low-earth-orbit ones. And we're going to take a closer look here at North America. And what you'll see is a little black spot that's moving across. That actually represents a solar eclipse that's going to occur in August 2017. It's going to be the greatest solar eclipse in our lifetime. In fact, if we look really carefully, it's going to fly right over Atlanta. So, if we were to wait here a little over six years, we could go outside and see this amazing eclipse. I know I can't wait to see it myself. Thank you. (Applause.)
ROBERT WAHBE: One of the coolest demos. The power of the cloud, the power of devices coming together. So, that has been a brief showcase of a number of technologies, applications, platform technologies, management across both cloud and devices, and I hope you're as excited as I am about how these technologies are going to change how we play and change how we learn, but also clearly change how we work and how we deliver applications and services to our users.
At this point, Jason Zander is going to come out for the second half of the keynote and talk about how the next version of Visual Studio, along with System Center and along with Office, can help you build differentiated applications that you can use in your business. All the things we talked about here have great detail in the foundation sessions and in the more detailed sessions. I hope you have a great conference, and thank you very much. (Applause.)
ANNOUNCER: Ladies and gentlemen, please welcome Microsoft Corporate Vice President, Visual Studio, Jason Zander. (Applause.)
JASON ZANDER: Good morning, everybody. Everyone excited to be here at Tech•Ed? This is one of my favorite conferences, right, because well, it must be, this is my third Tech•Ed keynote actually in six months.
Now, why do I like going to Tech•Ed? Because, you know, I spend a lot of time with developers, I love spending time with developers around developer tools, it's very important to me. But we also have our IT professionals in the audience; we have both here. And, as we all know, producing customer software and making sure that it's going to be very successful, we've got to have both of us working together, OK, IT professionals and developers.
Now, today what we're going to talk about is a set of things that are for everybody here. OK, we're going to show some great developer tool stuff. We've got some new stuff we haven't shown to anyone before, but we're also going to go through and talk about new features that we're bringing out with System Center and Visual Studio and Office, as Robert talked about, giving us capabilities to be able to manage software, build great software, pull it all together.
Now, to get started, I want to bridge what Robert talked about before, which is devices in the cloud. And we all know that we're getting a proliferation of devices. We want you to be able to target all these devices, as well as be able to put lots of software and technology into the cloud as well.
Now, from a developer standpoint, I want you to be able to leverage your skills for all these new inflection points that show up. So, for example, if you learn a language, like Visual Basic or C#, or a runtime, like .NET, and you learn core Visual Studio, that's the same set of skills that you're going to need each time something new comes out.
So, if you're an ASP.NET developer, that means you can write SharePoint applications. It also means that you've got the skillsets required in order to be able to deploy into Azure. And those same skillsets work for all the cool phone applications that you just saw here as well, and even the cool, you know, Kinect demo that we just saw, it's really awesome. SDK is coming out pretty soon; you'll also be able to use Visual Studio -- maybe you can write an equivalent kind of application in your space -- you can do very, very creative things. So, we wanted to enable that kind of opportunity for you.
Now, to get started, I mean, we're going to use a particular sample, we're going to talk about what I think is a very common kind of case, which is I've got a company Fabrikam Fiber, kind of like a cable TV sort of company. I've got a call center and internal applications behind the firewall. I'd like to unleash some of that same value that's in there, but get it out there for customers to be able to see.
And I want to do that in a very secure way. I want to do this in a robust way. I want to be able to do it quickly because I'm being asked to write a lot of brand new software along the way.
So, with this example, we're going to take our call center applications, we're going to extend it into the cloud and give us the capability of exposing some of that customer data. We're going to put our phone endpoint out in front of it, show you how easy that is to pull these two things together and handle Windows Phone, but all sorts of devices as well because I think you're getting demands for that.
And then we're going to talk a little bit about, you know, how do we get these new features in here in the first place? Because the stuff just doesn't spring into life. And then we'll close by talking about how we can get management going of the applications because dumping DOLs into a directory, that's kind of necessary, but not sufficient. I've got to get the thing running, get it out there for customers to take advantage of.
So, we're going to start off right away by constructing our first application using Visual Studio. For that, I want to introduce Drew Robbins to show us how to do that. Drew.
DREW ROBBINS: Thank you, Jason. (Applause.) Good morning. Great to be here at Tech•Ed. So, what we're looking at here is the Fabrikam Fiber call center application. The operators used to schedule technicians to go out and handle customer calls. And so what we're going to do is just take a look at how it currently works today.
So, I have a ticket here that's not been assigned. So, let's just click on that and view the details. We'll go ahead and assign this to a technician. What we're doing here is actually looking for technicians that are available in the area that have some time on their schedule. And so we'll go ahead and select this first technical and confirm that. And so, great, that's been scheduled.
Now, the problem here is that the technician is already out in the field, and they're not going to check their schedule until they come back to the office. So, what we want to do is actually enable the technicians to use their smartphones that they carry with them to get updates out in the field. We also want to make them aware when they're going to be late to an appointment so that they can let customers know.
We're going to do that by using a cloud plus devices solution. So, we'll leverage the infrastructure that's available in Windows Azure, and we'll also use the richness of the Windows Phone 7 platform.
So, let's begin. So, we'll head over to Visual Studio, and we're going to use the Windows Azure toolkit for Windows Phone 7. This toolkit adds templates to Visual Studio that include a template for Windows Azure and Windows Phone, as well as the class libraries and Azure services that we need for our solution.
And so here, I've already created the solution, and we can see that we have an Azure project, a Windows Phone project, and an ASP.NET MVC project. And I can go ahead and run that right out of the box. And as that's deploying to the emulator, let me tell you a little bit more about the toolkit.
The toolkit is available for free on CodePlex.com as a download. It includes support for storing information for your phone application in the cloud, as well as sending notifications from the cloud to your device.
Last week, we released support for Apple Push notification, and today we're releasing support for integration with the axis control service. And later this summer, we'll release support for the Android cloud-to-device messaging platform.
So, great, my application has started here in the cloud. So, let's just move that over to the side of the screen and bring up my emulator for the phone. Let's actually go and launch the application.
So, you can see here that I have integrated with the access control service, this support is included in the toolkit, and it allows me to integrate with multiple identity providers without worrying about the implementation of each identity provider.
So, what we're going to do is login with Windows Live ID. So, I'll type in my Live ID credentials, and then we'll type in my password and sign in.
So, from this screen, then, I can go ahead and enable push notification. Once that's enabled, I can go back to the start screen so I can receive a notification.
So, I'll switch over then to the MVC application that's running in the cloud, and I'll login. I'll login with my admin credentials. And then I can click on Microsoft push notification, and I'll see a list of all the users who have registered for push notification with my cloud service.
And I can use this screen then to send a toast notification. So, we'll send a toast, and over on my emulator, you'll see it show up. I can click on that. It launches back into the application, and I see the toast message there in the application.
So, while this functionality is actually included in the toolkit. So, all we need to do now is customize this for the Fabrikam Fiber scenario. Let's close our browser. Go back into Visual Studio, and I'm going to open up a solution that we've been working on earlier. And what we've done here is used the toolkit -- do you see the same Azure project? The same phone project and the same ASP.NET MVC project, but we've also added a worker role. And a worker role will monitor our call center application for new scheduled items and then trigger the notification.
In the phone application, we added a screen that allows the technician to see their current schedule, and all we need to do now is finish the push notification code on the client.
So, I'm going to go to an event handler that triggers right after we sign into the applications, and I'm going to add some code here. And this code actually creates a notification channel. It registers for some event. For example, when a notification is received, we'll add a new item to the agenda. We open up the notification panel, and then the last thing that we need to do is actually bind to either the application tile that's on the start screen or to the toast message that appears at the top of the screen like we saw earlier.
And so in this case, we're going to bind to the application tile. We're done coding, so let's go ahead and run this. And you'll see one other thing here is that we've done the work to integrate Active Directory into this solution as well, and we've leveraged that access control service again, so we didn't have to worry about the implementation.
So, I'm going to login using my Active Directory ID. We'll type in my username and my password. And now I'm viewing my schedule for the current technicians. And we can go and check out details of each item, and then we can go back to the start screen, and we can pin this application to the start. And in a few seconds, we'll receive a notification for an item that we scheduled earlier for this technician, and there's our notification.
Let's go back into the application because there's one more thing that we want to do. We want to make sure that the technicians know when they're going to be late to an appointment so they can call ahead to the customer and let them know. And we want to do that by estimating how far they are away using the GPS on the device.
In order to simulate that during development, we're going to use the new “Mango” tools release, which will be made available later this month. And so let's actually expand the “Mango” tools simulator here, which is a really cool addition to the development tools. And this allows me to actually simulate different sensors on the device. So, I can simulate the accelerometer. I can simulate dropping my device, and I can also simulate the location.
So, here I have a map, and I can put different pushpins on the map. And as I place those pushpins, you'll see that the application recognizes that the GPS location changed, and you may be a little bit too far away from your next appointment, call the customer and let them know you're running late.
So, great, we had the functionality we need in the phone application and in the cloud application, so let's go ahead and deploy this to Azure.
I've already deployed a version of this earlier, and so let's take a look at that. So, here I am in the Windows Azure portal, and you can see I've deployed several instances across two different datacenters in Windows Azure, the north central U.S. and the south central U.S. datacenter.
So, this is not only letting me leverage the infrastructure available in Windows Azure, but I'm also getting geographic distribution here. But you might ask yourself, well, how am I connecting this application that's running in Windows Azure with the call center server that's running on-premises in my enterprise? To do that, I'm using a service called Windows Azure Connect. And Windows Azure Connect is currently available in beta, and it provides you a simple mechanism for enabling IP network communication between resources that are on-premises and resources that are running in Windows Azure.
So, here I have my two call center servers, as well as several roles running in Windows Azure, and they're all participating in a virtual network.
Another thing that we want to do is make sure that this application remains available and performant for the technicians that will use it. And so we're going to leverage Windows Azure Traffic Manager in order to do that. Traffic Manager allows me to create policies that route traffic to different instances of my application. In this case, I have a failover policy, which tells Azure that if the application goes down in the north central U.S. location, then please reroute traffic to the south central location.
In addition to failover, we can also do performance-based routing here as well. So, what did we see today? We saw that Fabrikam Fiber can take their existing enterprise application, and they can extend it to the cloud. They can leverage the infrastructure that's in Windows Azure, and they can implement a rich experience for their technicians on Windows Phone 7. And the best part is that we've reused our skills and our favorite tool, Visual Studio, in order to build both the phone and the cloud application.
Thank you very much; enjoy your day. (Applause.)
JASON ZANDER: Thank you, Drew. You saw a great example there: Once again, being able to leverage all of your skillsets, take them from the cloud onto the phone very quickly, so there's a lot of great support there, the toolkit is awesome, helps out with that as well.
Now, we've had a lot of great momentum with Visual Studio. We shipped the version of Visual Studio 2010; we just celebrated our one-year anniversary in the April timeframe. Very happy with that. It is the fastest-adopted version of Visual Studio we've ever had. We've looked at things, you know, download numbers, deployment numbers, all the rest of that kind of stuff. The adoption has been fantastic, so I thank you for that, it’s been really great.
Now, it's not just about the core tools, it's also about the tools we build for the platforms as well. And so the other thing we've had is over 1.5 million downloads of the tools for Windows Phone, which of course are used to build really great applications like you just saw right there. Very easy, very straightforward. Now, we want to make sure that we cover all the types of applications you're going to be writing, and so we introduced a new version of Visual Studio, a new part of the product lineup Microsoft Visual Studio LightSwitch, it's the fastest way to create forms over data, line-of-business applications but do it in a robust way. And we shipped two betas of that so far, and we've had over 150,000 downloads of the tool. And we're getting right in there close to the end and getting ready to ship.
Finally, we've had a lot of really great reaction from our press and analysts and things like that. So, if you're interested in those reports, IDC, Forrester, Gartner, all that information is there. At the end of the day, what I really care about is how is it working for you? So a couple of different quotes here, and these always make me really excited because we built this in order to make it faster for you to build higher-quality software. And so when we see that kind of validated, that gets me and the team very excited.
Just a couple examples here with BMI, you can see 250 working days a year saved going back and doing with the testing products, new for Visual Studio 2010. And also with K2, 20 percent increase in productivity, once again, by bringing developers and testers together and being able to figure out, you know, how do we stop playing this dev-test ping-pong thing?
So, lots of great response. We've got case studies up on the website. If you are interested in finding out what other people are doing and how you can do the same, maybe you haven't picked it up yet, go ahead and take a look at those -- I think you'll find that very interesting.
Now, we've got a long track record here for application lifecycle management, the process of bringing teams together and being able to have every role involved. When we went back and asked, “What makes software projects fail?” And we asked you and the number-one thing that came back was, it's collaboration. It's not even so much the technology sometimes. Clearly, that's on the list, that's important, but being able to get requirements back in here, the architecture right, development and testing, bringing all this stuff together, that's where we've run into issues.
And so we set out to build a solution for that starting with Visual Studio 2005, we created our ALM offerings to put Microsoft TFS (Team Foundation Server) in there. One source of truth for what's happening across the team and giving transparency for that.
With 2010, we then added more roles into that. We added the architect's view in there and made it possible for architects to be able to do layering diagrams and enforcement of the implementation, make sure it matches right, and connect that with the developer.
We also wanted to look at, how can we bring testers in? So, we made a big investment in test in 2010, manual-tested, coded UI, things that are part of a continuous integration, all the other things you need for kind of a modern development lifecycle.
Well, that's not it. I mean, we can't just stop there. I mean, that's really great, I'm excited about that, but there's a lot more involved because like I said, just dumping DOLs into a directory, you're only halfway there, OK?
Two key things we look at, first, on the developer side, we want to make it as fast as possible so you can go from an idea, something you'd like to implement, out into working software, OK? Make that one really fast.
On the operation side, when the software is out there and running, and customers are using it, you know, it's going to fail, there are going to be issues, config problems, take your pick, but that's expected that's going to happen. And for IT professionals, we want to go as fast as possible from there's an incident to resolution. And the end-to-end here, to go from idea to working software, and customers are really excited about what you've built.
Now, if we were to look at how does this all fit together? Well, we can look at the kind of agile lifecycle, we've got Scrum templates and things like that -- those of you that use Scrum are familiar with executing in sprints like boundaries of functions that you want to execute against. And we've talked about dev and test, but there's more problems to deal with.
The first one on here: misunderstood requirements. How many times have you built exactly what your customer asked for, but not what they wanted? You ever had that happen? Right? Maybe it's just me. But at some point, you think there are some requirements. I mean, it's not hard to understand. The customer's trying to do a good job, the engineering team is trying to do a good job. There's a gap in there, right? I mean, we start getting disconnects.
Now, the next thing is conflicting priorities. I run the Visual Studio engineering team, so I've got tons of requests for features, I'm sure you get the same. And we have to make tradeoffs between what's going to come first and what comes next, and it doesn't all fit sometimes. And being able to make those tradeoffs, make those decisions and communicate in a transparent way is something we'd like to be able to solve.
And then for those of you that are devs in the room, I mean, have you ever had your boss come in the room and say, "I need you to drop everything; I really need this now?” I don't do that to my team, but your boss maybe does it to you, I don't know. But, you know, I think that's something you run into. You need productivity, right? I mean, I need to be able to do some of that context switching; you're going to slow yourself down sometimes. So, we want to go ahead and solve those problems.
And then, finally, coming back on the operations side, you know, once the application's there, we need to be able to go in, do the monitoring, and figure out how do we complete this cycle and get this to work very well?
So, we sat down as we were planning out the next version of Visual Studio in the ALM and said, “How do we solve these problems? How can we build the best possible solution that pulls both development and operations together, gets the entire house working, pulls the cycle in tighter, because we need to be able to produce software faster, higher quality, do it quicker.” OK?
So, today I'm happy to announce Visual Studio V Next, our solution for that, and we're going to show you a bunch of working bits of a bunch of solutions that we have underway. Looking forward to getting your feedback on it.
Now, I talked about all of the things we've done so far; now with Visual Studio V Next, we want to pull in a couple of more people into this loop, you know, bring more and more people to work together.
The next group that we'd like to bring in are stakeholders, you know, customer and product owners, people that have an idea for software they'd like to get it implemented -- how do I go do that, in addition to the operations team? So, we can make sure we're all one big, happy team and working those things together. So, those are a couple of the core people we want to bring in here.
So, enough on the framing stuff. What I'd like to do is bring Cameron Skinner from my team -- I never randomize him -- onstage and let's look at our ALM solution. Hey, Cameron.
CAMERON SKINNER: (Applause.) Hey.
JASON ZANDER: It looks like you've brought some props along here.
CAMERON SKINNER: Bearing gifts.
JASON ZANDER: OK, awesome. I'm looking forward to see how we do on here. So, anyway, so Drew just showed us how to go build some cool stuff. He's incorporated GPS into the phones; our technicians are now carrying phones. They kind of know where they're going. You know, as product owner in Fabrikam Fiber, I have this idea. You know how you have a technician who is going to come up, and they're going to come to your house or that kind of stuff?
CAMERON SKINNER: Yeah.
JASON ZANDER: And we always give them a range of between -- I'll be there between 1:00 and 4:00, but we know it's actually between 1:00 and June.
CAMERON SKINNER: Yeah.
JASON ZANDER: So I'm thinking, we've got this GPS data; we should be able to exploit that. So, I was having a latte this morning and I was thinking, “Hey, what if we could add the technician's kind of information -- that would help, right?”
CAMERON SKINNER: That's an inspired requirement there, Jason, is that a coffee stain? What is that? Let me file this away where I put most of these things.
This happens all the time, right? As Jason mentioned before, you get business requirements coming in, engineering needs to understand how to deal with those new requirements. And a lot of times you build exactly what they ask for, but not exactly what they wanted.
So, in Visual Studio V Next, we have built a new tool called storyboarding assistance. We've built that on a product that you are very familiar with, it's called PowerPoint. And let me show you what I'm talking about here.
I'm going to double click on this deck here, and I've got a storyboard here. And you'll see a new storyboarding tab in the ribbon. What I want to do is I want to mock up this new requirement that Jason's asking for because I believe what he really wants to understand is where are our technicians.
So, I'm just going to quickly do a search through my library here, and I'm going to mock up a map, and I'm going to drop a map marker here. So, this would indicate to our users where our technicians are, I think that pretty much nails it.
JASON ZANDER: Yeah. So, I like the fact you're using PowerPoint because I have PowerPoint, we can use it, and I like also the fact that I can see this right away because I can tell you that that's actually not what I want.
So, this is interesting, I mean, but the problem is I don't want to bug the poor guy when he's having lunch or anything like that.
CAMERON SKINNER: Sure.
JASON ZANDER: But I'm really interested in when do I need to be at my house so I'm there to meet him, and we can get my issue taken care of?
CAMERON SKINNER: All right. So, I'll remove that, I think I know what you're talking about. So, here's what I'll do. I'll just copy this, paste this down here, mock this up a bit, let's see. I think what you're looking for is tech will arrive at -- and I'll mock this in here and say between 8:15 and 9:00 -- what do you think?
JASON ZANDER: I like it. That is what I was looking for, and this is great because now I can see exactly what it looks like. So, I had a little fun with my napkin sort of thing, but the truth is customers, when they have an idea, they're working really hard to communicate that. And also, our engineering team, they're working very hard to implement it too. So, it's not so much that the two groups don't want to work together; how do we make that a very actionable thing?
I like this; this is going to help me figure it out before you go spend resources building something I didn't actually want.
CAMERON SKINNER: Yeah.
JASON ZANDER: That's perfect.
CAMERON SKINNER: So we got clarity on what we need to build. Now what we need to do is we need to understand how is this going to impact my current backlog? I've got a team that's already kind of in midflight; we're in the middle of a sprint, and I need to understand -- we've got this new requirement. I assume, Jason, that this is a high-priority kind of issue?
JASON ZANDER: Doesn't that go without saying?
CAMERON SKINNER: All right. So, what I want to show you now is the new dashboard in Visual Studio and Team Foundation Server V Next. We've always had kind of a Web access to Team Foundation Server, but we've really extended it to manage the situation of managing your priorities and managing your backlog.
So, here I am. I'm going to click on the backlog link here, and you'll see all my current product backlog items that the team is working against. I'm going to create a new item, product backlog item, I'm going to call it “customer wants to know when the tech will arrive.” OK? And I hit add. And you notice it puts it at the bottom, but because this is a high-priority issue, I'm just going to click, drag that thing up and make that the first priority issue that my team will work on next, OK?
It's important to point out that as I'm dragging this, I'm manipulating Team Foundation Server work items in real time. So, on the back end, Team Foundation Server is being updated; I've got teams that are looking at this dashboard from geographically dispersed sites; they're all seeing this in real time.
JASON ZANDER: That's cool, and HTML as well so anybody can access it from the browser -- the whole team can see it.
CAMERON SKINNER: Exactly. And now what I'm going to do is I'm going to assign this myself. I'm going to approve this work item, and I'm going to give it a story point value of, let's say, 8. I'm going to save and close that.
So, I've essentially manipulated my product backlog prioritization, but now what I need to do is I need to assign this to the current sprint because I assume we've got to jump on this right away. And then see what that looks like. So, again, I'm just going to click and drag this thing over here, let it go on my current sprint, and then I'm going to go drill into that sprint and understand what's going on here.
Now, I need to decompose this particular story and add the task to it so that we can start to work on this. I'm going to quickly do that, easily here, by hitting this plus sign, and then I'm going to say something like code up the feature, and then I'm going to assign it to myself. I can't imagine I'd take more than say eight hours or so.
I'm going to add another one, and I'm going to call this review architecture, assign that to Laurie -- I can't imagine that taking longer than, say, two hours. Let's save and close that.
So, you'll notice that as I'm doing this, the capacity of my team now is getting overloaded. I'm blinking red here, right? I'm overloading my team, so I need to adjust something. What I'm going to do is I'm going to look farther down into my sprint here, and you'll notice a story that is committed, but the tasks haven't started. So, I'm going to move this to my next sprint simply by dragging and dropping over to my future sprint four, OK?
JASON ZANDER: That's really cool.
CAMERON SKINNER: That's great. So, now you see the capacity has now adjusted.
JASON ZANDER: What that shows me is I can give even more pri-one tasks. That was easy.
CAMERON SKINNER: Yeah. We should talk about that.
JASON ZANDER: OK, we'll talk later.
CAMERON SKINNER: Yeah. OK, so now what I need to do is I need to get with my team, and I need to go and manipulate these tasks and get them in progress, et cetera. I want to show you another new feature that we've put into the Team Foundation Server Web access, which is our taskforce.
And if I click this board here, you'll see a dashboard that comes up. And we're representing work items here. And the great thing about this is that I can bring in a monitor like this into our team room because we have a team room at Microsoft where we have the continuous builds rolling here, so when the build breaks, we know who to go talk to.
We can also now use this to manipulate these items and show, like, OK, you know, oh, I know that Deanna Kumar here has actually already completed this. So, I'm just going to drag that over and let it go here and actually take it to complete because she's actually done with that.
And then I know that Laurie’s going to jump on this new review architecture thing that I just started, and I'm going to get on this right away. So, it goes into in progress, and it's manipulating those tasks and updating those in real time.
JASON ZANDER: That's really awesome. I think I understand now why there's a budget request for a full-screen monitor on the first floor?
CAMERON SKINNER: Not just one, my friend.
JASON ZANDER: Three? OK.
CAMERON SKINNER: Yeah. So, as I start to manipulate these tasks, you'll start to see up here in the upper right, I've got a sprint burn-down chart that's going to be updating in real time. So, as I start manipulating some of these hours like, for instance, imagine Laurie burns this down and, let's say, you know, Brian Keller, I drag this over and burns down, you start to see this dashboard -- I'm sorry, this chart burn-down.
So, I think at this point, Jason, I've assigned the task, I think we're ready to actually go implement this thing.
JASON ZANDER: Awesome.
CAMERON SKINNER: OK. So, I'm going to jump into VS, and as we set up here, the context is Jason's just come in, he's got this high-priority, hair's on fire, got to get this thing done right now. The problem with that is my developers, myself, I'm already working on something. You know, this happens all the time. You're knee-deep in a particular problem, you're in the zone, you're just about to figure out what that bug was, and someone comes in and says, "Hey, have you seen the Real Housewives of Atlanta, it's pretty cool." You know, blah, blah, blah. It gets you out of the zone, and you lose the context.
So, what we've done in Visual Studio V Next is we've put a lot of effort to manage this particular problem, OK?
So, what we've done is to go down into the team navigator here in my work pane. And we're indicating to you what tasks you're currently working on, and we give you the ability to suspend that task. So, that's what I'm going to do right now. I'm going to suspend this task. And what's going to happen is Visual Studio is going to back up all my current work. And it's going to back up everything from tool window positions; I've got multiview monitors, et cetera, et cetera, so that I can get back to this eventually after I'm done working on this particular new requirement.
JASON ZANDER: That's really cool. Just snapshots the whole thing, and I'm ready to go.
CAMERON SKINNER: Exactly.
JASON ZANDER: I like that.
CAMERON SKINNER: So now I'm going to take that new requirement, code up the feature, I'm going to take that task, I'm going to drag it up, and I'm going to indicate to Visual Studio that I want to start working on this. Now, I can go into my project here and look for some code that I need to go manipulate, and there we go. And now it's always fantastic when you jump into code, and it's already written for you.
JASON ZANDER: It's funny how that happens.
CAMERON SKINNER: Yeah, when we get that feature done, Jason, that should sell itself.
JASON ZANDER: Yeah, I want that feature.
CAMERON SKINNER: Yeah, exactly. (Laughter.) All right, so now I'm going to bounce back over here, and the idea is I'm just going to check that thing back in. And I'm going to call this thing, you know, “Jason's napkin,” awesome, and I'm going to check that in right now.
So, great. But now what I want to do is I want to go back to my work because I was already in midflight on that other task. And I scroll down to unfinished task, I right-click on that, and I say resume. Visual Studio is going to rehydrate the environment for me. It's going to replace all my windows and put them where they were when I was in the middle of this task and put all those files back into my doc well and my breakpoint and everything.
JASON ZANDER: I love that. I love that. Very cool. Very cool. (Applause.) That's great.
CAMERON SKINNER: So, at this point, Jason, at this point, I think I'd love you to take the new bits out for a test drive.
JASON ZANDER: Yeah. I'm looking forward to it. So, one of the things we did here is we leveraged our testing, we had to do recordings, audio, video, action steps and that kind of stuff in Visual Studio 2010. And now we want to make it available for me, the product owner, I want to give feedback to the team and see how well they did.
So, let me go ahead and get that guide going. Cameron's giving me a build of my new feature. Let me go pull that up on the site. Let me look through here. OK, I like this, I mean, this is what we talked about in the storyboarding phase of the project, you know, tech will arrive, I really like that.
CAMERON SKINNER: I spent a lot of time on that, actually.
JASON ZANDER: I saw that. Where were you trained? I can't believe -- it's awesome. All right, so you know, really like the new feature. And cool font size, that's awesome. OK, so that looks pretty good. Very neat. So, I'm looking around, the only thing is that's interesting, I'm trying to figure out this stuff up here. Let me take a screenshot because I'm a little confused about what that is.
So, let's pull this up, get our screen-capture tool -- we'll capture a little bit of the screen here -- OK, now I've got a snapshot of that. So, I can put that back there, I don't speak Latin, or spell well -- I can't do either of those. Spell correct? OK, next version.
CAMERON SKINNER: We'll talk about that.
JASON ZANDER: That's your next pri-one task. So, let's keep looking through here. That looks pretty good. Let me click around a little bit and check out some of these other links. I do like this, this is all pretty cool. OK, very neat. Let's try this one, oh boy, OK, that one's going to be a problem, I don't think users will quite understand that one.
CAMERON SKINNER: That's not my code.
JASON ZANDER: That's not your code? Is that Brian's?
CAMERON SKINNER: That's Brian's.
JASON ZANDER: OK.
CAMERON SKINNER: That's Brian's code.
JASON ZANDER: That's Brian's -- OK, we'll tell Brian later. We're going to go ahead and create a bug. Now, the cool thing is I'm able to do this right here, pull up an interface into TFS, I can say server data error, you know, on link. And the nice thing here is because we've been doing this recording, I've got the video and the audio, but we've also tracked every single thing that you did along the way, and you can see it's already been reproduced in the bug for me.
I can go back over here and do change steps. I may have been busy for 45 minutes, and maybe they're not all relevant, and I can filter down and say well, maybe I don't need all of these. Let's customize it down; let's grab these three or something like that and save. And, you can see, it's now resetting. It's taking the timeline -- just give me the snapshot of the last few minutes where I hit this bug, that way the development team can figure out what's going on.
I'll save and close on that. That looks pretty good; I like the overall feature.
CAMERON SKINNER: That's great.
JASON ZANDER: I'll give you all the feedback on here.
CAMERON SKINNER: That's great. Jason, I really appreciate you finding those bugs. Nothing like having your VP find bugs for you, that's always good, especially around annual review season.
But what I want to do is I want to take that bug, and I actually want to make sure that it never happens again. So, I want to get it as part of my test suite. So, what I'm going to do is I'm going to go into Microsoft Test Manager, which is the product that's currently out in market today. And I'm going to go in and track my bugs, find that particular one that Jason just logged with his great spelling there.
JASON ZANDER: Yeah.
CAMERON SKINNER: And what I'm going to do is I'm going to right click and say create test case from bug. And this is going to take the exact steps that Jason kind of filtered down into and create my test case with that. So, here you'll notice all the steps that our testers can go and re-execute, and then here what I'll do is I'll just call this, hey, “ensure server stays running,” something pithy like that. And I'm going to save and close that, and now it's part of our test suite.
JASON ZANDER: That's awesome. So, we can pull everything back. So, this is really cool because what we've just done now is we've gone from requirements, got early feedback, implementation, being able to pull everything back together -- that was very easy and straightforward. I think I see far more pri-one tasks in your future.
CAMERON SKINNER: Yes, exactly, Jason, and we're not done. In my foundational session that's right after this, I'm going to show a bunch of new things like code review, code clone analysis, a bunch of cool stuff.
JASON ZANDER: Developer toys. I love developer toys. Thanks, Cameron.
CAMERON SKINNER: Thank you, Jason.
JASON ZANDER: Thanks a lot, it's awesome. (Applause.)
Now, once we get the application done, of course, we're going to get it out into deployment. So, I really love this; it matches what I was looking for. I can use all sorts of stuff. Looks like we even have a new reports feature on here, which, oh, the engineer always leaves the stage right when that happens.
So, these are problems we're going to run into, right, when we do operations. So, let's take a look and see how we go about doing this. First of all, just a quick recap. We looked at requirements, all these problems we had, priorities, et cetera, and we're bringing you solutions in Visual Studio V Next, OK, in particular manage the backlog, getting the priority, we're able to adjust and do it transparently, lightweight requirements, you saw with PowerPoint we're able to get the feedback going through the system. The planning task with the sprint and Scrum model and being able to do that with the passports and the cool monitor, in addition to that context switching thing, which I think every developer is really going to love.
Now, once we get the software out there, we have to deploy it, we've got to manage it. This is where our IT operations team comes in. And they need to be able to figure that out. Well, there are problems over here as well. The first one, you know, what about the root cause of a bug? It could be a configuration issue, or it could actually be something we need the engineering team to get out there and work on and go fix.
In addition to that, sometimes in production, it might take a while -- can you get a repro case? You know, I debugged a lot of crash dumps over the years, and sometimes, you know, it might take a month. Your developer comes back, sends you a mail, “Give me a repro, I want to see it.” It's, like, dude, it's been out for a month, I can't do that, right? So we need tools to go help with that.
The last thing is when you get this data over to the engineering team, I mean, how often are you doing the ping pong back and forth? You know, I'm sending e-mail, “Give me this -- no, I don't have that,” and going back, and you want something that's actionable. So, when you pick it up as a developer, I can take it and figure out what to go do with it.
So, to demonstrate what we're going to do with this, we've got some solutions for you. So, I want to invite Victor to come up onstage from the System Center team, show us how we can bring these two worlds together. So, Victor, how are you doing?
VICTOR MUSHKATIN: Hello. Good.
JASON ZANDER: Come on up.
VICTOR MUSHKATIN: Good morning. (Applause.) So what you've got here? Looks like there's a problem.
JASON ZANDER: Yeah, you know, Cameron just took off; we've got this kind of issue. It's not working very well, what can you do for me?
VICTOR MUSHKATIN: OK. Let me take a look at it. Here at Fabrikam Fiber, I work in IT operations team, and I'm responsible for making sure that all our applications are up and running. Essentially, I'm here to make sure that business is up and running as usual. My job is to find out about any problems before they're affecting our company, our customers, and quite frankly, before Jason finds out about them.
So, what I'm going to do is you see on the screen System Center console where I manage all my application-related problems. Sure, I see here two problems that I'm going to investigate in order to determine if this is something that I will be fixing or my team will be fixing, or I would need to escalate them to service engineering team.
Let me start with the first problem, and I'm going to go to product knowledge where I see all proposed remedial actions. This looks like some type of configuration issue, and in order to get rich context information, I'm going to alert context to see what's going on. This one looks like a security problem where an application was trying to access Fabrikam Fiber database and it failed. And here's the issue, actually. I know that our policy is to only integrate authentication, and this is clearly a mistake.
JASON ZANDER: Very cool, so you're able to very quickly figure out this one's a config issue, and it sounds like you're going to be able to fix that one.
VICTOR MUSHKATIN: Oh, yeah, I'm essentially on my way to fix it, and I'm glad you saw me in action that I'm on top of things, I'm in control, and maybe I'm due for a promotion.
JASON ZANDER: OK. (Laughter.)
VICTOR MUSHKATIN: Anyway, let me check the other problem. Again, I'm going to product knowledge to see what kind of hint it provides. Whoa, this one looks like a lot more serious problem because it requires access to source code.
So, clearly, I would need to escalate this one to the service engineering team. Now, consider how this escalation would work before. I would make a phone call to Cameron, I would send a couple e-mails, we'd have back and forth, I would start some debugging, turn on some tracing, collect the data, send the dump to Cameron's team, they would try to repro, and so forth.
So, you got the point. We would spend a lot of time, waste a lot of energy, and at the end, it would affect our time to resolution.
However, the good news that I recently installed System Center Connector to Visual Studio Team Foundation Server. That allows me to escalate problems directly to Cameron's attention. Let me show how to do that.
I'm going back through the list of my problems, and I'm going to assign this problem to engineering team. At this moment, Connector takes all the information collected in real time from production servers, creates work items and associates all that information with that work item. Let me refresh the screen. OK, here it goes.
And now I have that problem inside engineering queue. Moreover, I have a work item ID, so now I have all the information to get the conversation going between development and operations.
JASON ZANDER: That's very cool. You connected that just in one click.
VICTOR MUSHKATIN: Exactly. Essentially, I turned an exercise that would take hours and days into just mere seconds.
JASON ZANDER: That’s awesome.
VICTOR MUSHKATIN: Yeah, the only problem is that Cameron is off to lunch -- he's usually somewhere when you need him the most. So, I know that you've been a developer at some point?
JASON ZANDER: I've done a lot of development, actually.
VICTOR MUSHKATIN: Could you help me out?
JASON ZANDER: I'd love to. Let's go take a look at this.
VICTOR MUSHKATIN: Thanks.
JASON ZANDER: So my tool of choice as an engineer or developer is to go to pull up Visual Studio. And TFS is where I have all my work items and things like that. So, the cool thing is the issue that Victor just escalated to me was automatically routed over into TFS with all the data that are required.
I can see, for example, there was a null reference exception. So, someplace in my code, I have some kind of an issue. The cool thing is you automatically gave me a bunch of additional information. So, I've got custom parameters and how it was done; I've got product knowledge, which is pretty cool. I love the link thing here, so if I go ahead and double click this. All right, so now I've got the issue ID, and that's up there. How many times have you gone back and forth and back and forth, and at the end of the day what you really wanted was a call stack? Boom. Let's just go get it. I don't want to have to go back and forth on that.
Now, parameters, I've got the information on the parameters that were used in this kind of call stack, what we've got here. Let me go ahead and hit source. Looks like I've got a snip of the source code. I can manage and go over to the source code. So, I'm thinking of the customer object, and I'm doing some formatting, and I've got a null reference exception. If I go back to my parameters, oh, sure enough, I've got nulls in here.
So, at some point we got a malformed piece of data, it came in, hit this exception, but instead of us going back and forth, it gave me all this data right away and was in a format that I could use, that's really cool.
So, what we've seen here is very quickly being able to go in and diagnose the root cause of a problem, whether it's configuration or an engineering issue with the software, and being able to diagnose that, and then when we trade the data back and forth in the format that I can use right away, I think that makes us both kind of happier.
VICTOR MUSHKATIN: Exactly.
JASON ZANDER: So that's awesome.
VICTOR MUSHKATIN: Thank you very much.
JASON ZANDER: Thank you, Victor, that's really great. (Applause.)
So, if we look back through these problems that we sent out to solve here, as you can see, we can quickly triage the issue using System Center. It works with the current version, as well as the upcoming version. We've also got this actionable feedback. I got the call stacks; I got the parameter data; I got all this data that I need pulling right up out of my development tool; I can go use that.
I will tell you, we're also enabling IntelliTrace in production as well with this release. That means you can hit those really hard, nasty problems; you can turn that on and do backwards debugging through that and just do it at your own speed when you need it.
Finally, we figured out how to connect the team. So, we're able to pull us all together and make that entire cycle basically work, you know, very well.
Now, I'm happy to announce the Connector CTP is available today. You can find a pointer for it on my blog, so what Victor just showed, it works with Visual Studio 2010, it works with the current version of System Center, as well as the 2012 product that was announced, and will be coming out later this year. But you can download it now. We think we're actually pretty close to being able to release the final version, so I encourage you to grab it, to give us feedback, let us know, and then we'll get the final version shipped out the door.
So, what have we done here? Well, we set out to do ALM, we followed these very consistent set of principles. First one, collaboration. By putting everything into TFS, we can bring in everybody involved with software, we all use one source of truth and we can collaborate together.
Second one, actionable feedback. Several examples we showed. Just now, we showed data coming in from ops into dev -- make sure you can use that well, but also testing, the requirements piece that we talked about before, and getting early feedback in the system.
We also want to respect your work style. Depending upon what role you are, your favorite tool may be Office, the browser, maybe Visual Studio or a custom tool, System Center -- we want you to be able to use that, figure out which one matches your work style and your job.
Final, we want transparent, agile processes. So, that means you can use the agile system, you saw Scrum in there, but you don't have to just jump all the way in. Cameron was pretty far along, that’s the system we're already using with the team internally. But you can pick how much you want to go into and kind of adopt things along the way, you know, at your own pace and speed.
So, calls to action, very easy. Get Visual Studio 2010 -- got a bunch of great functionality for dev test and architecture, and everything you see here is something you're going to get going forward with your active MSDN subscription. We've also shipped four feature packs in the last year, which are available through MSDN. So, if you like what you see, go ahead and pick that up.
Finally, download the CTP, give us your feedback on that, and up on my blog I have links to that, white papers, a whole bunch of other data that we covered today, makes it very, very simple for you.
Now, we have six foundational sessions for IT professionals, as well as developers starting next. So, there should be something great for everyone here, and I hope you have a fantastic Tech•Ed -- it's going to be a great show. With that, I'll say thank you very much.