SlideShare a Scribd company logo
1 of 27
USING STANDARDS
FOR GOOD
Sept 2017
NEIL MCCAUGHLEY
BUILD AND RELEASE ENGINERING MANAGER
What are Standards?
• AKA
– Policies
– Best Practices
– Procedures
• Definition:
– A model or basis of comparison
– An agreed upon set of characteristics, definitions and/or
practices
– A minimum acceptable benchmark allowing for
quantitative or qualitative judgement
• British standards institution (BSI)
– A National standards organization whose primary activities
are
• Developing
• Coordinating
• Promulgating (promote)
• Revising
• Amending
• Reissuing
• Interpreting
Or otherwise Producing technical standards that are
intended to address the needs of a group of affected
adopters
Standards IRL
BSI Example
• UK rectangular 3 pin plug
– BS 1363 – Plug and outlet
socket system
– Introduced in 1947
– One of the new standards for electrical wiring in
the United Kingdom used for post-war
reconstruction
– Introduced in common 3 rectangular pins design
promoted as the "all-purpose domestic standard"
World leader in plug game
– Fuses Only plug standard in world
that has fuses internally
– Shutters For safety
– Long earth pin Ingenious method
to open shutters
– Wiring BLUE Left, BROWN Right
– Plastic shielding Prevents shock if
you slip you finger in
– Inner leads order If you pull the
lead out you wont die
– Earth wire Return path to ground
– Cord grip and cord position
Prevent ripping out from wall
2
1
3
World leader in plug game
– Fuses Only plug standard in world
that has fuses internally
– Shutters For safety
– Long earth pin Ingenious method
to open shutters
– Wiring BLUE Left, BROWN Right
– Plastic shielding Prevents shock if
you slip you finger in
– Inner leads order If you pull the
lead out you wont die
– Earth wire Return path to ground
– Cord grip Prevent ripping out
2
1
3
Tip #1 Some standards can be painful
if stepped on
• RELENG
– Internal development and enablement team whose primary
activities are
• Developing automation
• Collaborating
• Promulgating (promote)
• Revising
• Amending
• Supporting
• Interpreting
Or otherwise Producing source control, code path, build,
orchestration, packaging and deployment standards that are
intended to address the needs of a group of affected
adopters (Development and Operations)
Release Engineering Standards
DevOps Example
• Build and package steps on Integration/Trunk
branch
– Enables automation for developer
productivity (CI/CD)
– Promotes Best Practices
– Reliability with Self Service & automation
– Consistency e.g Naming across the board for each service
( service name = repo name = docker image name = package name =
monitoring name)
– Ease of development for developers with common libraries. No reinventing
the wheel
– Cost savings across the board
• Lower support effort - expertise in finite number of scripts/tools/practices
• Lower licensing cost
– Known quantity - Ensuring reliability, scaling
NantHealth Build template
– Verified Pathway With triggers and gates
– Uses a Consistent build tool
(and Build tool version e.g. Maven/Nuget)
– Semantic versioning through rules
– Compliance - Test coverage and security
scanning
– Targets correct internal dependency
packages based on its status in its
code path to production
– Resolves Dependencies from trusted
sources
– Deployment preparation
– Self service ability - Ensuring
consistency
– Targets correct internal dependency
packages based on its status in its
code path to production
– Resolves Dependencies from trusted
sources
– Deployment preparation
– Self service ability - Ensuring
consistency
– Verified Pathway With triggers and gates
– Uses a Consistent build tool
(and Build tool version e.g. Maven/Nuget)
– Semantic versioning through rules
– Compliance - Test coverage and security
scanning
NantHealth Build template
Tip #2 Level of RELENG ownership is
required for support and improvement
Risks of Standardisation
Subverting a standard
• Advantages
 Quicker
 Suits my way of working
 Feel like a Renegade
