SlideShare a Scribd company logo
1 of 22
eXtrem Programming
& Continuous integration
TECHNICAL DEBT
Technical debt
Productivity                          Productivity




                                                                Current

                            Current




                             Time                                Time
         Non managed debt                        Managed debt
eXtrem Programming
                                On-site Customer


                     Coding                        Metaphor
                    Standards    Refactoring

Le client   L’équipe              Le code                     L’équipe   Le client
   Acceptance    Unit Tests                            Pair          Release
     Tests                                         Programming       Planning


                Continuous                            Collective
                Integration      Simple Design        Ownership
                                  Sustainable
                                     Pace

                                 Small Releases
WHY CONTINUOUSLY
  INTEGRATE ?
If it’s hard
do it more often
Feedback circles
CONTINUOUS INTEGRATION
       PATTERNS
CI patterns

• Commit more often

• Every commit builds

• Keep build fast

• Everyone sees what’s happening
Commit more often


• At least once a day
• Small unit of work
• Update first to commit cleanly
Every commit builds


• It’s all about fast feedback
• Small changes
• Less to merge and/or fix
Keep build fast


• If it breaks, you find out about while it’s still fresh
• Keep up with frequent check-ins
• When build isn’t fast enough :
Everyone sees what’s happening

• Reduce time to fix
• No excuse to check in on broken build
• It’s not about blame, it’s about feedback 
Now, what should we do ?

• Write Unit tests
  •   So we really get useful feedback


• Update and commit frequently
  •   So we don’t have to perform painful merges anymore


• Act quickly upon feedback on Unit tests builds
  •   So fixing is easy
Stop the line
Hudson / Jenkins dashboard
Hudson / Jenkins




      2007         2010
The big picture of CI

   Test servers

                                        Binaries repository



                  Continuous             Developper
  Dashboard
                  Integration


                                Build tool


                                   SCM
Objectives!
• Every project has a green (blue) build with
   compilation and unit tests.

• Each broken build should be repaired in less than 15
   minutes.
Ressources :

        http://www.slideshare.net/ChristopherRead/conti
        nuous-integration-build-pipelines-and-
        continuous-deployment

        http://www.slideshare.net/jedi4ever/continuous-
        integration-for-the-world-keynote-final




Merci

More Related Content

What's hot

What's hot (20)

Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
User story refinement in Project GATE
User story refinement in Project GATEUser story refinement in Project GATE
User story refinement in Project GATE
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile Maintenance
 
Dayal rtp q2_07
Dayal rtp q2_07Dayal rtp q2_07
Dayal rtp q2_07
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
IBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & deliveryIBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & delivery
 
OpenTuesday: Aktuelle Standards der agilen Softwareentwicklung
OpenTuesday: Aktuelle Standards der agilen SoftwareentwicklungOpenTuesday: Aktuelle Standards der agilen Softwareentwicklung
OpenTuesday: Aktuelle Standards der agilen Softwareentwicklung
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed Agile
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
 
Continuous Delivery in the Enterprise
Continuous Delivery in the EnterpriseContinuous Delivery in the Enterprise
Continuous Delivery in the Enterprise
 
Going agile with scrum
Going agile with scrumGoing agile with scrum
Going agile with scrum
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
AMI Presentation
AMI PresentationAMI Presentation
AMI Presentation
 
4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
 
Perspectives on software factory
Perspectives on software factoryPerspectives on software factory
Perspectives on software factory
 

Similar to Continuous integration

Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
All Things Open
 
How to bake in quality in agile scrum projects
How to bake in quality in agile scrum projectsHow to bake in quality in agile scrum projects
How to bake in quality in agile scrum projects
Santanu Bhattacharya
 
Continuous Delivery (Internet-Briefing 2012-04-03)
Continuous Delivery (Internet-Briefing 2012-04-03)Continuous Delivery (Internet-Briefing 2012-04-03)
Continuous Delivery (Internet-Briefing 2012-04-03)
Netcetera
 
Microsoft ALM Platform Overview
Microsoft ALM Platform OverviewMicrosoft ALM Platform Overview
Microsoft ALM Platform Overview
Steve Lange
 
06 operations and feedback dap-kabel
06   operations and feedback dap-kabel06   operations and feedback dap-kabel
06 operations and feedback dap-kabel
David Alvarez Palomo
 

Similar to Continuous integration (20)

Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 
Scrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineerScrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineer
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
How to bake in quality in agile scrum projects
How to bake in quality in agile scrum projectsHow to bake in quality in agile scrum projects
How to bake in quality in agile scrum projects
 
Continuous Delivery (Internet-Briefing 2012-04-03)
Continuous Delivery (Internet-Briefing 2012-04-03)Continuous Delivery (Internet-Briefing 2012-04-03)
Continuous Delivery (Internet-Briefing 2012-04-03)
 
Continuous Integration at T3CON08
Continuous Integration at T3CON08Continuous Integration at T3CON08
Continuous Integration at T3CON08
 
Scaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel DevelopmentScaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel Development
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Microsoft ALM Platform Overview
Microsoft ALM Platform OverviewMicrosoft ALM Platform Overview
Microsoft ALM Platform Overview
 
DevOps in an Embedded World
DevOps in an Embedded WorldDevOps in an Embedded World
DevOps in an Embedded World
 
