SlideShare a Scribd company logo
martinwo@microsoft.com
@martinwoodward
http://visualstudio.com/devops
I work here
I work here
Visual Studio Team Services
Continuous
Delivery for
Every Team,
Every App,
Every Platform Continuous
Delivery
Agile Planning
Dashboards
Kanban Boards
Taskboards
Build and Test
Git Source Control
Modern Code Workflow
Continuous Integration
Continuous Testing
Package Management
Open Source Compliance
Plan +
Track
Monitor +
Learn
Release
Develop +
Test
Delivery
Deployment of app and
infrastructure
PaaS, IaaS and
Containers
Monitoring
Telemetry
Diagnostics
Analysis
Sprint 1
August 2010
Sprint 29
June 2012
VSTS Preview
Sprint 64
April 2014
VSTS GA
Sprint 67
June 2014
1ES
Sprint 92
Nov 2015
Extensions
Sprint 102
June 2016
GVFS
Sprint 124
Sep 2016
Increase flow of value Shorten cycle times Continuously Improve
• Original estimate
• Completed hours
• Lines of Code
• Team capacity
• Team burndown
• Team velocity
• # of bugs found
Things we don’t watch• Acquisition
• Engagement
• Satisfaction
• Churn
• Feature Usage
Usage
• Time to Detect
• Time to Communicate
• Time to Mitigate
• Customer Impact
• Incident Prevention Items
• Aging Live Site Problems
• SLA per Customer
• Customer Support Metrics
Live Site Health
• Time to Build
• Time to Self Test
• Time to Deploy
• Time to Learn
Velocity
Found one of the top customers with low availability.
Proactively reached out and resolved their issue.
•
•
•
•
•
•
•
Before
• Redundant alerts for same the issue
• Needed to set right thresholds and
tune often
• Stateless alerts contributed to
further noise
After
• Every alert must be actionable and
represent a real issue with the
system.
• Alerts should create a sense of
urgency – false alerts dilutes that
Health model in action
• 3 errors for memory and
performance
• All 3 related to same
code defect
• APM component mapped to feature team
• Auto-dialer engaged Global DRI
Eliminated alert noise
~928 alerts per week to
~22 and reduced DRI
escalations by ~56%
•
•
“One time” deployment commands in OneNote, email
Set-Options “-p 0”
Imagine a dozen more steps like that…
And then…someone misses a step half way through
We once broke pre-production for a day




1 2 3 4 5
https://github.com/Netflix/Hystrix/wiki
•
•
•
•
•
•
•
•
•
 Double blind test
 Full disclosure at or near end
vs.
 Share tactics & lessons learned
 Continued evolution
Assume Breach - Use War Games to the learn attacks and practice response
Alignment
Autonomy
“Let’s try to give our teams three things….
Autonomy, Mastery, Purpose”
Phone VS/PS
Phone VS/PS
Phone VS/PS
Phone VS/PS
Phone VS/PSUnique PS accounts and
workflows
1 year migration plan
WDG Product Studio Account
WDG VSTS Account
Can you add all of my
custom workflow fields
to the bug template
that everyone uses?
Can you add a new
work item type that is
only used by my feature
team?
Is it okay if I
track my team’s
hardware
purchases in
VSTS?
Can we store every
Watson report as a bug
even if we’re not sure it
needs to be fixed?
Is it okay if I create new
rules that everyone has
to follow for how to
track dependencies?
Is it cool if I add a
few hundred new
default values?
I prefer
Tags, let’s
use those!
I prefer
Keywords,
let’s use
those!
Yes!
Work Management
Information Tools
Coding Tools
Testing Tools
Build Tools
Debugging Tools
Developer
Time
Source: Internal Microsoft Telemetry analysis of 4700 engineers in WDG
Teams
 Physical team rooms
 Cross discipline
 10-12 people
 Self managing
 Clear charter and goals
 Intact for 12-18 months
 Own features in production
 Own deployment of features
