SlideShare a Scribd company logo
 
 
 
 
 

BT3
Concurrent Session 
11/8/2012 10:15 AM 
 
 
 
 
 
 
 

"Massive Continuous Integration and
Light-speed Iterations"
 
 
 

Presented by:
Jesse Dowdle
AtTask, Inc.
 
 
 
 
 
 
 
 

Brought to you by: 
 

 
 
340 Corporate Way, Suite 300, Orange Park, FL 32073 
888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Jesse Dowdle
AtTask, Inc.
Senior manager of development for AtTask Inc. Jesse Dowdle directs the engineering efforts of
nearly a dozen agile teams in the U.S. and overseas. Successful engineering in a fast-paced
industry requires constant research in emerging technologies. Jesse drives thought leadership
on continuous delivery, development best practices, and process evolution to help AtTask ship
software at lightning speed. Happiest when he’s building great software, Jesse sees technology,
process, and people as equally important prerequisites for success. A native of Utah, where he
enjoys fast cars in the summer and snowboarding in winter, Jesse tweets at @dowdlemj
and blogs.
dowdlemj@attask.com

Massive
Continuous Integration
and Light-speed Iterations

•Jesse

Dowdle, Director of Development

•@dowdlemj
•linkedin.com/in/jessedowdle
•www.continuousdeliverist.com
•Salt

Lake City, Utah

•Software
•Project

as a Service

Management

•Collaborative

•Salt

Work Management

Lake City, Utah

•Software
•Project

as a Service

Management

•Collaborative

Work Management
•Salt

Lake City, Utah

•Software
•Project

as a Service

Management

•Collaborative

Work Management

Agile at
AtTask
5 years
Wall to wall
11 Dev Teams
How we did Scrum

Sprint

Sprint

Sprint

How we did Scrum
4 WEEKS
Sprint

Sprint

Sprint
How we did Scrum
2 days
Demo
Retrospective
Plan

4 WEEKS
Sprint

Sprint

Sprint

How we did Scrum
2 days
Demo
Retrospective
Plan

4 WEEKS
Sprint

Sprint

Public
Release

Sprint

Public
Release

Public
Release
How we did Scrum
2 days
Demo
Retrospective
Plan

4 WEEKS
Sprint

Internal

Internal

Sprint

Internal

Public
Release

Internal

Internal

Sprint

Internal

Public
Release

Internal

Internal

Internal

Public
Release

Internal

Public
Release

How we did Scrum
2 days
Demo
Retrospective
Plan

4 WEEKS
Sprint

Internal

Internal

Sprint

Internal

Public
Release

Internal

Internal

Sprint

Internal

Public
Release

Internal

Internal
Then
Scripted scenarios
Slow, brittle
Monthly Releases
3-5 days acceptance
Manual administration

Now
Tight unit-like UI tests
Fast, Robust
Daily releases
30-45 minutes
Sign-off and go
What is Continuous Integration?
“Continuous Integration is a software development
practice where members of a team integrate their
work frequently, usually each person integrates at
least daily - leading to multiple integrations per day.
Each integration is verified by an automated build
(including test) to detect integration errors as
quickly as possible. Many teams find that this
approach leads to significantly reduced integration
problems and allows a team to develop cohesive
software more rapidly.” -- Martin Fowler

Components
•Version
•Build
•Test

Control System

Server

Runner

•Test

Suite

•Notification

Mechanism
Basic Integration
•Version
•Build
•Test

Control triggers new action

Server retrieves latest version, compiles, starts Application Stack

Runner executes tests against Application Stack

•Results
•Build

are collected and sent by notification

Server is cleaned and restored.

Basic Integration
BASIC INTEGRATION

BUILD SERVER
VERSION CONTROL

TEST RUNNER

NOTIFICATION SYSTEM

BASIC INTEGRATION
BUILD SERVER
APPLICATION
STACK

VERSION CONTROL

TEST RUNNER

NOTIFICATION SYSTEM

BASIC INTEGRATION

BUILD SERVER
APPLICATION
STACK

VERSION CONTROL

TEST RUNNER

NOTIFICATION SYSTEM

BASIC INTEGRATION
BUILD SERVER
APPLICATION
STACK

VERSION CONTROL

TEST RUNNER

NOTIFICATION SYSTEM

BASIC INTEGRATION

BUILD SERVER
VERSION CONTROL

TEST RUNNER

NOTIFICATION SYSTEM

BASIC INTEGRATION
Massive Test Automation
•800

Unit tests

•3300

API tests

•2000

UI tests