• Disadvantages
– May not work
– Extra work required at a different stage of
the pipeline
– Introduces risks to other parties
– Leaves a trail of destruction
• Engineers are smart – They will
find a quicker path
• There are 300+ Developers to
support. NOT EVERYONE IS
ALIKE!
• A lot of Engineers think every
engineers works like them
Tip #3 If you optimise for individual
productivity - by definition:
YOU DO NOT HAVE A TEAM
Risks of Standardisation
Mass Standardisation
• Advantages
 Less risk
 Lower long term cost
 Consistency
 Known quantity
• Disadvantages
– Enforcing standards too strictly, can lead
to lack of innovation
– Prevents teams from achieving their
potential
– All you’ll achieve over time is mediocrity
– Time is spent compromising
McDonalds have consistency on
their side. Go into a McDonald’s in
Belfast and have a cheeseburger –
it’s likely to taste exactly the same
as a cheeseburger from a
McDonald’s in Moscow
Standardisation done right
Promote Flexibility with High standards
• Advantages
 Promotes innovation
 Lower short term cost
 Value
 Happy Engineers
• Disadvantages
– Potentially more expensive to support
– If not reviewed it can introduce risks
– Trust and buy in required
– Only works with good culture
A Michelin starred restaurant has
standards in quality of produce
and standard of service, giving
Chefs ability to innovate year on
year
Tip #4 It’s not wrong to use
standards as a
BASE FOR REASONING
Promoting Flexibility
• Standards should not limit the scope of thinking
– e.g. The build command will call
– Which in turn calls the build.proj hitting the CI target.
– The CI step will resolve dependencies, compile and build package.
– This is templated out with a Project-init tool and you can customize the
build.cmd, build.proj and .sln files as you see fit.
– The BASE FOR REASONING applies here
– You can do what you want as long as you give me:
• Defined targets
• Valid dependencies
• Level of code coverage
• …
• Code that build agent can build
PS C:> build.cmd /t:CI /p:Version=%project.version%
/logger:JetBrains.BuildServer.MSBuildLoggers.MSBuildLogger,%sy
stem.teamcity.dotnet.nunitlauncher.msbuild.task%
Promoting Flexibility – Further examples
• Deployment scope
– Automatically generated Chef cookbooks upon push to source control
– Set of Providers per package type that hit the marks for BASE FOR
REASONING to
• Pull artifacts form the correct location
• Have consistent install steps
• Log and event correctly
• Follow SCM format
– Cookbooks are customizable outside of base install
• Container scope
– We provide support for number of Docker Maven plugins (Spotify, fabric8)
• We don’t need these on our build agents
• Build configs are design to allow flexibility and are the same
– We promote other standards
• Internal registry
• Package promotion
Promoting Flexibility
• Providing for Continuous improvement
– Standards will never be perfect
– Times/Tech changes
– IRL. Remember this loophole
– This is due to be fixed in next iteration of BS 1363
– Previous iterations of BS 1363 introduced
• 1957: Surface mounted switch outlets
• 1984: Sleeved pins became required by the standard
Promoting Flexibility
• Sandbox Environments
– Isolated from Dev Pipeline
– Elevated privileges for all
– Collaborate with RELENG on setting up
– Review with RELENG/Other teams to promote
– Tooling Jenkins, Gitlab, docker allow to deviate
• Temporarily detach
– Exceptions provided at isolated development level
– Permissions / restrictions controlled by RELENG
– Process defined and owned by RELENG
– Controlled through JIRA
– Collaborate with RELENG for Review
– Promotion based upon viability / cost / value
Tip #5 Collaborate, Collaborate,
Collaborate
Arriving at a Standard
• Identify opportunities for improvement
– Flawed standard
– New Technologies
– Automating manual process
• Encourage Change
– Promote safe mechanism for change
– Collaborating to compromise and agree standards
• Defining the standard
– Through documentation
– Enforced through scripting/tools
– Monitor deviations
– Track changes through collaboration tools
Tip #6 Don’t get carried away
Jerry’s Final Thought
• Standards are a BASE FOR REASONING
– There are certain benchmarks that impact more than your work
• Standards are never perfect
– Make your improvements “The new standard”
– Contributions are required by all
– Have a lightweight process and system that can support change to
standards
• Do not conform. Be flexible
– Until recently the general mantra has been “standardise and conform!”
– Sustainable systems that allow for developers to make local choices that
work for them
Twitter: @neilisking
Linkedin: https://www.linkedin.com/in/neil-mccaughley-a80739a/
Slideshare: https://www.slideshare.net/NeilMcCaughley
THANKS