UI
API
Data
UI
API
Data
Employee choice, not
manager driven
Typically <20%
change, but 100% get
to make a choice
Cross-pollinate talent
and micro-culture
Sticky Note Exercise - Self Forming Teams
Sprint
3 weeks
1
Plan
3 sprints
3
Season
6 months
6
Scenario
18 months
Teams are responsible for the detail
Leadership is responsible
for driving the big picture
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
18 month scenario
6 month plan
CY17 H1
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
18 month scenario
6 month plan
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
18 month scenario
6 month plan
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
18 month scenario
6 month plan
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
18 month scenario
6 month plan
TIME
VALUE
TIME
VALUE
3 weeks
SpringFallSpring Fall
What we accomplished
Progressive
Deployment
Week 1 Week 2 Week 3
Week 1 Week 2 Week 3Week 2 Week 3
Sprint 98Sprint 97 Sprint 99
The sprint plan
SpringFallSpring Fall
3 sprints
SpringFallSpring Fall
engineers on
your team# 5 ?x =
Rule: If your bug count exceeds your bug cap… stop working
on new features until you’re back under the cap.
5 50x =10
Code Test & Stabilize Code Test & Stabilize
Code
Complete
Planning
• 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
PR Validations
(Impacted Test runs
and tests)
PR Validations
Build and static tools
PR Creation
Create PR
VSO.PR
Build+L0
VSO.L1
OnPrem.SelfTest
RM.SelfTest
Manual
Tfs.SelfHost
VSO.CredScan
Cred Scanner
Policheck
CI – Required
Runs
CI - Test
(Release Defs)
CI - Build
(Build Defs)
Branch
Update
Push
VSO.CI
SPS.SelfTest
Tfs.SelfTest
Onprem.SelfTest Report
RM.SelfTest Report
Spsext.SelfTest
Tfs.SelfHost Report
VSO.Packaging.CI
VSO.SDKSample.
CI
Customer Focussed
Production First Mindset
Team Autonomy + Enterprise Alignment
Shift Left Quality
Infrastructure as Flexible Resource
Shared abstraction layer
Single master branch, multiple release branches
Update 1
Update 2
Update N
Visual Studio Team Services
Team Foundation Server
One code base with multiple delivery streams
Shared Platform Services (SPS)
North Central
TFS SU1
North Central
AT
AT
AT
JA
JA
JA
Blob
TFS SU7
Australia
TFS SU0
West Central
Containerized Services
•
•
•
•
•
• If you are starting out today and cloud native, consider
PaaS, Service Fabric + Azure Functions
• We need to ship same code to on-prem & cloud
After
• 3-week sprints
• Vertical teams
• Team rooms
• Continual Planning & Learning
• PM & Engineering
• Continual customer engagement
• Everyone in master
• 8-12 person teams
• Publicly shared roadmap
• Zero debt
• Mockups in PPT
• Inner source
• Flattened organization hierarchy
• User satisfaction determines success
• Features shipped every sprint
Before
• 4-6 month milestones
• Horizontal teams
• Personal offices
• Long planning cycles
• PM, Dev, Test
• Yearly customer engagement
• Feature branches
• 20+ person teams
• Secret roadmap
• Bug debt
• 100 page spec documents
• Private repositories
• Deep organizational hierarchy
• Success is a measure of install numbers
• Features shipped once a year
https://aka.ms/ignite.mobileapp
Please
evaluate
this session https://myignite.microsoft.com/evaluations
Your input is
important!
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services

More Related Content

What's hot

Progressive exposure using deployment rings and feature flags
Progressive exposure using deployment rings and feature flagsProgressive exposure using deployment rings and feature flags
Progressive exposure using deployment rings and feature flagsWilly-Peter Schaub
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your OrganizationDalibor Blazevic
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliverySwapnil Jain
 
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud NativeFrom 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud NativeKlaus Enzenhofer
 
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Edureka!
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOpsJeff Bramwell
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsJoão Miranda
 
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.ioSoftware Guru
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsLuca Minudel
 
Continuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshareContinuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshareQualiQuali
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerZaranTech LLC
 
Technical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOpsTechnical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOpsNelis Boucké
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps JourneyDevOps.com
 
Leading the Transformation
Leading the TransformationLeading the Transformation
Leading the TransformationXebiaLabs
 
DevOps in Practice
DevOps in PracticeDevOps in Practice
DevOps in PracticeDerek Chen
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOpsTechWell
 

What's hot (20)

Progressive exposure using deployment rings and feature flags
Progressive exposure using deployment rings and feature flagsProgressive exposure using deployment rings and feature flags
Progressive exposure using deployment rings and feature flags
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud NativeFrom 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
 
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
 
Continuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshareContinuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshare
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps Engineer
 
Agile India 2014 - Venkatraman L on Scaling Agile
Agile India 2014 - Venkatraman L on Scaling AgileAgile India 2014 - Venkatraman L on Scaling Agile
Agile India 2014 - Venkatraman L on Scaling Agile
 
Technical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOpsTechnical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOps
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Leading the Transformation
Leading the TransformationLeading the Transformation
Leading the Transformation
 
