SlideShare a Scribd company logo
Continuous Integration &
Quality Development
By Gareth Davies
Mindvalley CTO
www.darknet.org.uk
slideshare.com/ShaolinTiger
So, Who am I?
• I work at Mindvalley – we are in the learning experience business
• Multi-cultural tech team with 35+ members
• We are hiring! mindvalley.com/careers
Technologies We Use
• Ruby on Rails
• Redis
• PostgreSQL
• PHP
• Python
• MongoDB
• MySQL
• Linode
• Etc…
This Talk & Pulse-check
• This talk covers:
• Continuous Integration/Development & Deployment
• Development Workflow
• Quality Development Mindset
• Agile Methodology & Scrum
• How it all comes together & Tools for 2015
• Pulse check – Github? Pull Request? Merge Conflicts?
Continuous what?
Integration, Delivery & Deployment
Continuous Integration
• If you’re using Github or any modern VCS (properly) – you’re basically
already doing at least half of this.
“Continuous Integration (CI) is a development practice that requires
developers to integrate code into a shared repository several times a
day. Each check-in is then verified by an automated build, allowing
teams to detect problems early.”
Continuous Delivery
• This is where tools come in handy, simple projects and small dev
shops often haven’t reached this stage yet
“Continuous Delivery is the natural extension of Continuous Integration:
an approach in which teams ensure that every change to the system is
releasable, and that we can release any version at the push of a
button.”
Continuous Deployment
• Automating this stage is only for the brave! The first 2 MUST be solid
(CI/CD)
“Continuous Deployment is the deployment or release of code to
Production as soon as it is ready. There is no large batching in Staging
nor long UAT process that is directly before Production.”
Development Workflow
Managing a Team Workflow
• It helps to standardise the IDE with standard settings (Sublime etc.)
• Have code conventions aka a style guide
• Have strict whitespace conventions
• Enforce daily stand-ups
• Ensure communication to avoid conflicts
• Don’t check in build artifacts (e.g scss/sass files)
Quality Driven Mind-set
• Everyone is responsible
• Automation DOES NOT remove
the need for code review
• Review every pull request with a
Systems Thinking attitude
• Allow time in your dev plan for
refactoring, cleaning code,
properly designing architecture
and code reviews
To Create Quality You Must Define It
• Have a shared definition of quality
• Communicate it through-out the team regularly
• Benchmark code reviews against the quality definition
• Example metrics for quality:
• Does it generate business value?
• Is it documented for developers?
• Is it documented for users?
• Is it tested (manually and automatically?)
• Is it secure?
• Is it optimized and so on
• Similar to the ‘Definition of Done’ in Scrum
Agile Programming?
Agile Methodology
“Agile software development is a group of software development
methods in which solutions evolve through collaboration between self-
organizing, cross-functional teams. It promotes adaptive planning,
evolutionary development, early delivery, continuous improvement,
and encourages rapid and flexible response to change.”
Scrum Framework
How Does it Connect?
• Agile methodology thrives in a development environment that is well
structured with a solid workflow
• The more complete your CI/CD systems are, the more agile you are
from a technical standpoint
• The higher quality software you produce, the less iterations you have
to waste fixing bad code and architectural oversights
CI/CD In Practise
• Feature branches and Pull Requests lead to automated testing, which
deals with low hanging fruit + human code review = high quality
software.
How We Do It
Tools Used
• Github - https://github.com/
• Circle-CI - https://circleci.com/
• Code Climate - https://codeclimate.com/
• Hipchat - https://www.hipchat.com/
• Linode - https://www.linode.com/
• Capistrano - http://capistranorb.com/
Conclusion
• Tools come and go, they fork, they die, they evolve
• Use what suits your project/organisation the best (that includes
budget)
• Most tools are free for Open Source projects
• Have an Agile mind-set and a Quality Driven focus and you’ll be fine
• Always test new methods, SaaS platforms, plugins, CI/CD tools and
agile processes/frameworks
• Have fun!
THE END
For Stalkers
Twitter: @ShaolinTiger
Blog: www.shaolintiger.com
Infosec: www.darknet.org.uk
This presentation: www.slideshare.net/ShaolinTiger

More Related Content

What's hot (20)

PDF
[OWASP Poland Day] Security knowledge framework
OWASP
 
PPTX
WordPress Security Implementation Guideline - Presentation for OWASP Romania ...
Dan Vasile
 