More Related Content

What's hot

TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasKJR
 
Quality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldQuality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldDr. Anish Cheriyan (PhD)
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityMandi Walls
 
Banfootguns devseccon 2019
Banfootguns devseccon 2019Banfootguns devseccon 2019
Banfootguns devseccon 2019Morgan Roman
 
Better Security Testing: Using the Cloud and Continuous Delivery
Better Security Testing: Using the Cloud and Continuous DeliveryBetter Security Testing: Using the Cloud and Continuous Delivery
Better Security Testing: Using the Cloud and Continuous DeliveryGene Gotimer
 
Implementing Continuous Delivery with Enterprise Middleware
Implementing Continuous Delivery with Enterprise MiddlewareImplementing Continuous Delivery with Enterprise Middleware
Implementing Continuous Delivery with Enterprise MiddlewareXebiaLabs
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consultTomas Riha
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deploymentDaniel
 
Continuous Delivery in a Legacy Shop - One Step at a Time
Continuous Delivery in a Legacy Shop - One Step at a TimeContinuous Delivery in a Legacy Shop - One Step at a Time
Continuous Delivery in a Legacy Shop - One Step at a TimeGene Gotimer
 
New York Kubernetes: CI/CD Patterns for Kubernetes
New York Kubernetes: CI/CD Patterns for KubernetesNew York Kubernetes: CI/CD Patterns for Kubernetes
New York Kubernetes: CI/CD Patterns for KubernetesAndrew Phillips
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcyVolodymyr Yelchev
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment ManagementSergii Shmarkatiuk
 
Qa in CI/CD
Qa in CI/CDQa in CI/CD
Qa in CI/CDAdsmurai
 
Continuous Delivery in the real world - techniques to reduce the developers b...
Continuous Delivery in the real world - techniques to reduce the developers b...Continuous Delivery in the real world - techniques to reduce the developers b...
Continuous Delivery in the real world - techniques to reduce the developers b...Nikolai Blackie
 
Introduce to Git and Jenkins
Introduce to Git and JenkinsIntroduce to Git and Jenkins
Introduce to Git and JenkinsAn Nguyen
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life DevOps.com
 

What's hot (20)

TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
 
Quality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldQuality assurance in dev ops and secops world
Quality assurance in dev ops and secops world
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure Security
 
Banfootguns devseccon 2019
Banfootguns devseccon 2019Banfootguns devseccon 2019
Banfootguns devseccon 2019
 
Devops
DevopsDevops
Devops
 
Better Security Testing: Using the Cloud and Continuous Delivery
Better Security Testing: Using the Cloud and Continuous DeliveryBetter Security Testing: Using the Cloud and Continuous Delivery
Better Security Testing: Using the Cloud and Continuous Delivery
 
Implementing Continuous Delivery with Enterprise Middleware
Implementing Continuous Delivery with Enterprise MiddlewareImplementing Continuous Delivery with Enterprise Middleware
Implementing Continuous Delivery with Enterprise Middleware
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consult
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Continuous Delivery in a Legacy Shop - One Step at a Time
Continuous Delivery in a Legacy Shop - One Step at a TimeContinuous Delivery in a Legacy Shop - One Step at a Time
Continuous Delivery in a Legacy Shop - One Step at a Time
 
New York Kubernetes: CI/CD Patterns for Kubernetes
New York Kubernetes: CI/CD Patterns for KubernetesNew York Kubernetes: CI/CD Patterns for Kubernetes
New York Kubernetes: CI/CD Patterns for Kubernetes
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcy
 
Devops
DevopsDevops
Devops
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment Management
 