DevOps in Practice
DevOps in PracticeDevOps in Practice
DevOps in Practice
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOps
 
Dev ops
Dev opsDev ops
Dev ops
 

Similar to Moving 65,000 Microsofties to DevOps with Visual Studio Team Services

Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughAngela Dugan
 
How MS Does Devops - Developer Developer Developer 2018
How MS Does Devops - Developer Developer Developer 2018How MS Does Devops - Developer Developer Developer 2018
How MS Does Devops - Developer Developer Developer 2018tspascoal
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016Karim Fanadka
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareJuan Gomez
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityIvan Porta
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsHal Rottenberg
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 
Microsoft DevOps - Fast track
Microsoft DevOps - Fast track Microsoft DevOps - Fast track
Microsoft DevOps - Fast track girish goudar
 
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy EnvironmentsDOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy EnvironmentsDevOps Enterprise Summmit
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Jean-Philippe Briend
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 

Similar to Moving 65,000 Microsofties to DevOps with Visual Studio Team Services (20)

Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools Walkthrough
 
How MS Does Devops - Developer Developer Developer 2018
How MS Does Devops - Developer Developer Developer 2018How MS Does Devops - Developer Developer Developer 2018
How MS Does Devops - Developer Developer Developer 2018
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de software
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Agile at scale
Agile at scaleAgile at scale
Agile at scale
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
Microsoft DevOps - Fast track
Microsoft DevOps - Fast track Microsoft DevOps - Fast track
Microsoft DevOps - Fast track
 
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy EnvironmentsDOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
 
India Agile Week 2015
India Agile Week 2015India Agile Week 2015
India Agile Week 2015
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 

Recently uploaded

De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILNatan Silnitsky
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockSkilrock Technologies
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAlluxio, Inc.
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1KnowledgeSeed
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownloadvrstrong314
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...Alluxio, Inc.
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 

Recently uploaded (20)

De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 