•55,000

hours per month

•Release

Acceptance + CI

“True” Continuous Integration
•How

often do I integrate?

•What

tests tell me I’m integrated?

•What

must I know to release?
Pipeline Priorities
•Performance

(Cycle Time)

•Scalability
•Visibility
•Accountability

ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
Commit

ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY

Commit
Build Installer
Build Tests

ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
Selenium Grid
Grid + AtTask
Commit
Build Installer
Build Tests

ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY

Selenium Grid
Grid + AtTask
Commit

Install
Build Installer
Build Tests

ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
Selenium Grid
Grid + AtTask
Commit

Install
Build Installer
Build Tests

Unit

Integration
1/4

3/4

2/4

4/4

ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY

Selenium Grid

Selenium IE

Grid + AtTask
Commit

Install

Selenium FF

Build Installer
Build Tests

Other tests

Unit

Integration
1/4
2/4

ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY

3/4
4/4
Selenium Grid

Selenium IE

Grid + AtTask
Commit

Install

Selenium FF

Build Installer
Build Tests

Other tests

Unit

Integration
1/4

3/4

2/4

4/4

ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY

HOW TO MAKE A PAPER AIRPLANE
OR, QUEUEING THEORY AS EXPRESSED BY A FOLDED PROJECTILE

Tear Down
Selenium Grid

Selenium IE

Grid + AtTask
Commit

Install

Selenium FF

Tear Down

Build Installer
Build Tests

Other tests

Unit

Integration
1/4

3/4

2/4

4/4

SERIAL VS PARALLEL

Selenium Grid

Selenium IE

Grid + AtTask
Commit

Install

Selenium FF

Build Installer
Build Tests

Other tests

Unit

Integration
1/4
2/4

SERIAL VS PARALLEL

3/4
4/4

Tear Down
CYCLE TIME

CYCLE TIME
CYCLE TIME

CI Vendors
CruiseControl
Jenkins (Hudson)
TeamCity
Go
Team Foundation Server
Cloud Vendors
Amazon Web Services
OpenStack
SauceLabs

JENKINS, EC2, AND ATTASK
A MATCH MADE IN HEAVEN
JENKINS, EC2, AND ATTASK
A MATCH MADE IN HEAVEN

JENKINS DYNAMIC SLAVE ALLOCATION
JENKINS DYNAMIC SLAVE ALLOCATION

SLAVE

JENKINS DYNAMIC SLAVE ALLOCATION
SLAVE
SLAVE
SLAVE
SLAVE

JENKINS DYNAMIC SLAVE ALLOCATION

JENKINS DYNAMIC SLAVE ALLOCATION
Scalability
•Taking
•To

the Test Suite to massive scale

the cloud with Amazon Cloud Formations

•Dynamic

Selenium Grids

•Dynamic

AtTask Environments

Divide and Conquer
•Module

separation will allow for scale

•Test

Suites should support sharding

•Run

tests with different dependencies in parallel
Divide and Conquer
Selenium Grid

Selenium IE

Grid + AtTask
Commit

Selenium FF

Install
Build Installer
Build Tests

Other tests

Unit

Integration
1/4

3/4

2/4

4/4

Divide and Conquer
Unit

Integration
1/4

3/4

2/4

4/4

Tear Down
PARALLEL BY DEPENDENCIES

In Memory

Database

Email

PARALLEL BY DEPENDENCIES

UI Only

Customer Data
In Memory
Database
Email
UI Only
Customer Data

PARALLEL BY DEPENDENCIES

From 3 days to 30 minutes
with Selenium 2
SELENIUM 1 (1800 TESTS)

SOMETIMES THE TESTS NEED TO CHANGE

SELENIUM 1 (1800 TESTS)
4 HOURS

SLOW

SOMETIMES THE TESTS NEED TO CHANGE
TRANSITIONING TO SELENIUM 2

TRANSITIONING TO SELENIUM 2
TRANSITIONING TO SELENIUM 2

SELENIUM 1 (1800 TESTS)
4 HOURS

TRANSITIONING TO SELENIUM 2
SELENIUM 1 (1800 TESTS)
4 HOURS

SELENIUM 2 (750 TESTS)
30 MINUTES

TRANSITIONING TO SELENIUM 2

TRANSITIONING TO SELENIUM 2

WHERE DID THE
TESTS GO?
2.1 MINUTES

TRANSITIONING TO SELENIUM 2

2.1 MINUTES

TRANSITIONING TO SELENIUM 2

34 SECONDS
2.1 MINUTES

34 SECONDS
WITH GRID...

TRANSITIONING TO SELENIUM 2

2.1 MINUTES

34 SECONDS
WITH GRID...

8 SECONDS

TRANSITIONING TO SELENIUM 2
2.1 MINUTES

34 SECONDS
WITH GRID...

8 SECONDS

2.4 SECONDS

TRANSITIONING TO SELENIUM 2

JSON
PARTLY CLOUDY WITH A CHANCE OF RAIN
JSON
PARTLY CLOUDY WITH A CHANCE OF RAIN

Scalability
Selenium Grid

Selenium IE

Grid + AtTask
Commit

Install

Selenium FF

Build Installer
Build Tests

Other tests

Unit

Integration
1/4

3/4

2/4

4/4

Tear Down
Scalability
Selenium Grid

Grid + AtTask

Commit
Build Installer

Build Tests

SLAVE

IT’S RAINING GRIDS
SLAVE

IT’S RAINING GRIDS

SLAVE

SELENIUM GRID

SELENIUM GRID

IT’S RAINING GRIDS
SLAVE

SELENIUM GRID

SELENIUM GRID

IT’S RAINING GRIDS

SLAVE

SELENIUM GRID

SELENIUM GRID

IT’S RAINING GRIDS
SLAVE

SELENIUM GRID

SLAVE

SLAVE
SELENIUM GRID

SLAVE

SLAVE

IT’S RAINING GRIDS

Visibility
•Test

results in Jenkins

•Description
•Theres

•View
•All

plugin

my commit!

plugin

the jobs on one line, oh the humanity!

•Screen-shotting
•Test

UI Tests

Age, Project Health
Visibility
•Test

results in Jenkins

•Description
•Theres

•View
•All

plugin

my commit!

plugin

the jobs on one line, oh the humanity!

•Screen-shotting
•Test

UI Tests

Age, Project Health

Visibility
•Test

results in Jenkins

•Description
•Theres

•View
•All

plugin

my commit!

plugin

the jobs on one line, oh the humanity!

•Screen-shotting
•Test

UI Tests

Age, Project Health
Visibility
•Test

results in Jenkins

•Description
•Theres

•View
•All

plugin

my commit!

plugin

the jobs on one line, oh the humanity!

•Screen-shotting
•Test

UI Tests

Age, Project Health

Visibility
•Test

results in Jenkins

•Description
•Theres

•View
•All

plugin

my commit!

plugin

the jobs on one line, oh the humanity!

•Screen-shotting
•Test

UI Tests

Age, Project Health
Accountability
•Claim

/ Blame test results using AtTask

Accountability
•Claim

/ Blame test results using AtTask
Accountability
•Claim

/ Blame test results using AtTask

CI as a Platform
•On-Demand
•Easy

demo environments

button for version control

•Visibility
•Other

into production systems

quality measurements

•Static

Analysis

•Code

Coverage
Staffing for Massive CI
•Get

the right skill set

•Watch

your integration points

•Technological
•Organizational

•DevOps

Adoption
•Process

/ Tool alignment

•Information
•Integration
•Scrum

Radiators
with existing tools

board

•Backlog

•Integration

with Release Management
CI EVOLUTION
ITS A CONTINUOUS INVESTMENT

What does it cost?
•3

FTE

•Two

human, one machine(s)

•Keeping
•Efficient

costs down
machine sizes

•Rock-solid
•Elasticity

tear down
Return on investment
•5

days (40 hours) to certify one release...

•10

engineers

•$40

per hour

•$20,000

•30

minutes to certify one release...

•10

engineers

•$40

per hour

•$250

To release 12 times in a year...
$240,000 TO CERTIFY

$3000 TO TEST
$160,000 FOR TWO FTE
$77,000 FOR CI

To release 24 times in a year...
$480,000 TO CERTIFY

$6000 TO TEST
$160,000 FOR TWO FTE
$77,000 FOR CI

To release 100 times in a year...
$2,000,000 TO CERTIFY

$25000 TO TEST
$160,000 FOR TWO FTE
$77,000 FOR CI
100 deployments annually

$2,000,000

100 deployments annually

$265,000

$2,000,000
100 deployments annually

$265,000

Where to go from here
•Continuous

Delivery

•Application

Lifecycle Management

•Continuous

Integration of Infrastructure

•Open

Source
Tools Manifest
•AtTask
•EC2

-

contributions...
wiki.jenkins-ci.org/display/JENKINS/Amazon+EC2+Plugin

•CloudFormation
•Pipeline

View -

