SlideShare a Scribd company logo
1 of 16
How to start
doing
Continuous
Integration
       by Fazreil Amreen Bin Abdul Jalil
Agenda
• What is Continuous Integration?

• Implementing Continuous Integration

• Impact from Continuous Integration
Objective


• Strategy and experience in Implementing
  Continuous Integration
• Describe the impact it brings toward Rapid
  Application Development
Continuous Integration (CI)

Rapid Integration

Multiple Integrations

Automated build
Problem Illustration
             Release Engineer
                                      Deployment



                 weeks, happen once per iteration



                  Proj. Manager
                                                      Stakeholders
                                      Test Engineer
Developers
                  Bug
               Management
Solution Illustration
             Source Control
                              Deployment


                                                Proj. Manager


                 CI Server

                                                Stakeholders
                              Test Automation
Developers
                Bug
             Management
Implementing Continuous
                  Integration



 Define        Select    Extend
                                    Developers
  build       the best      CI
                                   engagement
strategy.       tools    feature
Illustration of Continuous Integration
                 Model
Ingredients of Continuous
                 Integration




*Core functionalities
**Supporting functionalities
Above all
            freedom to
              organize




flexible
           loosely-      specific
           coupled


               less
            dependent
Experience in Applying Continuous
     Integration - Education
     Top-down           Bottom-up
     approach            approach

   Resources are        Freedom in
     available.      defining practice.
                     Plenty of time to
   Easier roll out
                         work on.

      Pronto          Empowerment
Experience in applying Continuous
   Integration - Project Setup
S                  E
T                  N      Focused setup
A                  D
R
T
    Shorter timeline
                            Days
                       Longer timeline

S                                         E
T                                         N
A                                         D
R          Adaptive setup
T
Impact of Continuous Integration
          Transparent Changes


                  Real time Integration



                  Automation


          Education and Empowerment
Future work



                                     Build
                            Isolated integrity
                 Efficiency CI
        Shared
        Vision
Tools
Conclusion
• Implementing Continuous Integration depends heavily
  on the selection of tools and the discipline of the
  team.

• Continuous Integration helps to screen out
  defect, checking for quality, save time and increases
  efficiency

• More importantly the team still need to deliver great
  code to produce a quality build and had a shared
  vision in implementing it.

• The implementation impacts the whole project team
  member.
Question?
 Reach out at
    /fazreil
    @fab52

More Related Content

What's hot

Agile Software Development - making programming fun again
Agile Software Development - making programming fun againAgile Software Development - making programming fun again
Agile Software Development - making programming fun againcalenlegaspi
 
Extreme Programming (XP) Project Process Flow Chart
Extreme Programming (XP)  Project Process Flow ChartExtreme Programming (XP)  Project Process Flow Chart
Extreme Programming (XP) Project Process Flow Chartcarbrac
 
Agile development
Agile developmentAgile development
Agile developmentJoshuaU1
 
Agile Software Development Approaches
Agile Software Development ApproachesAgile Software Development Approaches
Agile Software Development Approachesdcsunu
 
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Directi Group
 
Xp exterme-programming-model
Xp exterme-programming-modelXp exterme-programming-model
Xp exterme-programming-modelAli MasudianPour
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme ProgrammingJoe Drumgoole
 
A very long engagement
A very long engagementA very long engagement
A very long engagementSkills Matter
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile MaintenanceNaresh Jain
 
Agile Development Method
Agile Development MethodAgile Development Method
Agile Development MethodJohn Liebenau
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationmantripooja
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Lean Implementation of Organizational Process Focus (OPF) and Risk Management...
Lean Implementation of Organizational Process Focus (OPF) and Risk Management...Lean Implementation of Organizational Process Focus (OPF) and Risk Management...
Lean Implementation of Organizational Process Focus (OPF) and Risk Management...aamahdys
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 

What's hot (20)

Innovate presentation
Innovate presentationInnovate presentation
Innovate presentation
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Agile Software Development - making programming fun again
Agile Software Development - making programming fun againAgile Software Development - making programming fun again
Agile Software Development - making programming fun again
 
Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
 
Extreme Programming (XP) Project Process Flow Chart
Extreme Programming (XP)  Project Process Flow ChartExtreme Programming (XP)  Project Process Flow Chart
Extreme Programming (XP) Project Process Flow Chart
 
Agile development
Agile developmentAgile development
Agile development
 
Agile Software Development Approaches
Agile Software Development ApproachesAgile Software Development Approaches
Agile Software Development Approaches
 
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
 