Moving 65,000 Microsofties to DevOps with Visual Studio Team Services

  • 1.
  • 4.
  • 5.
  • 7. Visual Studio Team Services Continuous Delivery for Every Team, Every App, Every Platform Continuous Delivery Agile Planning Dashboards Kanban Boards Taskboards Build and Test Git Source Control Modern Code Workflow Continuous Integration Continuous Testing Package Management Open Source Compliance Plan + Track Monitor + Learn Release Develop + Test Delivery Deployment of app and infrastructure PaaS, IaaS and Containers Monitoring Telemetry Diagnostics Analysis
  • 8.
  • 9.
  • 10. Sprint 1 August 2010 Sprint 29 June 2012 VSTS Preview Sprint 64 April 2014 VSTS GA Sprint 67 June 2014 1ES Sprint 92 Nov 2015 Extensions Sprint 102 June 2016 GVFS Sprint 124 Sep 2016
  • 11.
  • 12.
  • 13.
  • 14. Increase flow of value Shorten cycle times Continuously Improve
  • 15.
  • 16.
  • 17. • Original estimate • Completed hours • Lines of Code • Team capacity • Team burndown • Team velocity • # of bugs found Things we don’t watch• Acquisition • Engagement • Satisfaction • Churn • Feature Usage Usage • Time to Detect • Time to Communicate • Time to Mitigate • Customer Impact • Incident Prevention Items • Aging Live Site Problems • SLA per Customer • Customer Support Metrics Live Site Health • Time to Build • Time to Self Test • Time to Deploy • Time to Learn Velocity
  • 18. Found one of the top customers with low availability. Proactively reached out and resolved their issue.
  • 19.
  • 20.
  • 21.
  • 22.
  • 24.
  • 25. Before • Redundant alerts for same the issue • Needed to set right thresholds and tune often • Stateless alerts contributed to further noise After • Every alert must be actionable and represent a real issue with the system. • Alerts should create a sense of urgency – false alerts dilutes that
  • 26. Health model in action • 3 errors for memory and performance • All 3 related to same code defect • APM component mapped to feature team • Auto-dialer engaged Global DRI Eliminated alert noise ~928 alerts per week to ~22 and reduced DRI escalations by ~56%
  • 28. “One time” deployment commands in OneNote, email Set-Options “-p 0” Imagine a dozen more steps like that… And then…someone misses a step half way through We once broke pre-production for a day
  • 30. 1 2 3 4 5
  • 33.  Double blind test  Full disclosure at or near end vs.  Share tactics & lessons learned  Continued evolution Assume Breach - Use War Games to the learn attacks and practice response
  • 34.
  • 35. Alignment Autonomy “Let’s try to give our teams three things…. Autonomy, Mastery, Purpose”
  • 36. Phone VS/PS Phone VS/PS Phone VS/PS Phone VS/PS Phone VS/PSUnique PS accounts and workflows 1 year migration plan WDG Product Studio Account WDG VSTS Account
  • 37. Can you add all of my custom workflow fields to the bug template that everyone uses? Can you add a new work item type that is only used by my feature team? Is it okay if I track my team’s hardware purchases in VSTS? Can we store every Watson report as a bug even if we’re not sure it needs to be fixed? Is it okay if I create new rules that everyone has to follow for how to track dependencies? Is it cool if I add a few hundred new default values? I prefer Tags, let’s use those! I prefer Keywords, let’s use those! Yes!
  • 38.
  • 39.
  • 40. Work Management Information Tools Coding Tools Testing Tools Build Tools Debugging Tools Developer Time Source: Internal Microsoft Telemetry analysis of 4700 engineers in WDG
  • 41.
  • 42.
  • 43.
  • 44. Teams  Physical team rooms  Cross discipline  10-12 people  Self managing  Clear charter and goals  Intact for 12-18 months  Own features in production  Own deployment of features
  • 47. Employee choice, not manager driven Typically <20% change, but 100% get to make a choice Cross-pollinate talent and micro-culture Sticky Note Exercise - Self Forming Teams
  • 48. Sprint 3 weeks 1 Plan 3 sprints 3 Season 6 months 6 Scenario 18 months Teams are responsible for the detail Leadership is responsible for driving the big picture
  • 49. Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 18 month scenario 6 month plan CY17 H1
  • 50. Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 18 month scenario 6 month plan
  • 51. Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 18 month scenario 6 month plan
  • 52. Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 18 month scenario 6 month plan
  • 53. Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 18 month scenario 6 month plan
  • 56.
  • 58. What we accomplished Progressive Deployment Week 1 Week 2 Week 3 Week 1 Week 2 Week 3Week 2 Week 3 Sprint 98Sprint 97 Sprint 99 The sprint plan
  • 59.
  • 60.
  • 62.
  • 63.
  • 65.
  • 66.
  • 67.
  • 69. Rule: If your bug count exceeds your bug cap… stop working on new features until you’re back under the cap. 5 50x =10
  • 70.
  • 71. Code Test & Stabilize Code Test & Stabilize Code Complete Planning
  • 72.
  • 73. • 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
  • 74.
  • 75. PR Validations (Impacted Test runs and tests) PR Validations Build and static tools PR Creation Create PR VSO.PR Build+L0 VSO.L1 OnPrem.SelfTest RM.SelfTest Manual Tfs.SelfHost VSO.CredScan Cred Scanner Policheck CI – Required Runs CI - Test (Release Defs) CI - Build (Build Defs) Branch Update Push VSO.CI SPS.SelfTest Tfs.SelfTest Onprem.SelfTest Report RM.SelfTest Report Spsext.SelfTest Tfs.SelfHost Report VSO.Packaging.CI VSO.SDKSample. CI
  • 76. Customer Focussed Production First Mindset Team Autonomy + Enterprise Alignment Shift Left Quality Infrastructure as Flexible Resource
  • 77.
  • 78. Shared abstraction layer Single master branch, multiple release branches Update 1 Update 2 Update N Visual Studio Team Services Team Foundation Server One code base with multiple delivery streams
  • 79. Shared Platform Services (SPS) North Central TFS SU1 North Central AT AT AT JA JA JA Blob TFS SU7 Australia TFS SU0 West Central Containerized Services
  • 80. • • • • • • If you are starting out today and cloud native, consider PaaS, Service Fabric + Azure Functions • We need to ship same code to on-prem & cloud
  • 81.
  • 82. After • 3-week sprints • Vertical teams • Team rooms • Continual Planning & Learning • PM & Engineering • Continual customer engagement • Everyone in master • 8-12 person teams • Publicly shared roadmap • Zero debt • Mockups in PPT • Inner source • Flattened organization hierarchy • User satisfaction determines success • Features shipped every sprint Before • 4-6 month milestones • Horizontal teams • Personal offices • Long planning cycles • PM, Dev, Test • Yearly customer engagement • Feature branches • 20+ person teams • Secret roadmap • Bug debt • 100 page spec documents • Private repositories • Deep organizational hierarchy • Success is a measure of install numbers • Features shipped once a year