•Description
•GIT

-

-

wiki.jenkins-ci.org/display/JENKINS/AWS+Cloudformation+Plugin

github.com/JoelJ/PipelineDashboard

Setter -

github.com/JoelJ/DescriptionSetter

/wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

•AtTask

for Jenkins -

Coming soon...

Further Reading
•“Continuous

Integration” -- Martin Fowler - http://www.martinfowler.com/

articles/continuousIntegration.html
•Extreme

Programming Explained -- Kent Beck - http://amzn.to/c0VvTB

•“Continuous

Deployment in 5 Easy Steps” -- Eric Ries - http://

radar.oreilly.com/2009/03/continuous-deployment-5-eas.html
•“Four

Principles of Low Risk Software Releases” -- Jez Humble - http://

www.informit.com/articles/article.aspx?p=1833567
•“Continuous

Delivery” -- Jez Humble & David Farley - http://

continuousdelivery.com/
•The

Lean Startup -- Eric Ries - http://theleanstartup.com/

•Continuous

Integration -- Paul Duvall - http://amzn.to/9Zx1l1
Thank you!
•Jesse

Dowdle, Sr Manager of Development

•@dowdlemj
•linkedin.com/in/jessedowdle
•www.continuousdeliverist.com

•David

Tolley, Sr QA Automation Engineer

•@davidtolley
•linkedin.com/profile/view?id=81007074

More Related Content

PDF
Conviva at Inter BEE 2017
PDF
Sdwan comp 2018
PPTX
Solano vs Jenkins
PPTX
PuppetConf 2017: Automated System Compliance from the Inside Out- Trevor Vaug...
PPTX
Automated System Compliance From the Inside Out
PDF
Concrete use cases of SQL Performance Analysis
PPT
APIC-EM API Deep Dive
PDF
Immutable Infrastructure & Rethinking Configuration - Interop 2019
Conviva at Inter BEE 2017
Sdwan comp 2018
Solano vs Jenkins
PuppetConf 2017: Automated System Compliance from the Inside Out- Trevor Vaug...
Automated System Compliance From the Inside Out
Concrete use cases of SQL Performance Analysis
APIC-EM API Deep Dive
Immutable Infrastructure & Rethinking Configuration - Interop 2019

What's hot (17)

PPTX
Serena Webcast: Accelerating Application Delivery with Continuous Testing
PDF
Strong practices for rails applications continuous delivery
PDF
Metrics-driven Continuous Delivery
POTX
DEVNET-1126 APIC-EM API
PDF
Auditing/Security with Puppet - PuppetConf 2014
PPTX
API Deep Dive: APIC EM Rest API
PDF
The Last Mile Continued: Incident Management
PDF
Incident Management in the Age of DevOps and SRE
PPTX
Agile & DevOps - It's all about project success
PDF
Operations: The Last Mile Problem For DevOps
PDF
Microservices testing in the docker era
PDF
Infrastructure Testing: The Ultimate “Shift Left”
PDF
EVOLVE'13 | Keynote | Roy Fielding
PDF
Open Source Compliance for DevOps - OSCON 2017
PDF
Software Architecture for DevOps and Continuous Delivery
PDF
Become a Performance Diagnostics Hero
PDF
Continuous Performance Testing: The New Standard
Serena Webcast: Accelerating Application Delivery with Continuous Testing
Strong practices for rails applications continuous delivery
Metrics-driven Continuous Delivery
DEVNET-1126 APIC-EM API
Auditing/Security with Puppet - PuppetConf 2014
API Deep Dive: APIC EM Rest API
The Last Mile Continued: Incident Management
Incident Management in the Age of DevOps and SRE
Agile & DevOps - It's all about project success
Operations: The Last Mile Problem For DevOps
Microservices testing in the docker era
Infrastructure Testing: The Ultimate “Shift Left”
EVOLVE'13 | Keynote | Roy Fielding
Open Source Compliance for DevOps - OSCON 2017
Software Architecture for DevOps and Continuous Delivery
Become a Performance Diagnostics Hero
Continuous Performance Testing: The New Standard
Ad

Viewers also liked (15)

PDF
Automation Culture: Essential to Agile Success
PDF
IT Governance and Compliance in an Agile World
PDF
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
PDF
Quantifying the Value of Testing
PDF
A Year of Testing in the Cloud: Lessons Learned
PDF
How to Break Software: Web 101+ Edition
PDF
12 cadpe aw5-2
PDF
Things Could Get Worse: Ideas About Regression Testing
PDF
Android Mobile Testing: Right before Your Eyes
PDF
Think Different: Visualization Tools for Testers
PDF
Getting Started with Risk-Based Testing
PDF
Keynote: The Art of Change: Influence Skills for Leaders
PDF
Rapid Software Testing: Reporting
PDF
Keynote: Know the Way, Show the Way, Go the Way: Scaling Agile Development
PDF
Testing the Data Warehouse—Big Data, Big Problems
Automation Culture: Essential to Agile Success
IT Governance and Compliance in an Agile World
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Quantifying the Value of Testing
A Year of Testing in the Cloud: Lessons Learned
How to Break Software: Web 101+ Edition
12 cadpe aw5-2
Things Could Get Worse: Ideas About Regression Testing
Android Mobile Testing: Right before Your Eyes
Think Different: Visualization Tools for Testers
Getting Started with Risk-Based Testing
Keynote: The Art of Change: Influence Skills for Leaders
Rapid Software Testing: Reporting
Keynote: Know the Way, Show the Way, Go the Way: Scaling Agile Development
Testing the Data Warehouse—Big Data, Big Problems
Ad

Similar to Massive Continuous Integration and Light-speed Iterations (20)

PPTX
50 production deployments a day, at least
PDF
Microservice Teams - How the cloud changes the way we work
PPTX
.conf 2015 - Splunking Distributed Logs for IT Policy Alignment
PDF
Reduce Test Automation Execution Time by 80%
PDF
DSR Microservices (Day 1, Part 1)
PDF
Accelerate Your OpenStack Deployment
PPTX
OOW15 - Testing Oracle E-Business Suite Best Practices
PDF
DOES16 London - Better Faster Cheaper .. How?
PPTX
Overview of Blue Medora - New Relic Plugin for Oracle Databases
PDF
Production Readiness Strategies in an Automated World
PPTX
Continuous integration testing 2019 08
PPTX
Drive Continuous Delivery With Continuous Testing
PDF
TDD for APIs in a Microservice World (Michael Kuehne Schlinkert)
PDF
TDD for APIs in a Microservice World (Short Version) by Michael Kuehne-Schlin...
PDF
Agile2013 - Integration testing in enterprises using TaaS - via Case Study
PDF
DATA @ NFLX (Tableau Conference 2014 Presentation)
PDF
Testing in the New World of Off-the-Shelf Software
PPTX
ThoughtWorks Continuous Delivery
PPTX
DevOps is a Reorg How To Accelerate The Change
PDF
Evolutionary infrastructure agile 2018 - kief morris
50 production deployments a day, at least
Microservice Teams - How the cloud changes the way we work
.conf 2015 - Splunking Distributed Logs for IT Policy Alignment
Reduce Test Automation Execution Time by 80%
DSR Microservices (Day 1, Part 1)
Accelerate Your OpenStack Deployment
OOW15 - Testing Oracle E-Business Suite Best Practices
DOES16 London - Better Faster Cheaper .. How?
Overview of Blue Medora - New Relic Plugin for Oracle Databases
Production Readiness Strategies in an Automated World
Continuous integration testing 2019 08
Drive Continuous Delivery With Continuous Testing
TDD for APIs in a Microservice World (Michael Kuehne Schlinkert)
TDD for APIs in a Microservice World (Short Version) by Michael Kuehne-Schlin...
Agile2013 - Integration testing in enterprises using TaaS - via Case Study
DATA @ NFLX (Tableau Conference 2014 Presentation)
Testing in the New World of Off-the-Shelf Software
ThoughtWorks Continuous Delivery
DevOps is a Reorg How To Accelerate The Change
Evolutionary infrastructure agile 2018 - kief morris

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation theory and applications.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Approach and Philosophy of On baking technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Review of recent advances in non-invasive hemoglobin estimation
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation theory and applications.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx
Big Data Technologies - Introduction.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Approach and Philosophy of On baking technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Monthly Chronicles - July 2025

Massive Continuous Integration and Light-speed Iterations

  • 1.           BT3 Concurrent Session  11/8/2012 10:15 AM                "Massive Continuous Integration and Light-speed Iterations"       Presented by: Jesse Dowdle AtTask, Inc.                 Brought to you by:        340 Corporate Way, Suite 300, Orange Park, FL 32073  888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Jesse Dowdle AtTask, Inc. Senior manager of development for AtTask Inc. Jesse Dowdle directs the engineering efforts of nearly a dozen agile teams in the U.S. and overseas. Successful engineering in a fast-paced industry requires constant research in emerging technologies. Jesse drives thought leadership on continuous delivery, development best practices, and process evolution to help AtTask ship software at lightning speed. Happiest when he’s building great software, Jesse sees technology, process, and people as equally important prerequisites for success. A native of Utah, where he enjoys fast cars in the summer and snowboarding in winter, Jesse tweets at @dowdlemj and blogs.
  • 3. dowdlemj@attask.com Massive Continuous Integration and Light-speed Iterations •Jesse Dowdle, Director of Development •@dowdlemj •linkedin.com/in/jessedowdle •www.continuousdeliverist.com
  • 4. •Salt Lake City, Utah •Software •Project as a Service Management •Collaborative •Salt Work Management Lake City, Utah •Software •Project as a Service Management •Collaborative Work Management
  • 5. •Salt Lake City, Utah •Software •Project as a Service Management •Collaborative Work Management Agile at AtTask 5 years Wall to wall 11 Dev Teams
  • 6. How we did Scrum Sprint Sprint Sprint How we did Scrum 4 WEEKS Sprint Sprint Sprint
  • 7. How we did Scrum 2 days Demo Retrospective Plan 4 WEEKS Sprint Sprint Sprint How we did Scrum 2 days Demo Retrospective Plan 4 WEEKS Sprint Sprint Public Release Sprint Public Release Public Release
  • 8. How we did Scrum 2 days Demo Retrospective Plan 4 WEEKS Sprint Internal Internal Sprint Internal Public Release Internal Internal Sprint Internal Public Release Internal Internal Internal Public Release Internal Public Release How we did Scrum 2 days Demo Retrospective Plan 4 WEEKS Sprint Internal Internal Sprint Internal Public Release Internal Internal Sprint Internal Public Release Internal Internal
  • 9. Then Scripted scenarios Slow, brittle Monthly Releases 3-5 days acceptance Manual administration Now Tight unit-like UI tests Fast, Robust Daily releases 30-45 minutes Sign-off and go
  • 10. What is Continuous Integration? “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.” -- Martin Fowler Components •Version •Build •Test Control System Server Runner •Test Suite •Notification Mechanism
  • 11. Basic Integration •Version •Build •Test Control triggers new action Server retrieves latest version, compiles, starts Application Stack Runner executes tests against Application Stack •Results •Build are collected and sent by notification Server is cleaned and restored. Basic Integration
  • 12. BASIC INTEGRATION BUILD SERVER VERSION CONTROL TEST RUNNER NOTIFICATION SYSTEM BASIC INTEGRATION
  • 13. BUILD SERVER APPLICATION STACK VERSION CONTROL TEST RUNNER NOTIFICATION SYSTEM BASIC INTEGRATION BUILD SERVER APPLICATION STACK VERSION CONTROL TEST RUNNER NOTIFICATION SYSTEM BASIC INTEGRATION
  • 14. BUILD SERVER APPLICATION STACK VERSION CONTROL TEST RUNNER NOTIFICATION SYSTEM BASIC INTEGRATION BUILD SERVER VERSION CONTROL TEST RUNNER NOTIFICATION SYSTEM BASIC INTEGRATION
  • 15. Massive Test Automation •800 Unit tests •3300 API tests •2000 UI tests •55,000 hours per month •Release Acceptance + CI “True” Continuous Integration •How often do I integrate? •What tests tell me I’m integrated? •What must I know to release?
  • 17. Commit ATTASK’S PIPE BUILD -- DEPLOY -- TEST -- DESTROY Commit Build Installer Build Tests ATTASK’S PIPE BUILD -- DEPLOY -- TEST -- DESTROY
  • 18. Selenium Grid Grid + AtTask Commit Build Installer Build Tests ATTASK’S PIPE BUILD -- DEPLOY -- TEST -- DESTROY Selenium Grid Grid + AtTask Commit Install Build Installer Build Tests ATTASK’S PIPE BUILD -- DEPLOY -- TEST -- DESTROY
  • 19. Selenium Grid Grid + AtTask Commit Install Build Installer Build Tests Unit Integration 1/4 3/4 2/4 4/4 ATTASK’S PIPE BUILD -- DEPLOY -- TEST -- DESTROY Selenium Grid Selenium IE Grid + AtTask Commit Install Selenium FF Build Installer Build Tests Other tests Unit Integration 1/4 2/4 ATTASK’S PIPE BUILD -- DEPLOY -- TEST -- DESTROY 3/4 4/4
  • 20. Selenium Grid Selenium IE Grid + AtTask Commit Install Selenium FF Build Installer Build Tests Other tests Unit Integration 1/4 3/4 2/4 4/4 ATTASK’S PIPE BUILD -- DEPLOY -- TEST -- DESTROY HOW TO MAKE A PAPER AIRPLANE OR, QUEUEING THEORY AS EXPRESSED BY A FOLDED PROJECTILE Tear Down
  • 21. Selenium Grid Selenium IE Grid + AtTask Commit Install Selenium FF Tear Down Build Installer Build Tests Other tests Unit Integration 1/4 3/4 2/4 4/4 SERIAL VS PARALLEL Selenium Grid Selenium IE Grid + AtTask Commit Install Selenium FF Build Installer Build Tests Other tests Unit Integration 1/4 2/4 SERIAL VS PARALLEL 3/4 4/4 Tear Down
  • 23. CYCLE TIME CI Vendors CruiseControl Jenkins (Hudson) TeamCity Go Team Foundation Server
  • 24. Cloud Vendors Amazon Web Services OpenStack SauceLabs JENKINS, EC2, AND ATTASK A MATCH MADE IN HEAVEN
  • 25. JENKINS, EC2, AND ATTASK A MATCH MADE IN HEAVEN JENKINS DYNAMIC SLAVE ALLOCATION
  • 26. JENKINS DYNAMIC SLAVE ALLOCATION SLAVE JENKINS DYNAMIC SLAVE ALLOCATION
  • 27. SLAVE SLAVE SLAVE SLAVE JENKINS DYNAMIC SLAVE ALLOCATION JENKINS DYNAMIC SLAVE ALLOCATION
  • 28. Scalability •Taking •To the Test Suite to massive scale the cloud with Amazon Cloud Formations •Dynamic Selenium Grids •Dynamic AtTask Environments Divide and Conquer •Module separation will allow for scale •Test Suites should support sharding •Run tests with different dependencies in parallel
  • 29. Divide and Conquer Selenium Grid Selenium IE Grid + AtTask Commit Selenium FF Install Build Installer Build Tests Other tests Unit Integration 1/4 3/4 2/4 4/4 Divide and Conquer Unit Integration 1/4 3/4 2/4 4/4 Tear Down
  • 30. PARALLEL BY DEPENDENCIES In Memory Database Email PARALLEL BY DEPENDENCIES UI Only Customer Data
  • 31. In Memory Database Email UI Only Customer Data PARALLEL BY DEPENDENCIES From 3 days to 30 minutes with Selenium 2
  • 32. SELENIUM 1 (1800 TESTS) SOMETIMES THE TESTS NEED TO CHANGE SELENIUM 1 (1800 TESTS) 4 HOURS SLOW SOMETIMES THE TESTS NEED TO CHANGE
  • 33. TRANSITIONING TO SELENIUM 2 TRANSITIONING TO SELENIUM 2
  • 34. TRANSITIONING TO SELENIUM 2 SELENIUM 1 (1800 TESTS) 4 HOURS TRANSITIONING TO SELENIUM 2
  • 35. SELENIUM 1 (1800 TESTS) 4 HOURS SELENIUM 2 (750 TESTS) 30 MINUTES TRANSITIONING TO SELENIUM 2 TRANSITIONING TO SELENIUM 2 WHERE DID THE TESTS GO?
  • 36. 2.1 MINUTES TRANSITIONING TO SELENIUM 2 2.1 MINUTES TRANSITIONING TO SELENIUM 2 34 SECONDS
  • 37. 2.1 MINUTES 34 SECONDS WITH GRID... TRANSITIONING TO SELENIUM 2 2.1 MINUTES 34 SECONDS WITH GRID... 8 SECONDS TRANSITIONING TO SELENIUM 2
  • 38. 2.1 MINUTES 34 SECONDS WITH GRID... 8 SECONDS 2.4 SECONDS TRANSITIONING TO SELENIUM 2 JSON PARTLY CLOUDY WITH A CHANCE OF RAIN
  • 39. JSON PARTLY CLOUDY WITH A CHANCE OF RAIN Scalability Selenium Grid Selenium IE Grid + AtTask Commit Install Selenium FF Build Installer Build Tests Other tests Unit Integration 1/4 3/4 2/4 4/4 Tear Down
  • 40. Scalability Selenium Grid Grid + AtTask Commit Build Installer Build Tests SLAVE IT’S RAINING GRIDS
  • 41. SLAVE IT’S RAINING GRIDS SLAVE SELENIUM GRID SELENIUM GRID IT’S RAINING GRIDS
  • 42. SLAVE SELENIUM GRID SELENIUM GRID IT’S RAINING GRIDS SLAVE SELENIUM GRID SELENIUM GRID IT’S RAINING GRIDS
  • 43. SLAVE SELENIUM GRID SLAVE SLAVE SELENIUM GRID SLAVE SLAVE IT’S RAINING GRIDS Visibility •Test results in Jenkins •Description •Theres •View •All plugin my commit! plugin the jobs on one line, oh the humanity! •Screen-shotting •Test UI Tests Age, Project Health
  • 44. Visibility •Test results in Jenkins •Description •Theres •View •All plugin my commit! plugin the jobs on one line, oh the humanity! •Screen-shotting •Test UI Tests Age, Project Health Visibility •Test results in Jenkins •Description •Theres •View •All plugin my commit! plugin the jobs on one line, oh the humanity! •Screen-shotting •Test UI Tests Age, Project Health
  • 45. Visibility •Test results in Jenkins •Description •Theres •View •All plugin my commit! plugin the jobs on one line, oh the humanity! •Screen-shotting •Test UI Tests Age, Project Health Visibility •Test results in Jenkins •Description •Theres •View •All plugin my commit! plugin the jobs on one line, oh the humanity! •Screen-shotting •Test UI Tests Age, Project Health
  • 46. Accountability •Claim / Blame test results using AtTask Accountability •Claim / Blame test results using AtTask
  • 47. Accountability •Claim / Blame test results using AtTask CI as a Platform •On-Demand •Easy demo environments button for version control •Visibility •Other into production systems quality measurements •Static Analysis •Code Coverage
  • 48. Staffing for Massive CI •Get the right skill set •Watch your integration points •Technological •Organizational •DevOps Adoption •Process / Tool alignment •Information •Integration •Scrum Radiators with existing tools board •Backlog •Integration with Release Management
  • 49. CI EVOLUTION ITS A CONTINUOUS INVESTMENT What does it cost? •3 FTE •Two human, one machine(s) •Keeping •Efficient costs down machine sizes •Rock-solid •Elasticity tear down
  • 50. Return on investment •5 days (40 hours) to certify one release... •10 engineers •$40 per hour •$20,000 •30 minutes to certify one release... •10 engineers •$40 per hour •$250 To release 12 times in a year... $240,000 TO CERTIFY $3000 TO TEST $160,000 FOR TWO FTE $77,000 FOR CI To release 24 times in a year... $480,000 TO CERTIFY $6000 TO TEST $160,000 FOR TWO FTE $77,000 FOR CI To release 100 times in a year... $2,000,000 TO CERTIFY $25000 TO TEST $160,000 FOR TWO FTE $77,000 FOR CI
  • 51. 100 deployments annually $2,000,000 100 deployments annually $265,000 $2,000,000
  • 52. 100 deployments annually $265,000 Where to go from here •Continuous Delivery •Application Lifecycle Management •Continuous Integration of Infrastructure •Open Source
  • 53. Tools Manifest •AtTask •EC2 - contributions... wiki.jenkins-ci.org/display/JENKINS/Amazon+EC2+Plugin •CloudFormation •Pipeline View - •Description •GIT - - wiki.jenkins-ci.org/display/JENKINS/AWS+Cloudformation+Plugin github.com/JoelJ/PipelineDashboard Setter - github.com/JoelJ/DescriptionSetter /wiki.jenkins-ci.org/display/JENKINS/Git+Plugin •AtTask for Jenkins - Coming soon... Further Reading •“Continuous Integration” -- Martin Fowler - http://www.martinfowler.com/ articles/continuousIntegration.html •Extreme Programming Explained -- Kent Beck - http://amzn.to/c0VvTB •“Continuous Deployment in 5 Easy Steps” -- Eric Ries - http:// radar.oreilly.com/2009/03/continuous-deployment-5-eas.html •“Four Principles of Low Risk Software Releases” -- Jez Humble - http:// www.informit.com/articles/article.aspx?p=1833567 •“Continuous Delivery” -- Jez Humble & David Farley - http:// continuousdelivery.com/ •The Lean Startup -- Eric Ries - http://theleanstartup.com/ •Continuous Integration -- Paul Duvall - http://amzn.to/9Zx1l1
  • 54. Thank you! •Jesse Dowdle, Sr Manager of Development •@dowdlemj •linkedin.com/in/jessedowdle •www.continuousdeliverist.com •David Tolley, Sr QA Automation Engineer •@davidtolley •linkedin.com/profile/view?id=81007074