Qa in CI/CD
Qa in CI/CDQa in CI/CD
Qa in CI/CD
 
Continuous Delivery in the real world - techniques to reduce the developers b...
Continuous Delivery in the real world - techniques to reduce the developers b...Continuous Delivery in the real world - techniques to reduce the developers b...
Continuous Delivery in the real world - techniques to reduce the developers b...
 
Introduce to Git and Jenkins
Introduce to Git and JenkinsIntroduce to Git and Jenkins
Introduce to Git and Jenkins
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
 

Similar to Using standards for GOOD in DevOps

Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Beating the product credit crunch
Beating the product credit crunchBeating the product credit crunch
Beating the product credit crunchStephen Williams
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...DevOps.com
 
Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
Beit 381 se lec 11,12  -  41 -  12 mar16 - 3 & 4 of 4 - sdlc incremental and ...Beit 381 se lec 11,12  -  41 -  12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and ...babak danyal
 
ADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdfADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdfTomHalpin9
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slidesvenkatasubramanianSr5
 
Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Synerzip
 
Software coding & testing, software engineering
Software coding & testing, software engineeringSoftware coding & testing, software engineering
Software coding & testing, software engineeringRupesh Vaishnav
 
Game development (Game Architecture)
Game development (Game Architecture)Game development (Game Architecture)
Game development (Game Architecture)Rajkumar Pawar
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleAashima Wadhwa
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life CycleKumar
 
Testers in product development code review phase
Testers in product development   code review phaseTesters in product development   code review phase
Testers in product development code review phaseChetan Giridhar
 

Similar to Using standards for GOOD in DevOps (20)

Software process models
Software process modelsSoftware process models
Software process models
 
Beating the product credit crunch
Beating the product credit crunchBeating the product credit crunch
Beating the product credit crunch
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
 
Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
Beit 381 se lec 11,12  -  41 -  12 mar16 - 3 & 4 of 4 - sdlc incremental and ...Beit 381 se lec 11,12  -  41 -  12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
ADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdfADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdf
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slides
 
Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t
 
Software coding & testing, software engineering
Software coding & testing, software engineeringSoftware coding & testing, software engineering
Software coding & testing, software engineering
 
Game development (Game Architecture)
Game development (Game Architecture)Game development (Game Architecture)
Game development (Game Architecture)
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
 
Patch Review
Patch ReviewPatch Review
Patch Review
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life Cycle
 
TESTING
TESTINGTESTING
TESTING
 
Agile Adoption in Testing 2013 - v2
Agile Adoption in Testing 2013 - v2Agile Adoption in Testing 2013 - v2
Agile Adoption in Testing 2013 - v2
 
