Lori Lamkin, Microsoft’s Director of PM on Shifting to Azure DevOps – Episode 007

In this episode, Jeffrey speaks with Lori Lamkin, Microsoft’s Director of Program Management. She has been leading the Visual Studio Team Services program management since the conception of Team Foundation Server in 2002 that’s 16 years in the space of better shipping software using Microsoft technologies! She led the transition of the team to Agile methodologies, to open source reuse, to Cloud services, and Azure.


Lori and Jeffrey discuss what’s next for Lori in and of her role as Director of PM, her strategy behind leading the big shift from VSTS to Azure DevOps, the current roles and duties within Microsoft Azure DevOps, what she sees as the biggest shift in progressing from Agile and adopting DevOps, and how DevOps has become more and more efficient.


Topics of Discussion:

[:51] About today’s guest, Lori Lamkin!

[1:18] Jeffrey welcomes Lori to the podcast.

[3:22] Lori speaks about the strategy behind leading the big shift from VSTS to Azure DevOps.

[5:42] What’s next for Lori in and out of her role as Director of PM? What has she been up to?

[8:18] Lori gives some background on Azure DevOps history.

[15:37] Lori talks about the current roles and duties within Microsoft Azure DevOps.

[18:08] A word from Azure DevOps sponsor: Clear Measure.

[18:34] How the organization for Azure DevOps is structured much differently than many other organizations.

[20:38] What Lori thinks is the biggest shift in progressing from Agile and adopting DevOps.

[23:34] Why everyone in Lori’s team is a Software Development Engineer.

[25:08] Did Lori’s team used to have Systems Engineers (otherwise known as IT Pros)?

[27:18] The broad set of skills that is required of the developers to operate the components of Azure DevOps that the Azure Data Center is running on.

[28:55] The change in business with DevOps and how it has become more efficient.

[31:21] Lori’s take on the culture change CEO Satya Nadella is driving as well as his 1ES (one engineering system) plan.

[35:26] Is there no software Git can’t handle?

[36:18] Where Lori suggests you further your learning after listening to this episode.


Mentioned in this Episode:

Azure DevOps
Azure DevOps Services
Azure Cloud

Clear Measure (Sponsor)

Microsoft Secrets: How the World’s Most Powerful Software Company Creates Technology, Shapes Markets, and Manages People, by Michael A. Cusumano

Satya Nadella on transforming Microsoft’s culture

More about Satya’s One Engineering System initiative




Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Follow Up with Our Guest:

Lori Lamkin’s LinkedIn

Check out this episode!

Edward Thomson on All Things Git, libgit2, and Azure DevOps – Episode 006

This week, your host, Jeffrey Palermo, brings you a recording, live from the Microsoft Ignite conference. He interviews Edward Thomson, the Principal Program Manager for Azure DevOps, the maintainer of libgit2 (the git library), a host of All Things Git (a podcast about Git), and the curator of Developer Tools Weekly (a weekly newsletter with developer tool news). After the tight-knit company Edward was a Software Engineer for Teamprise was acquired by Microsoft, Edward transitioned into the role of Software Engineer with Microsoft, then GitHub briefly, 6 years later. After Github, Edward returned to Microsoft in 2017, this time as their Senior Program Manager and most recently, as their Principal Program Manager (since two months ago).

Edward is a huge mover and shaker in the Git area of Azure DevOps Services. And in this episode, he answers questions that tons of teams continue to ask in the space. He also speaks about his many side projects: libgit2, All Things Git, and Developer Tools Weekly.


Topics of Discussion:

[1:11] About today’s episode and guest.

[1:37] Jeffrey welcomes Edward to the podcast.

[2:13] A bit about the Microsoft Ignite conference.

[3:31] How Edward landed the role he’s currently in, with Microsoft.

[6:38] Does the work Edward has been doing with Git, precede him joining Microsoft?

[9:58] A word from Azure DevOps sponsor: Clear Measure.

[10:24] What is libgit2? What does it do?

[13:11] Is there any source code that won’t work with Git?

[16:18] Version control of binary files — where does it all break down?

[18:11] Is there a file size that’s too large for Git?

[20:14] Does Edward recommend checking in your NuGet packages?

[24:12] When did the use of shallow cloning (for repositories) come about?

[26:44] What is Edward and the Azure DevOps team thinking about pushing forward with the Git engine (when Microsoft acquires GitHub)?

[30:03] Edward talks about his weekly newsletter, Developer Tools Weekly.

[31:29] What was in Edward’s weekly newsletter that he sent off just this morning (of recording this podcast).

[34:36] All about Edward’s podcast, All Things Git.

[36:27] Edward answers some FAQs in the Git area of Azure DevOps!

[47:03] Edward’s parting words for listeners on today’s podcast.


Mentioned in this Episode:

Microsoft Ignite

Microsoft Ignite’s Twitter
ADP: Buck Hodges episode

ADP: Donovan Brown episode
ADP: Sam Guckenheimer episode


All Things Git Podcast

Developer Tools Weekly


Visual Studio


Clear Measure (Sponsor)




Azure Repos

Game Developers Conference (GDC)


Shallow Cloning
Azure Pipelines



Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Follow Up with Our Guest:

Edward Thomson’s LinkedIn

Edward Thomson’s Twitter