Xp exterme-programming-model
Xp exterme-programming-modelXp exterme-programming-model
Xp exterme-programming-model
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme Programming
 
A very long engagement
A very long engagementA very long engagement
A very long engagement
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile Maintenance
 
Agile Development Method
Agile Development MethodAgile Development Method
Agile Development Method
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Extreme Programming ppt
Extreme Programming pptExtreme Programming ppt
Extreme Programming ppt
 
XP Explained
XP ExplainedXP Explained
XP Explained
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Lean Implementation of Organizational Process Focus (OPF) and Risk Management...
Lean Implementation of Organizational Process Focus (OPF) and Risk Management...Lean Implementation of Organizational Process Focus (OPF) and Risk Management...
Lean Implementation of Organizational Process Focus (OPF) and Risk Management...
 
XP In 10 slides
XP In 10 slidesXP In 10 slides
XP In 10 slides
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 

Viewers also liked

Ohanyan Educational Complex - Safer Internet Armenia - Safe.am
Ohanyan Educational Complex - Safer Internet Armenia - Safe.amOhanyan Educational Complex - Safer Internet Armenia - Safe.am
Ohanyan Educational Complex - Safer Internet Armenia - Safe.amSafer Internet Armenia
 
Homero chiavarino y la chamamecera
Homero chiavarino y la chamameceraHomero chiavarino y la chamamecera
Homero chiavarino y la chamameceraangelcolombo
 
manual de jblasting
manual de jblastingmanual de jblasting
manual de jblastingDavy Vargas
 
Pictionaryyy
PictionaryyyPictionaryyy
PictionaryyyAnni13
 
La calidad de la salud en colombia
La calidad de la salud en colombiaLa calidad de la salud en colombia
La calidad de la salud en colombiaJulio César Cardozo
 
Caracteristicas y partes del blog
Caracteristicas y partes del blogCaracteristicas y partes del blog
Caracteristicas y partes del blogAndrea
 
Military recruitment posters
Military recruitment postersMilitary recruitment posters
Military recruitment posterscgatt
 
A case study of pregnancy uterine, term
A case study of pregnancy uterine, termA case study of pregnancy uterine, term
A case study of pregnancy uterine, termIssa Farne
 
Cerro Ancón Interoceanidad
Cerro Ancón InteroceanidadCerro Ancón Interoceanidad
Cerro Ancón InteroceanidadBrirosa
 
12 sm 04h solutions
12 sm 04h solutions12 sm 04h solutions
12 sm 04h solutionsmathsdrl
 

Viewers also liked (20)

Ohanyan Educational Complex - Safer Internet Armenia - Safe.am
Ohanyan Educational Complex - Safer Internet Armenia - Safe.amOhanyan Educational Complex - Safer Internet Armenia - Safe.am
Ohanyan Educational Complex - Safer Internet Armenia - Safe.am
 
Homero chiavarino y la chamamecera
Homero chiavarino y la chamameceraHomero chiavarino y la chamamecera
Homero chiavarino y la chamamecera
 
manual de jblasting
manual de jblastingmanual de jblasting
manual de jblasting
 
Pictionaryyy
PictionaryyyPictionaryyy
Pictionaryyy
 
Fuente de poder
Fuente de poderFuente de poder
Fuente de poder
 
Trabajo de la educacion
Trabajo de la educacionTrabajo de la educacion
Trabajo de la educacion
 
3g1
3g13g1
3g1
 
Escritorio de windows
Escritorio de windowsEscritorio de windows
Escritorio de windows
 
La Tecnologia
La TecnologiaLa Tecnologia
La Tecnologia
 
La calidad de la salud en colombia
La calidad de la salud en colombiaLa calidad de la salud en colombia
La calidad de la salud en colombia
 
GBI
GBIGBI
GBI
 
Caracteristicas y partes del blog
Caracteristicas y partes del blogCaracteristicas y partes del blog
Caracteristicas y partes del blog
 
Military recruitment posters
Military recruitment postersMilitary recruitment posters
Military recruitment posters
 
A case study of pregnancy uterine, term
A case study of pregnancy uterine, termA case study of pregnancy uterine, term
A case study of pregnancy uterine, term
 
Soso--SEM
Soso--SEMSoso--SEM
Soso--SEM
 
Palestra brigadeiro
Palestra brigadeiroPalestra brigadeiro
Palestra brigadeiro
 
Cerro Ancón Interoceanidad
Cerro Ancón InteroceanidadCerro Ancón Interoceanidad
Cerro Ancón Interoceanidad
 