Testers in product development code review phase
Testers in product development   code review phaseTesters in product development   code review phase
Testers in product development code review phase
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Using standards for GOOD in DevOps

  • 2. NEIL MCCAUGHLEY BUILD AND RELEASE ENGINERING MANAGER
  • 3. What are Standards? • AKA – Policies – Best Practices – Procedures • Definition: – A model or basis of comparison – An agreed upon set of characteristics, definitions and/or practices – A minimum acceptable benchmark allowing for quantitative or qualitative judgement
  • 4. • British standards institution (BSI) – A National standards organization whose primary activities are • Developing • Coordinating • Promulgating (promote) • Revising • Amending • Reissuing • Interpreting Or otherwise Producing technical standards that are intended to address the needs of a group of affected adopters Standards IRL
  • 5. BSI Example • UK rectangular 3 pin plug – BS 1363 – Plug and outlet socket system – Introduced in 1947 – One of the new standards for electrical wiring in the United Kingdom used for post-war reconstruction – Introduced in common 3 rectangular pins design promoted as the "all-purpose domestic standard"
  • 6. World leader in plug game – Fuses Only plug standard in world that has fuses internally – Shutters For safety – Long earth pin Ingenious method to open shutters – Wiring BLUE Left, BROWN Right – Plastic shielding Prevents shock if you slip you finger in – Inner leads order If you pull the lead out you wont die – Earth wire Return path to ground – Cord grip and cord position Prevent ripping out from wall 2 1 3
  • 7. World leader in plug game – Fuses Only plug standard in world that has fuses internally – Shutters For safety – Long earth pin Ingenious method to open shutters – Wiring BLUE Left, BROWN Right – Plastic shielding Prevents shock if you slip you finger in – Inner leads order If you pull the lead out you wont die – Earth wire Return path to ground – Cord grip Prevent ripping out 2 1 3
  • 8. Tip #1 Some standards can be painful if stepped on
  • 9. • RELENG – Internal development and enablement team whose primary activities are • Developing automation • Collaborating • Promulgating (promote) • Revising • Amending • Supporting • Interpreting Or otherwise Producing source control, code path, build, orchestration, packaging and deployment standards that are intended to address the needs of a group of affected adopters (Development and Operations) Release Engineering Standards
  • 10. DevOps Example • Build and package steps on Integration/Trunk branch – Enables automation for developer productivity (CI/CD) – Promotes Best Practices – Reliability with Self Service & automation – Consistency e.g Naming across the board for each service ( service name = repo name = docker image name = package name = monitoring name) – Ease of development for developers with common libraries. No reinventing the wheel – Cost savings across the board • Lower support effort - expertise in finite number of scripts/tools/practices • Lower licensing cost – Known quantity - Ensuring reliability, scaling
  • 11. NantHealth Build template – Verified Pathway With triggers and gates – Uses a Consistent build tool (and Build tool version e.g. Maven/Nuget) – Semantic versioning through rules – Compliance - Test coverage and security scanning – Targets correct internal dependency packages based on its status in its code path to production – Resolves Dependencies from trusted sources – Deployment preparation – Self service ability - Ensuring consistency
  • 12. – Targets correct internal dependency packages based on its status in its code path to production – Resolves Dependencies from trusted sources – Deployment preparation – Self service ability - Ensuring consistency – Verified Pathway With triggers and gates – Uses a Consistent build tool (and Build tool version e.g. Maven/Nuget) – Semantic versioning through rules – Compliance - Test coverage and security scanning NantHealth Build template
  • 13. Tip #2 Level of RELENG ownership is required for support and improvement
  • 14. Risks of Standardisation Subverting a standard • Advantages  Quicker  Suits my way of working  Feel like a Renegade • Disadvantages – May not work – Extra work required at a different stage of the pipeline – Introduces risks to other parties – Leaves a trail of destruction • Engineers are smart – They will find a quicker path • There are 300+ Developers to support. NOT EVERYONE IS ALIKE! • A lot of Engineers think every engineers works like them
  • 15. Tip #3 If you optimise for individual productivity - by definition: YOU DO NOT HAVE A TEAM
  • 16. Risks of Standardisation Mass Standardisation • Advantages  Less risk  Lower long term cost  Consistency  Known quantity • Disadvantages – Enforcing standards too strictly, can lead to lack of innovation – Prevents teams from achieving their potential – All you’ll achieve over time is mediocrity – Time is spent compromising McDonalds have consistency on their side. Go into a McDonald’s in Belfast and have a cheeseburger – it’s likely to taste exactly the same as a cheeseburger from a McDonald’s in Moscow
  • 17. Standardisation done right Promote Flexibility with High standards • Advantages  Promotes innovation  Lower short term cost  Value  Happy Engineers • Disadvantages – Potentially more expensive to support – If not reviewed it can introduce risks – Trust and buy in required – Only works with good culture A Michelin starred restaurant has standards in quality of produce and standard of service, giving Chefs ability to innovate year on year
  • 18. Tip #4 It’s not wrong to use standards as a BASE FOR REASONING
  • 19. Promoting Flexibility • Standards should not limit the scope of thinking – e.g. The build command will call – Which in turn calls the build.proj hitting the CI target. – The CI step will resolve dependencies, compile and build package. – This is templated out with a Project-init tool and you can customize the build.cmd, build.proj and .sln files as you see fit. – The BASE FOR REASONING applies here – You can do what you want as long as you give me: • Defined targets • Valid dependencies • Level of code coverage • … • Code that build agent can build PS C:> build.cmd /t:CI /p:Version=%project.version% /logger:JetBrains.BuildServer.MSBuildLoggers.MSBuildLogger,%sy stem.teamcity.dotnet.nunitlauncher.msbuild.task%
  • 20. Promoting Flexibility – Further examples • Deployment scope – Automatically generated Chef cookbooks upon push to source control – Set of Providers per package type that hit the marks for BASE FOR REASONING to • Pull artifacts form the correct location • Have consistent install steps • Log and event correctly • Follow SCM format – Cookbooks are customizable outside of base install • Container scope – We provide support for number of Docker Maven plugins (Spotify, fabric8) • We don’t need these on our build agents • Build configs are design to allow flexibility and are the same – We promote other standards • Internal registry • Package promotion
  • 21. Promoting Flexibility • Providing for Continuous improvement – Standards will never be perfect – Times/Tech changes – IRL. Remember this loophole – This is due to be fixed in next iteration of BS 1363 – Previous iterations of BS 1363 introduced • 1957: Surface mounted switch outlets • 1984: Sleeved pins became required by the standard
  • 22. Promoting Flexibility • Sandbox Environments – Isolated from Dev Pipeline – Elevated privileges for all – Collaborate with RELENG on setting up – Review with RELENG/Other teams to promote – Tooling Jenkins, Gitlab, docker allow to deviate • Temporarily detach – Exceptions provided at isolated development level – Permissions / restrictions controlled by RELENG – Process defined and owned by RELENG – Controlled through JIRA – Collaborate with RELENG for Review – Promotion based upon viability / cost / value
  • 23. Tip #5 Collaborate, Collaborate, Collaborate
  • 24. Arriving at a Standard • Identify opportunities for improvement – Flawed standard – New Technologies – Automating manual process • Encourage Change – Promote safe mechanism for change – Collaborating to compromise and agree standards • Defining the standard – Through documentation – Enforced through scripting/tools – Monitor deviations – Track changes through collaboration tools
  • 25. Tip #6 Don’t get carried away
  • 26. Jerry’s Final Thought • Standards are a BASE FOR REASONING – There are certain benchmarks that impact more than your work • Standards are never perfect – Make your improvements “The new standard” – Contributions are required by all – Have a lightweight process and system that can support change to standards • Do not conform. Be flexible – Until recently the general mantra has been “standardise and conform!” – Sustainable systems that allow for developers to make local choices that work for them