PPTX
Dan Catalin Vasile - Hacking the Wordpress Ecosystem
Dan Vasile
 
PDF
Devbeat Conference - Developer First Security
Michael Coates
 
PPTX
2013 michael coates-javaone
Michael Coates
 
PPTX
Dan Catalin Vasile - Defcamp2013 - Does it pay to be a blackhat hacker
Dan Vasile
 
PDF
Top 10 web application security risks akash mahajan
Akash Mahajan
 
PPTX
Web security
Kaushal Bhavsar
 
PPTX
Mobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
Nikola Milosevic
 
PPTX
Security guidelines
karthz
 
PPTX
Phishing past mail protection controls using azure information
Oddvar Moe
 
PPT
Hyves en Open Social
Polle de Maagt
 
PDF
Web application security
Akash Mahajan
 
PDF
Top Azure security fails and how to avoid them
Karl Ots
 
PPTX
Cm9 secure code_training_1day_input sanitization
dcervigni
 
PPTX
Infosec girls training-hackcummins-college-jan-2020(v0.1)
Shrutirupa Banerjiee
 
PPSX
Meetup code security
UttamParmar7
 
PPTX
Zero Credential Development with Managed Identities for Azure resources
Joonas Westlin
 
PDF
WordPress Security Basics
Ryan Plas
 
PPTX
DevOps and Application Security
Shahee Mirza
 
[OWASP Poland Day] Security knowledge framework
OWASP
 
WordPress Security Implementation Guideline - Presentation for OWASP Romania ...
Dan Vasile
 
Dan Catalin Vasile - Hacking the Wordpress Ecosystem
Dan Vasile
 
Devbeat Conference - Developer First Security
Michael Coates
 
2013 michael coates-javaone
Michael Coates
 
Dan Catalin Vasile - Defcamp2013 - Does it pay to be a blackhat hacker
Dan Vasile
 
Top 10 web application security risks akash mahajan
Akash Mahajan
 
Web security
Kaushal Bhavsar
 
Mobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
Nikola Milosevic
 
Security guidelines
karthz
 
Phishing past mail protection controls using azure information
Oddvar Moe
 
Hyves en Open Social
Polle de Maagt
 
Web application security
Akash Mahajan
 
Top Azure security fails and how to avoid them
Karl Ots
 
Cm9 secure code_training_1day_input sanitization
dcervigni
 
Infosec girls training-hackcummins-college-jan-2020(v0.1)
Shrutirupa Banerjiee
 
Meetup code security
UttamParmar7
 
Zero Credential Development with Managed Identities for Azure resources
Joonas Westlin
 
WordPress Security Basics
Ryan Plas
 
DevOps and Application Security
Shahee Mirza
 

Viewers also liked (20)

PDF
[Meetup] Code Quality tools used at Wolox for Web developing.
Esteban Pintos
 
PPTX
Static code analysis
Rune Sundling
 
PDF
Static Code Analysis
Annyce Davis
 
PPT
Prova
daviniaalsina
 
PPT
High Performance Wordpress
Gareth Davies
 
PPTX
Shorty
elizabethpham
 
PPTX
Informática básica
Santiago Vega Villacis
 
PPT
Gestor de Mobilitat - Curs CCOO
CarlesCuervaClaver
 
PDF
Современный подход к проектированию
Дмитрий Силаев
 
PPTX
Ortiz riofrio
spacexxi
 
PPT
historia de Zaragoza
93-estoy-y0
 
PPTX
Religious information literacy: using information to learn in church community
RAILS7
 
PDF
Endeavour Launch
Marco Lodovichi
 
PDF
Мобильные банки 2015: сравнительное юзабилити-исследование
Дмитрий Силаев
 
PPT
Memòria pràctiques Màster
CarlesCuervaClaver
 
KEY
Онлайн-семинары от А до Я
Pavel Levushkan
 
PDF
Вестник Католической Церкви 6/2011
Pavel Levushkan
 
PDF
Банковские сайты: сравнительное юзабилити-исследование_методология
Дмитрий Силаев
 
PDF
Mindlin Resume2010[1]
michaelmindlin
 
PPT
The History Of The Future
Gareth Davies
 
[Meetup] Code Quality tools used at Wolox for Web developing.
Esteban Pintos
 
Static code analysis
Rune Sundling
 
Static Code Analysis
Annyce Davis
 
High Performance Wordpress
Gareth Davies
 
