Sasha Rosenbaum Sr. Program Manager @GitHub @DivineOps Feb 20th, 2020 #DevOpsDays Guadalajara

@DivineOps Feb 20th, 2020 #DevOpsDays Guadalajara

And you? Feb 20th, 2020 #DevOpsDays Guadalajara

Why DevOps? Feb 20th, 2020 #DevOpsDays Guadalajara

62% of CEOs have an initiative to make their businesses more digital

Effective DevOps Key practices Culture Automation Lean Measurement Sharing Continuous Improvement

Why transformation? Feb 20th, 2020 #DevOpsDays Guadalajara

http://www.bonkersworld.net/images/2011.06.27_organizational_charts.png

http://www.bonkersworld.net/images/2011.06.27_organizational_charts.png

So I would, any day of the week, trade off features for our own productivity.

15 ay -1 l-1 5 Se p15 N ov -1 5 Ja n16 M ar -1 M 6 ay -1 6 Ju l-1 6 Se p16 N ov -1 6 Ja n17 M ar -1 M 7 ay -1 7 Ju l-1 7 Se p17 N ov -1 7 Ja n18 M ar -1 M 8 ay -1 8 Ju l-1 8 Se p18 N ov -1 8 Ja n19 5 ar -1 5 Ju M M Ja n- 1ES Growth 100,000 80,000 Non-engineering Users 60,000 40,000 Engineer Users 20,000 0

The journey so far Sprint 166 Feb 2020 VSTS Preview Sprint 1 August 2010 400 Open Source Projects March 2010 Sprint 29 June 2012 Windows on Git 1ES Sprint 67 June 2014 Microsoft on GitHub July 2014 VS Code April 2015 Sprint 102 May 2017 Join Linux Foundation Nov 2016 Azure Pipelines Sprint 140 Sep 2018 GitHub Acquired Oct 2018 8.8k open source projects 25k employees contributing

– enhanced by GitHub Security Package Registry Actions

DevOps at Microsoft è https://aka.ms/DevOpsAtMicrosoft 110k 4.6m 28k 2.4m 8.8k 25k Active users inside Microsoft Private Git commits per month Builds per month Open Source repos on GItHub Work items created per day Employees contributing to open source 82,000 Deployments per day Data: Internal Microsoft engineering system activity, July 2019

107,000 Engineers in Microsoft working with 1ES One second per day is like adding One minute per day is like adding 3.7 163 More people to Microsoft More people to Microsoft One hour per day is like adding $2.7B per year

What did we learn? Feb 20th, 2020 #DevOpsDays Guadalajara

Shipping is a feature! Feb 20th, 2020 #DevOpsDays Guadalajara

collecting telemetry hypothesis

Release Flow Using Trunk Based Development to avoid Merge Hell

Your aim won’t be perfect. Control the blast radius. 1

Do you test in production? Feb 20th, 2020 #DevOpsDays Guadalajara

Everyone tests in production! Feb 20th, 2020 #DevOpsDays Guadalajara

Live site status is always the top priority

• • • • • • • • •

Iterate over pain Feb 20th, 2020 #DevOpsDays Guadalajara

“One time” deployment commands in OneNote, email Set-Options “-p 0” Imagine a dozen more steps like that… And then…someone misses a step halfway through

ž ž

If a process often breaks, Do it MORE often Feb 20th, 2020 #DevOpsDays Guadalajara

Shift left quality Feb 20th, 2020 #DevOpsDays Guadalajara

• Tests that anyone can run anywhere (inc production) • Shifted to unit tests from automated functional tests • Core tests run before pull request • Fast and 100% reliable build and test is critical • Rolling tests run after commit

Autonomy vs alignment Feb 20th, 2020 #DevOpsDays Guadalajara

Employee choice, not manager driven Typically <20% change, but 100% get to make a choice Cross-pollinate talent and microculture Sticky Note Exercise - Self Forming Teams

Measure impact not activity Feb 20th, 2020 #DevOpsDays Guadalajara

Usage • Acquisition • Engagement • Satisfaction • Churn • Feature Usage I2D • Time to Build • Time to Self Test • Time to Deploy • Time to Learn Live Site Health Things we don’t watch • Time to Detect • Original estimate • Time to Communicate • Completed hours • Time to Mitigate • Lines of Code • Customer Impact • Team capacity • Incident Prevention Items • Team burndown • Aging Live Site Problems • Team velocity • SLA per Customer • # of bugs found • Customer Support Metrics

Quantitively & Qualitatively

Leadership is responsible for the big picture Sprint Semester Quarter 3 weeks 6 months 4 sprints 1 4 Teams are responsible for the detail 6 Strategy 12 months

Product OKRs Service OKRs Team OKRs Team OKRs Team OKRs Service OKRs Team OKRs Team OKRs Service OKRs Team OKRs Team OKRs Service OKRs Team OKRs Team OKRs Service OKRs Team OKRs Team OKRs Team OKRs

Sprint mail OKR check 2 sprints As needed: Experience Reviews OKR reset 4 sprints

What’s next? Feb 20th, 2020 #DevOpsDays Guadalajara

The journey so far VSTS Preview Sprint 1 August 2010 400 Open Source Projects March 2010 Sprint 29 June 2012 1ES Sprint 67 June 2014 Microsoft on GitHub July 2014 VS Code April 2015 Windows on Git Sprint 102 May 2017 Join Linux Foundation Nov 2016 Azure Pipelines Sprint 140 Sep 2018 GitHub Acquired Oct 2018

Do you use open source? Feb 20th, 2020 #DevOpsDays Guadalajara

Everyone uses open source! Feb 20th, 2020 #DevOpsDays Guadalajara

Open Source 99% 90% of applications leverage open source software. of new code bases are open source components. Synopsys OSSRA 2019 report

What’s next? 67 4 VS Code April 2015 Windows on Git Sprint 102 May 2017 Join Linux Foundation Nov 2016 Azure Pipelines Sprint 140 Sep 2018 GitHub Acquired Oct 2018 • Inner source with GitHub • Shift-left with security & compliance • Building SRE discipline • Resilience / Chaos engineering practices

Azure DevOps and GitHub share the same leadership Bringing the requirements and insights of Azure DevOps customers to GitHub Standardized tooling for 100k engineers at Microsoft

Vulnerability Dependency Insights and automated security fixes with Dependabot Always on security analysis with GitHub advanced security scanning both open source repositories and enterprise code Integrated into the National Vulnerability Database, MITRE, and WhiteSource for up-to-date security information

Encourage teams to collaborate within your organization using the same processes and practices as open source communities Simplified collaboration across teams, sharing of knowledge, improved code reuse, and secured workflows Leveraging inner source and open source practices increases developers’ satisfaction, enabling them to work on interest projects and increase their skills

• Goal: chaos engineering by default across Azure services

A journey of a thousand miles begins with a single sprint Feb 20th, 2020 #DevOpsDays Guadalajara

DevOps is NOT magic! Feb 20th, 2020 #DevOpsDays Guadalajara

Thank You! @DivineOps Feb 20th, 2020 #DevOpsDays Guadalajara