Editor's Notes

  1. FUSES: he British system is pretty much the only one in the world that is fused in the plug. This extra safety measure keeps you safe from too much current going through a mains lead and setting fire to it. But because there's a fuse on the live wire, you need to make sure the pins go in the right socket -- which is where the pyramid stack comes from SHUTTERS: Prevents toddlers from feeding sockets paperclips
  2. FUSES: he British system is pretty much the only one in the world that is fused in the plug. This extra safety measure keeps you safe from too much current going through a mains lead and setting fire to it. But because there's a fuse on the live wire, you need to make sure the pins go in the right socket -- which is where the pyramid stack comes from SHUTTERS: Prevents toddlers from feeding sockets paperclips
  3. FUSES: he British system is pretty much the only one in the world that is fused in the plug. This extra safety measure keeps you safe from too much current going through a mains lead and setting fire to it. But because there's a fuse on the live wire, you need to make sure the pins go in the right socket -- which is where the pyramid stack comes from SHUTTERS: Prevents toddlers from feeding sockets paperclips
  4. FUSES: he British system is pretty much the only one in the world that is fused in the plug. This extra safety measure keeps you safe from too much current going through a mains lead and setting fire to it. But because there's a fuse on the live wire, you need to make sure the pins go in the right socket -- which is where the pyramid stack comes from SHUTTERS: Prevents toddlers from feeding sockets paperclips
  5. ** Loophole: http://www.bs1363.org.uk/ *** Hoping to remedy this in next iteration of BS1636