Informática básica
Santiago Vega Villacis
 
Gestor de Mobilitat - Curs CCOO
CarlesCuervaClaver
 
Современный подход к проектированию
Дмитрий Силаев
 
Ortiz riofrio
spacexxi
 
historia de Zaragoza
93-estoy-y0
 
Religious information literacy: using information to learn in church community
RAILS7
 
Endeavour Launch
Marco Lodovichi
 
Мобильные банки 2015: сравнительное юзабилити-исследование
Дмитрий Силаев
 
Memòria pràctiques Màster
CarlesCuervaClaver
 
Онлайн-семинары от А до Я
Pavel Levushkan
 
Вестник Католической Церкви 6/2011
Pavel Levushkan
 
Банковские сайты: сравнительное юзабилити-исследование_методология
Дмитрий Силаев
 
Mindlin Resume2010[1]
michaelmindlin
 
The History Of The Future
Gareth Davies
 
Ad

Similar to Continuous Integration and Quality Development (20)

PPTX
From XP and Continuous Integration to DevOps
IBM UrbanCode Products
 
PPTX
Continuous Integration & the Release Maturity Model
cPrime | Project Management | Agile | Consulting | Staffing | Training
 
PPTX
ContinuousDelivery-101
Kishore Bhatia
 
PPTX
Continuous Integrations & Deployments
Shinu Suresh
 
PDF
Delivering Quality Software with Continuous Integration
Aspire Systems
 
PDF
Continuous, continuous, continuous
Michele Orselli
 
PPTX
Flusso Continuous Integration & Continuous Delivery
Joost van der Griendt
 
PPTX
Continuous integration, delivery & deployment
Martijn van der Kamp
 
PPT
Continuous Integration
Preetam Palwe
 
PPTX
DevOps Presentation.pptx
Abdullah al Mamun
 
PPTX
Continuous Integration
Vijaya K
 
PPT
Continuous deployment steve povilaitis
Steve Povilaitis
 
PPTX
Rising Above the Noise: Continuous Integration, Delivery and DevOps
IBM UrbanCode Products
 
PDF
Continuous Delivery Distilled
Matt Callanan
 
PDF
Agile & ALM tools
Larry Cai
 
PPTX
Building The Agile Enterprise - LSSC '12
Gil Irizarry
 
DOCX
Continuous Integration vs Continuous Delivery vs Continuous Deployment
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
PPTX
State of continuous delivery in 2015 - Minsk 15-5-2015
Pavel Chunyayev
 
PPTX
Павел Чуняев - State of Continuous Delivery in 2015
ITSpringBY
 
PPTX
Continous integration and delivery for single page applications
Sunil Dalal
 
From XP and Continuous Integration to DevOps
IBM UrbanCode Products
 
Continuous Integration & the Release Maturity Model
cPrime | Project Management | Agile | Consulting | Staffing | Training
 
ContinuousDelivery-101
Kishore Bhatia
 
Continuous Integrations & Deployments
Shinu Suresh
 
Delivering Quality Software with Continuous Integration
Aspire Systems
 
Continuous, continuous, continuous
Michele Orselli
 
Flusso Continuous Integration & Continuous Delivery
Joost van der Griendt
 
Continuous integration, delivery & deployment
Martijn van der Kamp
 
Continuous Integration
Preetam Palwe
 
DevOps Presentation.pptx
Abdullah al Mamun
 
Continuous Integration
Vijaya K
 
Continuous deployment steve povilaitis
Steve Povilaitis
 
Rising Above the Noise: Continuous Integration, Delivery and DevOps
IBM UrbanCode Products
 
Continuous Delivery Distilled
Matt Callanan
 
Agile & ALM tools
Larry Cai
 
Building The Agile Enterprise - LSSC '12
Gil Irizarry
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
State of continuous delivery in 2015 - Minsk 15-5-2015
Pavel Chunyayev
 
Павел Чуняев - State of Continuous Delivery in 2015
ITSpringBY
 
Continous integration and delivery for single page applications
Sunil Dalal
 
Ad

More from Gareth Davies (6)

PPTX
Web Application Security - DevFest + GDay George Town 2016
Gareth Davies
 
PPT
Advanced Information Gathering AKA Google Hacking
Gareth Davies
 
PPTX
Building Scalable Web Apps - LVL.UP KL
Gareth Davies
 
PPTX
Introduction to Information Security
Gareth Davies
 
PPT
Blogging WTF?
Gareth Davies
 
PPT
High Availabiltity & Replica Sets with mongoDB
Gareth Davies
 
Web Application Security - DevFest + GDay George Town 2016
Gareth Davies
 
Advanced Information Gathering AKA Google Hacking
Gareth Davies
 
Building Scalable Web Apps - LVL.UP KL
Gareth Davies
 
Introduction to Information Security
Gareth Davies
 
Blogging WTF?
Gareth Davies
 
High Availabiltity & Replica Sets with mongoDB
Gareth Davies
 

Recently uploaded (20)

PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Python basic programing language for automation
DanialHabibi2
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 

Continuous Integration and Quality Development

  • 1. Continuous Integration & Quality Development By Gareth Davies Mindvalley CTO www.darknet.org.uk slideshare.com/ShaolinTiger
  • 2. So, Who am I? • I work at Mindvalley – we are in the learning experience business • Multi-cultural tech team with 35+ members • We are hiring! mindvalley.com/careers
  • 3. Technologies We Use • Ruby on Rails • Redis • PostgreSQL • PHP • Python • MongoDB • MySQL • Linode • Etc…
  • 4. This Talk & Pulse-check • This talk covers: • Continuous Integration/Development & Deployment • Development Workflow • Quality Development Mindset • Agile Methodology & Scrum • How it all comes together & Tools for 2015 • Pulse check – Github? Pull Request? Merge Conflicts?
  • 6. Continuous Integration • If you’re using Github or any modern VCS (properly) – you’re basically already doing at least half of this. “Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.”
  • 7. Continuous Delivery • This is where tools come in handy, simple projects and small dev shops often haven’t reached this stage yet “Continuous Delivery is the natural extension of Continuous Integration: an approach in which teams ensure that every change to the system is releasable, and that we can release any version at the push of a button.”
  • 8. Continuous Deployment • Automating this stage is only for the brave! The first 2 MUST be solid (CI/CD) “Continuous Deployment is the deployment or release of code to Production as soon as it is ready. There is no large batching in Staging nor long UAT process that is directly before Production.”
  • 10. Managing a Team Workflow • It helps to standardise the IDE with standard settings (Sublime etc.) • Have code conventions aka a style guide • Have strict whitespace conventions • Enforce daily stand-ups • Ensure communication to avoid conflicts • Don’t check in build artifacts (e.g scss/sass files)
  • 11. Quality Driven Mind-set • Everyone is responsible • Automation DOES NOT remove the need for code review • Review every pull request with a Systems Thinking attitude • Allow time in your dev plan for refactoring, cleaning code, properly designing architecture and code reviews
  • 12. To Create Quality You Must Define It • Have a shared definition of quality • Communicate it through-out the team regularly • Benchmark code reviews against the quality definition • Example metrics for quality: • Does it generate business value? • Is it documented for developers? • Is it documented for users? • Is it tested (manually and automatically?) • Is it secure? • Is it optimized and so on • Similar to the ‘Definition of Done’ in Scrum
  • 14. Agile Methodology “Agile software development is a group of software development methods in which solutions evolve through collaboration between self- organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change.”
  • 16. How Does it Connect? • Agile methodology thrives in a development environment that is well structured with a solid workflow • The more complete your CI/CD systems are, the more agile you are from a technical standpoint • The higher quality software you produce, the less iterations you have to waste fixing bad code and architectural oversights
  • 17. CI/CD In Practise • Feature branches and Pull Requests lead to automated testing, which deals with low hanging fruit + human code review = high quality software.
  • 18. How We Do It
  • 19. Tools Used • Github - https://github.com/ • Circle-CI - https://circleci.com/ • Code Climate - https://codeclimate.com/ • Hipchat - https://www.hipchat.com/ • Linode - https://www.linode.com/ • Capistrano - http://capistranorb.com/
  • 20. Conclusion • Tools come and go, they fork, they die, they evolve • Use what suits your project/organisation the best (that includes budget) • Most tools are free for Open Source projects • Have an Agile mind-set and a Quality Driven focus and you’ll be fine • Always test new methods, SaaS platforms, plugins, CI/CD tools and agile processes/frameworks • Have fun!
  • 21. THE END For Stalkers Twitter: @ShaolinTiger Blog: www.shaolintiger.com Infosec: www.darknet.org.uk This presentation: www.slideshare.net/ShaolinTiger