Word Compounding
Word CompoundingWord Compounding
Word Compounding
 
Chapter 09
Chapter 09Chapter 09
Chapter 09
 
12 sm 04h solutions
12 sm 04h solutions12 sm 04h solutions
12 sm 04h solutions
 

Similar to How to start doing ci

Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsPrabhu Ramasamy
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0Mohamed Taman
 
The Benefits of continuous integration in Automation testing.pptx
The Benefits of continuous integration in Automation testing.pptxThe Benefits of continuous integration in Automation testing.pptx
The Benefits of continuous integration in Automation testing.pptxCalidad Infotech
 
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 projectsSantanu Bhattacharya
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)Ahmed Misbah
 
CMI Overview
CMI OverviewCMI Overview
CMI OverviewFungarten
 
10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous IntegrationCoveros, Inc.
 
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)Cygnet Infotech
 
Dev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference MelbourneDev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference MelbourneMirco Hering
 
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 AdoptionSteven Mak
 
Smarter Computing Integrated Systems
Smarter Computing Integrated SystemsSmarter Computing Integrated Systems
Smarter Computing Integrated SystemsIBMGovernmentCA
 
Linkroad Corporate Snapshot
Linkroad Corporate SnapshotLinkroad Corporate Snapshot
Linkroad Corporate Snapshotmelvinyou
 
Agile testing guide_2021
Agile testing guide_2021Agile testing guide_2021
Agile testing guide_2021QMetry
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meetingSergii Shmarkatiuk
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CDRoger Turnau
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream AgileCollabNet
 
Implementing Continuous Integration
Implementing Continuous IntegrationImplementing Continuous Integration
Implementing Continuous IntegrationBahaa Al Zubaidi
 

Similar to How to start doing ci (20)

Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database Objects
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
The Benefits of continuous integration in Automation testing.pptx
The Benefits of continuous integration in Automation testing.pptxThe Benefits of continuous integration in Automation testing.pptx
The Benefits of continuous integration in Automation testing.pptx
 
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
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)
 
CMI Overview
CMI OverviewCMI Overview
CMI Overview
 
DevOps 05081015
DevOps 05081015DevOps 05081015
DevOps 05081015
 
10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration
 
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
 
Dev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference MelbourneDev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference Melbourne
 
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
 
Smarter Computing Integrated Systems
Smarter Computing Integrated SystemsSmarter Computing Integrated Systems
Smarter Computing Integrated Systems
 
Linkroad Corporate Snapshot
Linkroad Corporate SnapshotLinkroad Corporate Snapshot
Linkroad Corporate Snapshot
 
Agile testing guide_2021
Agile testing guide_2021Agile testing guide_2021
Agile testing guide_2021
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meeting
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
Implementing Continuous Integration
Implementing Continuous IntegrationImplementing Continuous Integration
Implementing Continuous Integration
 

How to start doing ci

  • 1. How to start doing Continuous Integration by Fazreil Amreen Bin Abdul Jalil
  • 2. Agenda • What is Continuous Integration? • Implementing Continuous Integration • Impact from Continuous Integration
  • 3. Objective • Strategy and experience in Implementing Continuous Integration • Describe the impact it brings toward Rapid Application Development
  • 4. Continuous Integration (CI) Rapid Integration Multiple Integrations Automated build
  • 5. Problem Illustration Release Engineer Deployment weeks, happen once per iteration Proj. Manager Stakeholders Test Engineer Developers Bug Management
  • 6. Solution Illustration Source Control Deployment Proj. Manager CI Server Stakeholders Test Automation Developers Bug Management
  • 7. Implementing Continuous Integration Define Select Extend Developers build the best CI engagement strategy. tools feature
  • 8. Illustration of Continuous Integration Model
  • 9. Ingredients of Continuous Integration *Core functionalities **Supporting functionalities
  • 10. Above all freedom to organize flexible loosely- specific coupled less dependent
  • 11. Experience in Applying Continuous Integration - Education Top-down Bottom-up approach approach Resources are Freedom in available. defining practice. Plenty of time to Easier roll out work on. Pronto Empowerment
  • 12. Experience in applying Continuous Integration - Project Setup S E T N Focused setup A D R T Shorter timeline Days Longer timeline S E T N A D R Adaptive setup T
  • 13. Impact of Continuous Integration Transparent Changes Real time Integration Automation Education and Empowerment
  • 14. Future work Build Isolated integrity Efficiency CI Shared Vision Tools
  • 15. Conclusion • Implementing Continuous Integration depends heavily on the selection of tools and the discipline of the team. • Continuous Integration helps to screen out defect, checking for quality, save time and increases efficiency • More importantly the team still need to deliver great code to produce a quality build and had a shared vision in implementing it. • The implementation impacts the whole project team member.
  • 16. Question? Reach out at /fazreil @fab52

