Is Visual Studio a model for internal Microsoft cooperation?

Is Visual Studio a model for internal Microsoft cooperation?

Summary: Can Microsoft really get better at cooperating internally? According to some teams, it already has — and Visual Studio might be the poster child.

SHARE:

Talking to Microsoft technical fellow and Team Foundation Server product manager Brian Harry at TechEd about Visual Studio 2013, the conversation turned to collaboration inside Microsoft.

Most product development teams inside Microsoft have tended to be in the same physical location (never underestimate the benefits of getting together over lunch to talk through your ideas). The problem is that not all smart people want to work in Redmond, for whatever reason; if you have a mould allergy, what I jokingly call the Pacific North Wet can be a difficult place to live, for example.

The Visual Studio team practices agile development; you can tell the section of the hall in their Redmond building where they have standup meetings by the scuffs and footprints on the bottom of the wall. However, the Team Foundation Server (TFS) team has a lot of remote workers.

"My team is a case study in distributed working," Harry told us. "We have a bunch of people in Seattle and northern California, we have one person in Chicago. We have people in Pittsburgh, in Ireland, Amsterdam, Bulgaria. There's one person moving to Turkey then a team in India and I just hired a guy in Australia. We've got people all over the place who need to collaborate and they work together."

Some of that inspired the new team room feature in Visual Studio 2013.

"It's an interactive space that enables a distributed team to stay up to date. It's durable which you need when you're not all on the same time zone," he said.

Why not just use Yammer? "It's a little different. The analogy I draw is that Yammer is to Facebook as team rooms are to Twitter. Yammer is threaded conversations, it's more email-like. Team room is more a quick chat to ask a question not that  stream of consciousness — although you do get team events popping up onto the room. I believe there is room for both; you wouldn't get rid of Twitter in favour of Facebook or Facebook in favour of Twitter."

The Visual Studio team needs to stay up to date because they're delivering a new version every year and three fairly substantial updates to the product in between. And they don't only have to keep developers elsewhere happy: Visual Studio is what Microsoft builds its own products in — and those teams have to build more quickly. Look at how much the Windows Server team has crammed into its next version in less than nine months. 

That could be why some of the most interesting features in Visual Studio 2013 are about developer productivity, like the new 'head up display' of related information layered on top of your code, which Harry called "the next revolution after Intellisense".

It's about being able to get better code quicker: "I've been watching myself as I've been coding. Even little things like it says how many references there are to a method; you can always find that out but it's right there now. A number of times I've been scrolling through the code and I see there are no references to that method — delete, delete, delete! It has dramatically changed the amount of dead code in my project. Or I can see that there's no test of this method I just made a bunch of changes to, so I know I ought to go fix that."

Harry talks about adding more indicators of what's going on in the code — many of which are key to the Microsoft development methodology.

"We want to do code coverage information, code complexity, static analysis… It's about 'what can we provide to help you think about the code. There is so much we can do with that that can be transformative to the developer."  

Then there's being able to run load tests on Azure and do automated deployment with the newly acquired InRelease release management system. "It's a game-change in terms of knowing 'is this going to work?'," Harry claimed.

It's probably handy for Microsoft that TFS also integrates with Project and Project Server so you can see how long things are going to take.

"If you use Project to do your planning TFS will allow you to hook up to it and at whatever granularity you want to have, roll up all the work there into your project plan. We've integrated Project Server approval so if a planner has some task they expect to take a month, or a week, or whatever and the developer comes back and says it's going to take three weeks, that goes back to the planner automatically and they can approve it or reject it and go back and look at things again," he said.

The key is that it's not a separate system relying on manual input. "If it's not coming from the systems that are being used to do the work it's always going to be out of date, if it's not coming off live data it's always going to be wrong. You used to spend a week creating elaborate Gantt charts which, a week later, were wrong."

One of the many rumoured reasons for the delay in shipping Vista was supposed to be unrealistic deadlines for coding up features. With Microsoft 's new continuous development mantra, teams need to stay on top of schedules to stay on track.

But being Microsoft's own development tool means the Visual Studio team is already delivering features to other Microsoft teams, the way the reorg means nearly all product teams will need to do. The key to making that work well seems to be transparency — and getting everything connected.

"Our internal teams, like everybody else, want stuff from us," Harry said. "It used to be a very conflict-ridden relationship. People thought we never delivered enough and they always wanted new features and changes… The biggest change I made was I exposed my backlog. I said 'this is my priority order. If you think it's wrong, I can rearrange it. If you think it's right, watch me work down through the backlog.' The key is enabling the stakeholder to have that view."

You could legitimately describe the Microsoft reorg as about synergy. As in, putting all the OS development together makes sense because the network people can make core network pieces that the product people can build on top of. IE goes into Windows, Windows Phone and Xbox so have the people who build it connected to the people who build it into their OS. Synergy in the literal sense of working together, and getting more out of it than working apart.