Check out this episode!

Palermo Pamphlet launch – episode 001

My goal is to teach, inform, and have a little fun. But I want this to provide value for programmers shipping custom software using Microsoft tools. Here is the first episode of the Palermo Pamphlet, which I hope will be a valuable resource to you.

Here are the show notes

Performance tuning an Azure DevOps build configuration

We’ve all seen the culprits that constantly add time to builds.  One might observe that your NPM install or Nuget restore can take several minutes.  I remember back to the times of CC.Net in 2005 when a small application build could happen in 45 seconds, including unit tests.  And 10 minutes as a “thou shall not go over this” threshold.  So we cannot allow NPM or any other step to take minutes.  We have to ferret that out.
The answer is the same as code performance profiling.  Find out where every build is spending the same time doing work that adds no value or doesn’t vary often. Then we cache the result.  For so many builds, these are the culprits that take time but typically aren’t the changes that are being tested from build to build:
  1. Obtaining a build server (when choosing hosted build agents)
  2. Cloning the source
  3. Package restores
  4. Copying/archiving build artifacts
Here are my common solutions for reducing these common culprits (I’d be interested to know how others have eliminated these time sucks)
  1. Use our own Azure VMs as the build agents (running multiple agents on a single VM) – always available at a moments notice
  2. Let Azure Pipelines be a little less aggressive with cleaning source and instead have the build script delete the build directories at the beginning – removes need for a full clone and can just be a pull (works most of the time and requires probably a monthly purge for a clean clone, but saves SOOO much time)
  3. a) retain cloned working tree so that the previous package restore is used for subsequent builds or b) check in packages so that package restores are not necessary for every build
  4. Once builds are working and reliable, only archive the build artifacts that are directly used by the release pipeline (typically the nuget packages that house the application components)

Dave McKinstry on Integrating Azure DevOps and the Culture of DevOps – Episode 005

This week, Jeffrey Palermo is joined by his guest, Dave McKinstry. Dave is a Program Manager with the Azure DevOps Services Community Team — connecting with partners and customers, spreading modern practises, and helping developers succeed with DevOps and Azure. Prior to his position at Microsoft, he has been in software services and technical sales for over 18 years. As a consultant, principal consultant, co-owner, and manager, he has always helped people efficiently build better software. He loves what he does as a technologist and enjoys being a part of today’s rapid technology evolution.


In this episode, Jeffrey and Dave talk about changes for Dave since the launch of Azure DevOps, what his journey has been like in the DevOps industry, his thoughts on companies looking to integrate Azure DevOps and move forward with automated deployment and reaching the continuous integration mark, how he thinks developers can move forward in terms of quality and Agile 101, and the modern skillset of what a developer and/or system engineer should look like in today’s DevOps environment.


Topics of Discussion:

[:39] About today’s guest, Dave McKinstry.

[1:00] Jeffrey welcomes Dave to the podcast.

[1:14] How it has been for Dave since the launch of Azure DevOps.

[1:25] Which side does Dave work on? Azure DevOps Services or Azure DevOps Server?

[2:58] Is Dave going to be at the Ignite event?

[3:10] What has been Dave’s journey through (what we now talk about as) modern practices and shipping software?

[5:25] How is it with Dave’s customers in regards to getting to continuous delivery and the continuous integration mark.

[8:03] The general nature of smaller and larger companies from a business perspective.

[10:03] Dave’s thoughts on the companies integrating Azure DevOps looking into moving forward with automated deployment.

[12:20] A word from Azure DevOps sponsor: Clear Measure.

[12:48] How developers can move forward with quality and Agile 101.

[15:10] How did the culture of DevOps (Dev and Ops) come together?

[17:57] Dave’s take on the relevant tasks of 15 years ago, no longer being relevant in today’s DevOps environment.

[20:28] The modern skillset of DevOps and what developers and system engineers need to be doing in the current DevOps world.

[21:29] About the benefits of Dave’s standing treadmill desk (that he’s currently using during the recording of the podcast)!

[25:40] Dave and Jeffrey’s early schooling, programming, and typing experiences! And the contrast with modern day schooling and the changing world.

[28:59] Dave describes the term ‘machine learning’ and the impact it has.

[33:15] What Dave recommends listeners should do next.


Mentioned in this Episode:

Azure DevOps

Azure DevOps Services

Azure DevOps Server

Microsoft Ignite event
Application Lifecycle Management (ALM)
Team Foundation Server (TFS)


Better Business Bureau

Clear Measure (Sponsor)

Agile 101

Mythical Man-Month: Essays on Software Engineering, by Fred Brooks




Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Follow Up with Our Guest:

Dave McKinstry’s LinkedIn

Check out this episode!

Why I started the Azure DevOps Podcast

I wanted to share a little bit of my reasoning for starting the Azure DevOps Podcast.  The above video is about 4 minutes long.  Please take a look.  Feel free to play at double speed.  The gist of it is I like seeing developers having fun.  Busted releases are not fun.  All-weekend deployments are not fun.  New things breaking when you make a code change are not fun.  And software development can be SO MUCH FUN!  I’ve spent 21 years so far as a professional programmer – not counting the toy apps and websites outside that time. I still love it, and I would like to share that joy with anyone I can.

Here are some links I mention in the video: