Continuous Integration

Duration: 4-days
Cost: $X,XXX / per person
(call for multi-seat discounts)

Why This Course?

“Only 40% of Teams at Major Organizations are Testing to Ensure Safe Software Development”

Software development is a delicate process. New code that breaks or adversely affects the build is commonplace. Late stage errors cost companies billions of dollars and untold frustration.

Continuous Integration is a methodology that tests new code against the build multiple times a day. Each check-in is verified by an automated build, allowing teams to detect problems early.

By integrating regularly, your team can detect errors quickly, and locate them more easily.

Who Should Take This Course?

Anyone and Everyone involved in the development of software.

Software Developers
Project Managers
Quality Assurance
Product Owners
Business Analysts
Team Leaders

Workshop Deliverables and Skills

Upon completion of this workshop, students will have built the following deliverables, as related to your business.

– [Deliverable]
– [Deliverable]
– [Deliverable]
– [Deliverable]
– [Deliverable]
– [Deliverable]
– [Deliverable]
– [Deliverable]

Students will also have gained and practiced the following skills:

– [skill]
– [skill]
– [skill]
– [skill]
– [skill]
– [skill]
– [skill]

Module 1
What and Why of Continuous Integration

  • Problems Continuous Integration Solves
  • How Testing Gets the Job Done
  • The Cost of Not Continuously Integrating
  • How Automating Tests and Builds Makes Things Easier, Faster, and Safer.
  • Where Continuous Integration Fits into a DevOps Based Organization
  • Terms: Continuous Integration, Continuous Deployment, Continuous Delivery
  • Student Deliverable: Needs Identification Document

Module 2
Step by Step Continuous Integration

  • Detect Changes in Source Code Repository (build)
  • Extract Changes & Integrate with the Test Build
  • Perform and Review Quality Validation Tests
  • Integrate Validated Code into the Build
  • Student Skill Builder: Continuous Integration High-Level Hands-on Process

Module 3
Problems & Frustrations Solved by Continuous Integration

  • Sweat and Tears: Less Effort and More Frustration through Continuous Integration
  • Fixing Things is Slow: Continuous Integration Catches Problems Early
  • Entrenched Build Problems: Improve Quality and Maintenance with Each C.I. Release

Module 4
Improving Communication & Transparency with Continuous Integration

  • The Challenges Dev Teams Face with Client and Manager Communication
  • How Continuous Integration Makes it Possible to Keep Everyone in the Loop
  • How Changing Requirements and Change Requests are Affected By Continuous Integration
  • Student Deliverable: Communication Plan for a Real Project

Module 5
Real World Success Stories

  • The Amazing Speed of Changes at Amazon
  • How Facebook Utilizes Continuous Integration
  • Dedication to Continuous Integration: Avoiding Evil at Google
  • LinkedIn: Month Long Feature Changes Became Multiple Daily Releases
  • Netflix: Big For a Reason
  • 50 Deploys a Day at Etsy. No Big Deal.
  • Student Skill Builder: How Did They Do It? Mimicking Big Success on Your Teams.

Module 6
How to Implement Continuous Integration: Code Repository

  • “You Broke the Build!”: How a Code Repository Can Save the Day
  • Standard Tools Available for Code Repositories
  • Understanding the Dependencies between Requirements
  • Duplicating an Object Under Revision with Branches
  • Skill Builder: Build a Code Repository and Check in Code
    (code samples will be provided for non-technical audience)

Module 7
How to Implement Continuous Integration: Automated Testing

  • Why it’s Better to Test Small Units of Work at a Time (Unit Testing)
  • Users Matter: User Interface Testing
  • Testing API’s as Part of Integration Testing
  • Use Regression Testing on Previously Working Software
  • Checking Normal and Peak Demand with Load Testing
  • Testing for the 6 Basic Security Principles
  • Deliverable: Risk Assessment of Current Testing Strategy
  • Skill Builder: Build and Run Automated Tests

Module 8
How to Implement Continuous Integration: Automated Deployment

  • Manual Deployments: Inconsistent, Slow, Unreliable, Documentation Heavy, Bottleneck of Experts
  • Automated Deployment to Minimize Feature Cycle Times
  • Building a Dynamic Host Configuration Protocol Server
  • Monitor Repositories for New Commits
  • Deployment Scripts: Start Small, Think Big
  • Stay on Top of Issues with Bug Alerts

Module 9
Why You Need Database Version Control
(and what it is)

  • The Database Challenge: Getting Out of Sync
  • Database Versioning: The Oft Ignored Aspect of Version Control.
  • How Database Versioning Schema Mismatch Problems
  • Treating the Application Database as Regular Code – Source Control It!
  • Database Versions Tools: Visual Studio and Others
  • Creating DB Instances for Every Developer

Module 10
How to Perform Database Version Control

  • Checking Out Objects
  • Make Changes in Test Environment
  • Test Changes Against the Build
  • “Check-in” Changes

Module 11
Different Database Version Control Methodologies

  • Agile Task Based Approach
  • Compare and Synchronize Source and Target Databases
  • Checking Against Different Database Versions
  • Database Versioning and Delivery with Upgrade Scripts

Module 12
Real-Life Skill Builder: Test and Deploy

Students will envision a real-life scenario and apply it to hands-on practice. Participants will modify an object, check it into the repository, run tests against changes, and final tests for deployment

Module 13
The Continuous Cycle of Continuous Integration

  • Build and Software Configuration
  • Automating Integration
  • Acquiring Test Results
  • Making Builds Ready for Manual Testers

Module 14
Monitoring and Predicting Restoration After System Failure

  • Maintainability: Expecting System Failure & Predicting Time to Restore
  • Reliability & Availability
  • Defining Pass-Fail Criteria
  • Scalability
  • Allowing for Continuous Functionality Updates
  • Analyzing System Reports

Module 15
Setting Up The Server: Hands-On Tour Of Available Tools

  • Typical Continuous Integration Workflows
  • IT Architecture for Continuous Integration
  • Configuring for Automation
  • Tour of “Jenkins”
  • Tour of Popular and Open Source Continuous Integration Tools
  • Tools to Help You Build Automated Continuous Integration Tasks and Tests
  • Hands On Skill Builders:
    • Set up a Jenkins build server
    • Run a shell script
    • Archive the build result
    • Run integration tests
    • Run report on test results​

Module 15
What’s Next?

  • Convincing Non-Believers at Your Organization
  • Getting Management on Board
  • Setting Realistic Timelines for Implementing Continuous Integration
  • Deliverables:
    • Next-Steps Task List
    • Stakeholder Management Plan