06 operations and feedback dap-kabel
06   operations and feedback dap-kabel06   operations and feedback dap-kabel
06 operations and feedback dap-kabel
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
eG Enterprise Citrix XenDesktop Monitor Product Tour
eG Enterprise Citrix XenDesktop Monitor Product ToureG Enterprise Citrix XenDesktop Monitor Product Tour
eG Enterprise Citrix XenDesktop Monitor Product Tour
 
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.comCodesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
 

More from Nathaniel Richand

Brownbaglunch Rétrospective
Brownbaglunch RétrospectiveBrownbaglunch Rétrospective
Brownbaglunch Rétrospective
Nathaniel Richand
 
2010 agile conférence - Comment vendre les tests automatisés
2010 agile conférence - Comment vendre les tests automatisés2010 agile conférence - Comment vendre les tests automatisés
2010 agile conférence - Comment vendre les tests automatisés
Nathaniel Richand
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
Nathaniel Richand
 

More from Nathaniel Richand (19)

Devenir une entreprise resiliente avec la permagilité
Devenir une entreprise resiliente avec la permagilitéDevenir une entreprise resiliente avec la permagilité
Devenir une entreprise resiliente avec la permagilité
 
Proposition séminaire agile
Proposition séminaire agileProposition séminaire agile
Proposition séminaire agile
 
Permagilite
PermagilitePermagilite
Permagilite
 
2017 brownbaglunch Kanban
2017 brownbaglunch Kanban2017 brownbaglunch Kanban
2017 brownbaglunch Kanban
 
Présentation Dashing
Présentation DashingPrésentation Dashing
Présentation Dashing
 
Devenir une organisation apprenante dans l'IT en 2014
Devenir une organisation apprenante dans l'IT en 2014Devenir une organisation apprenante dans l'IT en 2014
Devenir une organisation apprenante dans l'IT en 2014
 
2013 brownbaglunch - lean startup
2013 brownbaglunch - lean startup2013 brownbaglunch - lean startup
2013 brownbaglunch - lean startup
 
Brownbaglunch Rétrospective
Brownbaglunch RétrospectiveBrownbaglunch Rétrospective
Brownbaglunch Rétrospective
 
Brown baglunch xebia
Brown baglunch xebiaBrown baglunch xebia
Brown baglunch xebia
 
Lean canvas brochure
Lean canvas brochureLean canvas brochure
Lean canvas brochure
 
Josiane ScrumDay 2012
Josiane ScrumDay 2012Josiane ScrumDay 2012
Josiane ScrumDay 2012
 
2011 XKE - Kanban in action
2011 XKE - Kanban in action2011 XKE - Kanban in action
2011 XKE - Kanban in action
 
2010 agile conférence - Comment vendre les tests automatisés
2010 agile conférence - Comment vendre les tests automatisés2010 agile conférence - Comment vendre les tests automatisés
2010 agile conférence - Comment vendre les tests automatisés
 
2011 nri-pratiques tests-avancees
2011 nri-pratiques tests-avancees2011 nri-pratiques tests-avancees
2011 nri-pratiques tests-avancees
 
XKE - La communication
XKE - La communicationXKE - La communication
XKE - La communication
 
Presentation Zen
Presentation ZenPresentation Zen
Presentation Zen
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Continuous integration

  • 3. Technical debt Productivity Productivity Current Current Time Time Non managed debt Managed debt
  • 4. eXtrem Programming On-site Customer Coding Metaphor Standards Refactoring Le client L’équipe Le code L’équipe Le client Acceptance Unit Tests Pair Release Tests Programming Planning Continuous Collective Integration Simple Design Ownership Sustainable Pace Small Releases
  • 5. WHY CONTINUOUSLY INTEGRATE ?
  • 6.
  • 7. If it’s hard do it more often
  • 8.
  • 11. CI patterns • Commit more often • Every commit builds • Keep build fast • Everyone sees what’s happening
  • 12. Commit more often • At least once a day • Small unit of work • Update first to commit cleanly
  • 13. Every commit builds • It’s all about fast feedback • Small changes • Less to merge and/or fix
  • 14. Keep build fast • If it breaks, you find out about while it’s still fresh • Keep up with frequent check-ins • When build isn’t fast enough :
  • 15. Everyone sees what’s happening • Reduce time to fix • No excuse to check in on broken build • It’s not about blame, it’s about feedback 
  • 16. Now, what should we do ? • Write Unit tests • So we really get useful feedback • Update and commit frequently • So we don’t have to perform painful merges anymore • Act quickly upon feedback on Unit tests builds • So fixing is easy
  • 18. Hudson / Jenkins dashboard
  • 19. Hudson / Jenkins 2007 2010
  • 20. The big picture of CI Test servers Binaries repository Continuous Developper Dashboard Integration Build tool SCM
  • 21. Objectives! • Every project has a green (blue) build with compilation and unit tests. • Each broken build should be repaired in less than 15 minutes.
  • 22. Ressources : http://www.slideshare.net/ChristopherRead/conti nuous-integration-build-pipelines-and- continuous-deployment http://www.slideshare.net/jedi4ever/continuous- integration-for-the-world-keynote-final Merci

Editor's Notes

  1. http://www.slideshare.net/ChristopherRead/continuous-integration-build-pipelines-and-continuous-deployment
  2. http://www.slideshare.net/ChristopherRead/continuous-integration-build-pipelines-and-continuous-deployment
  3. http://www.slideshare.net/ChristopherRead/continuous-integration-build-pipelines-and-continuous-deployment
  4. http://www.slideshare.net/ChristopherRead/continuous-integration-build-pipelines-and-continuous-deployment