Brian Keller

Brian Keller briankel

Niner since 2004

Hello! If you're reading this you might want to know a bit about what I do. I am a Principal Technical Evangelist for Microsoft's Visual Studio Application Lifecycle Management technologies. I have the pleasure of working with all of the great people who make up the product development, marketing, and field teams who work on Visual Studio's application lifecycle management capabilities. Every day we strive to help make software development and testing teams around the world more efficient at what they do best: building great software.

I have co-authored a few books on the topic, the latest of which are Professional Application Lifecycle Management with Visual Studio 2012 and Professional Team Foundation Server 2012.

I also get to co-host a weekly software development news show with my friend and co-worker Dan Fernandez. Check us out every Friday(ish), bringing you This Week on Channel 9.

I've been with Microsoft since 2002. Prior to my current role I worked on the XNA team, and before that the Visual Studio team. Before joining Microsoft I co-founded a couple of companies, including a web design company 352 Media Group. I also worked at Barr Systems for a while as a support analyst/professional services consultant, specializing in mainframe-to-PC connectivity and printing solutions (useless knowledge now, but it was fun stuff at the time!).

When I'm not working I am usually climbing something or making music.

If you want to know more, just email me.





  • DevOps at Scale: A True Story

    @PhilBolduc: Good question Phil! This is primarily just a naming convention as you described. We recently added a feature in VSTS whereby you can check a box to delete the topic branch when you complete a PR. (When you click "Complete Pull Request" you'll see it on the next dialog)

    While the option to secure a branch/repo exists in VSTS/TFS, we don't typically lock things down. Topic branches are wide open, and there are valid reasons where you might be collaborating with somebody on a change that you might need to go edit their topic branch contents. I can't think of a time when somebody accidentally or maliciously changed somebody else's topic branch contents, but since all these changes are ultimately logged in VSTS/TFS there isn't much of a concern here.

    Where we DO enforce security (by way of branch policies) is in the master branch. Note that we don't apply ACL's to the master branch, but instead we rely on the branch policies screen (which I showed in the demo) to define the quality gates whereby changes need to flow into main. This implicitly guarantees security because there are specific reviewers who have to approve changes into main.

    Hope that helps!


  • DevOps at Scale: A True Story

    @samsmithnz:Thank you for the very kind words! We're glad you enjoyed it.

  • Modern Application Lifecycle Management and DevOps

    @orloffm:That's fair feedback. We tend to use these Foundational sessions as an annual update for the things our team is working on related to ALM / DevOps. It just so happens that for this cycle the bulk of our innovation has happened on VSO, although I did cover a few things which are specific to TFS today (like our Release Management tooling).

  • TWC9: Microsoft Band, TechEd Europe 2014, Office 365 API's, HTML5 Final, a special guest and more...

    That was great! I especially loved the picks of the week.

    I wonder if that car can take off and land on a paved runway. It sure looked like the belly would have gotten scraped up.

  • Multi-Device Hybrid Apps for Apache Cordova

    Hi George, we've noted your question (three times now :)).

    Ryan is working on a response for you. He's traveling now but should be able to respond in the next few days.

  • TWC9: Build 2015, Connect();, Ignite, Docker and new... !?

    Wow, such nice comments all around. Dan and I are very humbled by the nice things everybody has to say.

    Doctor Who, I'm glad I'm not the only one who still uses my Zune! I never did get a Zune HD but I might go pick one up on eBay so that I can stay connected to TWC9 moving forward.

  • TWC9: Build 2015, Connect();, Ignite, Docker and new... !?

    Dcuccia, we were both very touched by your comments, thank you for sharing! It sounds like things are going well for you. We are happy to have played a small role in your journey.
  • TWC9: Build 2015, Connect();, Ignite, Docker and new... !?

    Thanks everybody for the outpouring of very nice comments! We are going to miss doing the show every week but I'm sure we'll be back from time to time. You are in very good hands now with Nikola, Vlad, Jeremy, Nisha and of course Greg who has been with TWC9 since the very beginning.

    I'll be tuning in every week.

  • How to Buy Visual Studio Online

    @dhollon: Visual Studio Online provides you with a place to store your source code and manage your projects. I would say anecdotally that yes, the vast majority of customers I speak to are practicing some form of Scrum and using continuous integration as well. I would encourage you to check out our Get Started tutorials which detail some of the specific tasks VSO can help you with. Here's a specific topic on Continuous Deployment to Azure.

  • TWC9: WinJS 3.0, Dev Center Lifetime ​Registratio​n, the .NET Universe Poster and more

    @terrajobst:Immo, apparently we aren't the only ones to get confused about this: :)

    I just read about the Okudagrams, awesome.

  • TWC9: WinJS 3.0, Dev Center Lifetime ​Registratio​n, the .NET Universe Poster and more

    @SanjayKSharma: You're most welcome! I love the template, great idea.

  • How to Buy Visual Studio Online

    Hi Patrick, thanks for watching.

    Today as you probably know there is no integration between our on-premises Release Management solution and Visual Studio Online. If you want to use Visual Studio Online but still take advantage of Release Management on premises, I have seen some customers set up integration bridges between the two. This is fairly straightforward to do if you are using Git. So for example you would do your day-to-day work in VSO, then set up a mirror between the VSO Git repo and an on-premises TFS server's Git repo. You could then check into VSO, mirror your changes to TFS, trigger a build, and have RM deploy it.

    In a scenario such as this you would be required to have user licenses for VSO and TFS, as well as a TFS server license, and the appropriate Release Management deployment licenses. If you already have MSDN Subscriptions then this would cover you for the user licenses and TFS server license. If you had VS Ultimate licenses this would also grant you an allocation of Release Management deployment licenses.

    Feel free to keep the Channel 9 conversation going if I didn't fully answer your question, although I also wanted to point you at the Visual Studio Licensing Whitepaper which might be helpful.

View All