Editor's Notes

  1. To illustrate the strategy and experience in Implementing Continuous Integration in application development process in an organization and describe the impact it brings toward Rapid Application Development
  2. Originally introduced by Martin Fowler .Emphasizes on rapid integration of all modules being developed to incrementally form a finished product.The integration happen continuously without a planned date. Multiple integrations might happen in the same day.Each integration is verified by an automated build to detect integration errors as quickly as possible.Goal: capitalize on developer productivity while reducing integration risk by making integration easy and part of the cycle.
  3. People are working on specific tasks leaving small amount of developers really focus on working on developmentProject managers have to intervene to put the phase/process in orderThe process may took weeks from development phase until the deployment.This process happen only once per iteration.
  4. Introduction of the CI server.All developers are sitting at development side and maximize development contribution.Project manager could monitor the progress of the deliverables.The whole process could take around 1 hour to complete the iteration
  5. Define build strategy.Select the best tools to aid process of developing build.Extend Continuous Integration feature by having static analysis, testing, bug tracking, deployment, etc.Developers can now totally engage to development and coding tasks while the rest of engineering process is being handled automatically.
  6. This illustration explains the interaction between each machine and what is being delivered throughout the process.Developer machine are the computers developers use to develop codesVersion control system is the central place to store latest code, the machine also have previous version of the codes for reference/retrievalBuild machine usually the one that orchestrate the process of continuous integration and process the code to become a deliverable package.Deployment machines are computer where the project might be made to run for demo purpose/ test/ evaluation.
  7. *Gather resource – get the latest codes and important files from Version Control servers*Compile – from the written code, compilation turn the code into something the computer could read and run the coded programs**Unit test – an early testing activity where the developers tries his work with giving various input to the program and getting the expected outputs**Obfuscation – get the program to be more secure by having the program difficult to reverse-engineer.**Static Analysis – get the source codes to be analyzed for the efficiency of the code written.*Packaging – get the executable and related documents together and ready to be delivered.
  8. Getting ready for continuous integration.Scripts should beI ) flexible and less dependent to each other.II) represent specific modules it is trying to execute.These scripts are like building bricks, loosely-coupled bricks gives us freedom to organize the flow of each process.
  9. Top-down approach (management-driven)Most resources are made available.Easier to roll out practice.Engineers are expected to use immediately.Bottom-up approach (developer initiative)Freedom in defining the practice.May have plenty of time to work on the Continuous Integration setup.May have to convince top level management about the empowerment in applying Continuous Integration.
  10. Difference in setting up the project for an ad-hoc development and a full-fledge project with long development timeline.ad-hocless pluginsFocus: core functionalities of CIExclude: good to have features (to be discussed on next slide)enterprise-wideflexibility in build strategy.Able to adopt to build strategies.Ready for having more functionalities through plugin. (to be discussed on next slide)Highly recommended.
  11. ManagersAble to see incrementalproduct (software being built) changes.DevelopersAble to see integration of their modules in the product.TestersAble to enjoy the luxury of automating their task to test the application.SCMHave to be able to configure the project to run for various environment.Is the one to educate every party about what is happening in the build phases.
  12. Have right set of tools.Keep on looking for tools that able to perform better, suggesting open source tools as it usually have open input and could integrate with each otherGet everyone to use the tools and share the same vision.If everyone recognize the benefit they can get from continuous integration, they would have the idea of how to work with Continuous Integration.Ensure the project is developed efficientlyHaving the project to be developed efficiently would train the developers.Encourage the use of local integration serverHaving to own personal integration server is beneficial if the development team spans globally with different timezone, so we could have multiple layer of integration in order to ensure our integration reliable to be integrated to other global level.Have a mechanism to check integration testIn order for developer to submit/commit their code, we have an pre-emptive check that the code could be able to integrate with the current code. The code a developer has might have been outdated.
  13. Important: selection of tools and the discipline of the team.CIhelps to: screen out defect, checking for quality, save time and increases efficiencyMake an inception about this: the team still need to deliver great code to produce a quality build and had a shared vision in implementing it. This makes CI works in harmonyThe implementation impacts the whole project team member.