Maybe Visual Studio isn't just the tool Microsoft uses to build its products but an example of how the company can work together successfully, within and across team boundaries.

Topics: Collaboration, Microsoft, Software Development

Mary Branscombe

About Mary Branscombe

Mary Branscombe is a freelance tech journalist. Mary has been a technology writer for nearly two decades, covering everything from early versions of Windows and Office to the first smartphones, the arrival of the web and most things inbetween.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

12 comments
Log in or register to join the discussion
  • Visual Studio is what Microsoft builds its own products

    Seeing the disaster and unproductivity in Visual Studio 2012, explains the bad quality of the new Microsoft products: Office 2013, Window 8, etc.
    SuperCocoLoco
    • Agreed

      VS2012 was a disaster. I'm on the fence about VS2013, but planning on sticking with 2010 for now (and Microsoft wonders why the lack of Windows 8 apps in the store).
      roteague
    • Disaster?

      I'm guessing you've never even used Visual Studio. What's so bad about it?
      jackbond
      • Please tell me...

        ...any other RDT that is better than VS2012 that I can use. May be I am missing something here.

        Just wondering if we are in an era where majority of us want to freeze technological advancement that we, as the most unreasonable and greedy species, have achieved over the last 27,000 years; or in a sad era, where greenhorns are, unknowingly, about to make us less advanced than we are now.
        Wonder.man
      • the ui? or the lock-in?

        I'M NOT SURE, BUT MAYBE IT HAD SOMETHING TO DO WITH THE NEW USER INTERFACE. ANY COLOUR YOU LIKE AS LONG AS ITS WHITE, AND MENUS THAT MERGE INTO ONE BECAUSE THEY... WELL, IF YOU USE IT, YOU KNOW WHAT I'M TALKING ABOUT.

        Of course, I also think its because they integrated so much stuff like Skydrive, and "social integration" into the thing, stuff like the new code reviews that are always there - if you bought the Premium edition, too bad if you went with Professional. I will wait and see whether 2013 has even more lock-in to other expensive versions of MS products.
        gbjbaanb2
  • I think Windows Phone would be a better example

    And I'm curious if anyone knows if the windows os team has moved to TFS for source control and bug tracking and Visual Studio for development and debugging and nightly or continuous builds. Last I heard the windows team didn't use TFS or VS for anything more than basic source code editing.
    Johnny Vegas
    • As of 2007, at least for some things

      "Windows division has started to adopt Team Foundation Server! Some of the feature teams in the Windows division have begun to make use of work items for tracking features and tasks." Brian Keller, TFS evangelist, June 2007 (Keller has done some excellent Channel 9 videos n how Microsoft uses TFS). Have they moved off their custom build system? Don't know and I could make an argument that the requirements of an OS build team aren't the main thing for TFS to aim for, that's it better for it to support mainstream dev team requirements. The Windows OS release team has hundreds of servers generating 720PB of data *every week*; in a presentation at TechEd this year they told us they have 20 file servers using 10GbE to hook up to 20 60-bay JBODs, all filled with 3TB 7200rpm drives, using Storage Spaces. That's a pretty specialised build configuration and I can think of maybe a handful of other dev teams that would need the same thing, tops.
      mary.branscombe
      • Re: "Windows division has started to adopt Team Foundation Server!

        Oh dead. TFS is such an appalling productivity killer. They were finally dragged, grudgingly, into supporting a Git back end, so programmers could (almost) forget they were using TFS at all. Not sure that's been a big success; people would rather not have to pretend, and actually not use TFS.
        ldo17
  • Microsoft is NO longer a software company

    The main problem is all of us want a good software application, but Microsoft is NO longer a software company. Is now a devices and services company, flat and fluid.

    If all of us want and need for good software, like an IDE, its time to search for good software company that make and IDE, not a devices and service company, flat and fluid.
    SuperCocoLoco
  • Kernel developers don't need to work closely with application developers

    I can develop on top of Linux perfectly well with no access at all to the Linux developers. OSes handle CPU, Memory management, Network and disk operations. Application developers don't need to worry about these things because there is an OS that worries about those things. Maybe though Windows was designed so poorly that at Microsoft, the OS doesn't handle all that it should and so application developers need to put those functions in their application.
    tjordanchat
  • So A Product Widely Hated By Its Target Market Is A Model For "Cooperation"

    Meet the new Microsoft, same as the old Microsoft.
    ldo17
    • So, you believe yourself to be the "target market", and you forget that,

      there are millions of other developers who do use and want Visual Studio? One hater (YOU!), does not a market make.

      Also why do you keep bringing your garbage to this forum, when most people don't take anything you have to say with any kind of seriousness.

      Besides, the real target for MS's "devices and services", are the billions of people around the world, and the many millions of companies which already use Microsoft software and services and devices.

      All in all, you couldn't be more wrong. But, keep trying. Perhaps someday, Microsoft won't be around anymore, like 10,000 years from now, but then, neither will you. So, you won't count then, just like you don't count now. ;)
      adornoe@...