SlideShare a Scribd company logo
Scaling Continuous Integration
Practices to Teams with Parallel
         Development

          January 19, 2012
Introduction to Today’s Speakers

Chris Lucca,
Technical Evangelist, AccuRev
  Chris' experience dates back to his days as a build / release specialist and
  software engineer for IBM-Rational. He has also filled the roles of developer,
  release engineer and SCM consultant for numerous organizations. In addition
  Chris is a certified scrum master and a frequent speaker at the AccuRev
  seminar series.

  Now Chris brings the experience and knowledge he has acquired to help keep
  others in the industry up-to-date on the latest developments, and how they
  can impact them directly.




                              Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Introduction to Today’s Speakers

 Eric Minick,
 Lead Consultant, UrbanCode
Eric Minick is a lead consultant at UrbanCode where he helps customers get the
most out of their build, deploy and release processes. He has 8 years of automation
experience throughout the application life-cycle in roles as a developer, test
automation engineer, and support engineer.

Eric has been at the forefront of continuous integration for 5+ years and has worked
on all three generations of UrbanCode’s Anthill. Keep up with Eric'’s latest insights
on UrbanCode’s blog.




                                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Agenda

•   Intro to CI
•   Overview of Parallel Development
•   Adapting CI to the Parallel Dev Challenge
•   Q&A




                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Agenda

•   Intro to CI
•   Overview of Parallel Development
•   Adapting CI to the Parallel Dev Challenge
•   Q&A




                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Traditional Development


                                                                                                          Write tests
  Specify   Design   Plan                                Code                                 Integrate                 Test
                                                                                                             Doc




Jan    Feb      Mar     Apr                      May                     Jun                           Jul       Aug Sep

                            Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Traditionally Devs Work in Isolation




             Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Too Much Isolation Leads to Integration Hell




               Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
CI: Minimizing Integration Pain

• Integrating frequently is less painful than
  infrequently
  • But, If we commit frequently blindly, we have a
    broken code base

• Implied condition: each integration will not
  decrease the code quality
  • This is the key to CI
  • The rest is implementation details



                 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
CI: The Simple Implementation

• How do we determine code quality? We test it
• How do we test code? We build it and run tests
  against it
• This is how we get from CI to CI servers and
  software builds




                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
So Simple but Very Important

• A build & unit test is a rudimentary check
• Gives important feedback
• The heartbeat of the dev organization




                 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
CI at Scale?

• With too many committers into the same code
  line, the likelihood something is broken right now
  is high

• We stop caring about failures

• The feedback is meaningless, and productivity
  suffers. CI becomes “constantly broken”



                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Agenda

•   Intro to CI
•   Overview of Parallel Development
•   Adapting CI to the Parallel Dev Challenge
•   Q&A




                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Reasons People Work In Parallel

It’s often a business reason…not for optimization

• Maintenance Release – Patches
• Customer Specials - Just for one customer
• Development branches – Developer spikes for
  experiments that will integrate at an unknown time
• Code Configurations – Different configurations of code
  based on environment, such as UAT, QA
• Special Content – Images, binaries


                    Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Technical Debt Grows

As code lines diverge, integration becomes a bigger
eventual problem.
… But we don’t always want to merge immediately

• Maintenance Release – Don’t want new features
• Customer Specials – One directional integration
• Development branches – Dev enjoys a stable playground
• Special Content – Reused at different cadence than code




                    Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Agenda

•   Intro to CI
•   Overview of Parallel Development
•   Adapting CI to the Parallel Dev Challenge
•   Q&A




                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Finding the Isolation / Integration Balance




             Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Integration Is Easy With a Few People



 Chapter 1-2   Chapter 1-2         Chapter 2-3                              Chapter 1-3                 Chapter 1-4




                             Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
It’s hard at scale



 Chapter 1-2   Chapter 1-2         Chapter 2-3                              Chapter 1-3                 Chapter 1-4




                             Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Little Hiccup

• Race condition: I could update to the latest code before
  the build/test notifies me it doesn’t compile
• Cost associated with this is huge
• Leads to “interesting solutions”
  •   Preflight
  •   Build branches
  •   Build Acceleration
  •   Build Avoidance
  •   Componentization



                    Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Cost of Integration

Per week:
• # of check-ins per developer?
• # of developers?
• % of check-ins that break things?
• # of problems encountered per developer?
• Length of time per problem encountered?

 200 devs, 2 commits each, 1% are bad = 4 breaks/day

 If each breakage cuts productivity 50% for 15
 minutes, we lose 100 dev hours / day (@$50/hr =
 $5000/day)
                 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Multi-Stage Continuous Integration


        ws
                     Team A
        ws

        ws                      CI

                                                                       int

                     Team B                                             CI
        ws

        ws                     CI

        ws

      Minutes         Hours                                        Daily

                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
•Continuous Integration
•Database Deploy                                  •Automated Tests
                          •Database Deploy
•Web Deploy                                       •Unit Tests
                          •Web Deploy
•Binary Deploy                                    •Binary Deploy
                          •Binary Deploy
•IT Sign-Off                                      •Database Deploy
                          •Customer Sign-Off                                •Continuous Integration
•Rollback (if needed)                             •Web Deploy




        x1                      x3                      x30                       x60



                  x100s                    x10                     x4                    x1



                 x10                 x5                         x2                      x1


                 5:00                      3:00                 2:00                    0:10
•Continuous Integration
                                             •Automated Tests
•Database Deploy
                                             •Unit Tests
•Web Deploy             •Database Deploy
                                             •Binary Deploy
•Binary Deploy          •Web Deploy
                                             •Database Deploy
•IT Sign-Off            •Binary Deploy
                        •Customer Sign-Off
                                             •Web Deploy               •Team Specific CI
•Rollback (if needed)
A Feature Branch Example

Urbancode’s Website Today…                                     Next (not ready for prime time)




We need two build configurations, deploy configs, test
configs, and test environments


                   Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Building and Testing Multiple Code Lines

• Build and test every active code line
  (continuously)

• Automatically run code scans, unit tests and
  functional tests




                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
CI for a New Code Line Must Be Cheap

• Build and deployment configuration
  • Maximize reuse
  • Potentially create dynamically

• Tests
  • Core regression suites shared across code lines
  • Tests for new functionality shared as code is shared

• Test Environments
  • No excuse for a lack of test environments today
  • Deploy “what’s in production” as a baseline

                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Deploy Time Integration Is the Same

• In the team’s environment:
 • Continuously deploy and execute functional tests
 • Regularly (nightly / weekly) deploy other
   components that have passed integration tests

• When new features work well, deliver to the
  integration test environment

• Releases to Stage & Prod match the full
  contents of an earlier test environment

                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
In Closing

• Compile is the first test
• Unit test, deploy, automation can come after
• Get Feedback as Fast as possible
• Different teams need different types of builds
• Separate code configurations based on process
• It’s about people, but tooling helps


                 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
What Is AccuRev?
  Much more than Version Control…
  AccuRevenables Software Process Automation



                    Best Practices For:
                       Change
                      Visual Process
                           Agile
                       Management
           Compliance Automation                                                         Parallel
                          Version
        SCM               Control
                                                                                              Global




                   Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Urbancode Products

uBuild(AnthillPro)
 • Continuous integration and delivery

uDeploy
 • Deployment and release management

uCloud(soon)
 • Environment provisioning from your private cloud




                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Q&A




Call:   1-800-383-8170 or                                         Call:                   +1 216 858-9000
        +1-781-861-8700                                           Email:                  sales@urbancode.com
Email: sales@accurev.com                                          Visit:                  www.urbancode.com
Visit: www.accurev.com                                            Learn:                  blogs.urbancode.com
Learn: blog.accurev.com




                   Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.

More Related Content

What's hot

Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overviewslides_teltools
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcy
Volodymyr Yelchev
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
Susan Yoskin
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse Conference
Rosalind Radcliffe
 
Relay health build system
Relay health build systemRelay health build system
Relay health build systemroncordell
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsSanjeev Sharma
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
Mike McGarr
 
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
JKI
 
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Teodoro Cipresso
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
Baruch Sadogursky
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Prolifics
 
Build Trust in Your Build-to-Deployment Flow!
Build Trust in Your Build-to-Deployment Flow!Build Trust in Your Build-to-Deployment Flow!
Build Trust in Your Build-to-Deployment Flow!
Baruch Sadogursky
 
Establishing a service factory
Establishing a service factoryEstablishing a service factory
Establishing a service factorydavemayo
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
KJR
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Rosalind Radcliffe
 
Team City
Team CityTeam City
Team City
Vaclav Pech
 

What's hot (19)

Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcy
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse Conference
 
Relay health build system
Relay health build systemRelay health build system
Relay health build system
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
 
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
Hudson: from build jobs to build pipelines
Hudson: from build jobs to build pipelinesHudson: from build jobs to build pipelines
Hudson: from build jobs to build pipelines
 
03 - Continuous Integration
03 - Continuous Integration03 - Continuous Integration
03 - Continuous Integration
 
Build Trust in Your Build-to-Deployment Flow!
Build Trust in Your Build-to-Deployment Flow!Build Trust in Your Build-to-Deployment Flow!
Build Trust in Your Build-to-Deployment Flow!
 
Establishing a service factory
Establishing a service factoryEstablishing a service factory
Establishing a service factory
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
Team City
Team CityTeam City
Team City
 

Viewers also liked

Continuous integration at scale
Continuous integration at scaleContinuous integration at scale
Continuous integration at scale
Vivek Singh
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation
IBM UrbanCode Products
 
DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015
Anders Lundsgård
 
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
Anders Lundsgård
 
Gradle
GradleGradle
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
IBM UrbanCode Products
 

Viewers also liked (6)

Continuous integration at scale
Continuous integration at scaleContinuous integration at scale
Continuous integration at scale
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation
 
DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015
 
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
 
Gradle
GradleGradle
Gradle
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 

Similar to Scaling Continuous Integration Practices to Teams with Parallel Development

DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI Apps
Richin Jain
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016w2fong
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8Rajwinder Singh
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
Dashlane
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
Amazon Web Services
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case Studies
Raja Nagendra Kumar
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
IBM UrbanCode Products
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
Amazon Web Services
 
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
Bert Jan Schrijver
 
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
Bert Jan Schrijver
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
Md Jawed
 
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
Bert Jan Schrijver
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2
 
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Bert Jan Schrijver
 
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Endava
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
CloudBees
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
Gert Drapers
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
Bert Jan Schrijver
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
David Rosen
 

Similar to Scaling Continuous Integration Practices to Teams with Parallel Development (20)

DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI Apps
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case Studies
 
Enter the Team City
Enter the Team CityEnter the Team City
Enter the Team City
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
 
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
 
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
 
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
 

More from IBM UrbanCode Products

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
IBM UrbanCode Products
 
What's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode DeployWhat's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode Deploy
IBM UrbanCode Products
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
IBM UrbanCode Products
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
IBM UrbanCode Products
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
IBM UrbanCode Products
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
IBM UrbanCode Products
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production Failure
IBM UrbanCode Products
 
The Future of DevOps and UrbanCode
The Future of DevOps and UrbanCodeThe Future of DevOps and UrbanCode
The Future of DevOps and UrbanCode
IBM UrbanCode Products
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
IBM UrbanCode Products
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at Scale
IBM UrbanCode Products
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
IBM UrbanCode Products
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode Deploy
IBM UrbanCode Products
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
IBM UrbanCode Products
 
A True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOpsA True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOps
IBM UrbanCode Products
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
IBM UrbanCode Products
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
IBM UrbanCode Products
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't Evil
IBM UrbanCode Products
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesIBM UrbanCode Products
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
IBM UrbanCode Products
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
IBM UrbanCode Products
 

More from IBM UrbanCode Products (20)

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
 
What's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode DeployWhat's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode Deploy
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production Failure
 
The Future of DevOps and UrbanCode
The Future of DevOps and UrbanCodeThe Future of DevOps and UrbanCode
The Future of DevOps and UrbanCode
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at Scale
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode Deploy
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
A True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOpsA True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOps
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't Evil
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to Executives
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Scaling Continuous Integration Practices to Teams with Parallel Development

  • 1. Scaling Continuous Integration Practices to Teams with Parallel Development January 19, 2012
  • 2. Introduction to Today’s Speakers Chris Lucca, Technical Evangelist, AccuRev Chris' experience dates back to his days as a build / release specialist and software engineer for IBM-Rational. He has also filled the roles of developer, release engineer and SCM consultant for numerous organizations. In addition Chris is a certified scrum master and a frequent speaker at the AccuRev seminar series. Now Chris brings the experience and knowledge he has acquired to help keep others in the industry up-to-date on the latest developments, and how they can impact them directly. Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 3. Introduction to Today’s Speakers Eric Minick, Lead Consultant, UrbanCode Eric Minick is a lead consultant at UrbanCode where he helps customers get the most out of their build, deploy and release processes. He has 8 years of automation experience throughout the application life-cycle in roles as a developer, test automation engineer, and support engineer. Eric has been at the forefront of continuous integration for 5+ years and has worked on all three generations of UrbanCode’s Anthill. Keep up with Eric'’s latest insights on UrbanCode’s blog. Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 4. Agenda • Intro to CI • Overview of Parallel Development • Adapting CI to the Parallel Dev Challenge • Q&A Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 5. Agenda • Intro to CI • Overview of Parallel Development • Adapting CI to the Parallel Dev Challenge • Q&A Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 6. Traditional Development Write tests Specify Design Plan Code Integrate Test Doc Jan Feb Mar Apr May Jun Jul Aug Sep Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 7. Traditionally Devs Work in Isolation Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 8. Too Much Isolation Leads to Integration Hell Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 9. CI: Minimizing Integration Pain • Integrating frequently is less painful than infrequently • But, If we commit frequently blindly, we have a broken code base • Implied condition: each integration will not decrease the code quality • This is the key to CI • The rest is implementation details Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 10. CI: The Simple Implementation • How do we determine code quality? We test it • How do we test code? We build it and run tests against it • This is how we get from CI to CI servers and software builds Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 11. So Simple but Very Important • A build & unit test is a rudimentary check • Gives important feedback • The heartbeat of the dev organization Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 12. CI at Scale? • With too many committers into the same code line, the likelihood something is broken right now is high • We stop caring about failures • The feedback is meaningless, and productivity suffers. CI becomes “constantly broken” Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 13. Agenda • Intro to CI • Overview of Parallel Development • Adapting CI to the Parallel Dev Challenge • Q&A Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 14. Reasons People Work In Parallel It’s often a business reason…not for optimization • Maintenance Release – Patches • Customer Specials - Just for one customer • Development branches – Developer spikes for experiments that will integrate at an unknown time • Code Configurations – Different configurations of code based on environment, such as UAT, QA • Special Content – Images, binaries Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 15. Technical Debt Grows As code lines diverge, integration becomes a bigger eventual problem. … But we don’t always want to merge immediately • Maintenance Release – Don’t want new features • Customer Specials – One directional integration • Development branches – Dev enjoys a stable playground • Special Content – Reused at different cadence than code Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 16. Agenda • Intro to CI • Overview of Parallel Development • Adapting CI to the Parallel Dev Challenge • Q&A Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 17. Finding the Isolation / Integration Balance Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 18. Integration Is Easy With a Few People Chapter 1-2 Chapter 1-2 Chapter 2-3 Chapter 1-3 Chapter 1-4 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 19. It’s hard at scale Chapter 1-2 Chapter 1-2 Chapter 2-3 Chapter 1-3 Chapter 1-4 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 20. Little Hiccup • Race condition: I could update to the latest code before the build/test notifies me it doesn’t compile • Cost associated with this is huge • Leads to “interesting solutions” • Preflight • Build branches • Build Acceleration • Build Avoidance • Componentization Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 21. Cost of Integration Per week: • # of check-ins per developer? • # of developers? • % of check-ins that break things? • # of problems encountered per developer? • Length of time per problem encountered? 200 devs, 2 commits each, 1% are bad = 4 breaks/day If each breakage cuts productivity 50% for 15 minutes, we lose 100 dev hours / day (@$50/hr = $5000/day) Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 22. Multi-Stage Continuous Integration ws Team A ws ws CI int Team B CI ws ws CI ws Minutes Hours Daily Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 23. •Continuous Integration •Database Deploy •Automated Tests •Database Deploy •Web Deploy •Unit Tests •Web Deploy •Binary Deploy •Binary Deploy •Binary Deploy •IT Sign-Off •Database Deploy •Customer Sign-Off •Continuous Integration •Rollback (if needed) •Web Deploy x1 x3 x30 x60 x100s x10 x4 x1 x10 x5 x2 x1 5:00 3:00 2:00 0:10
  • 24. •Continuous Integration •Automated Tests •Database Deploy •Unit Tests •Web Deploy •Database Deploy •Binary Deploy •Binary Deploy •Web Deploy •Database Deploy •IT Sign-Off •Binary Deploy •Customer Sign-Off •Web Deploy •Team Specific CI •Rollback (if needed)
  • 25. A Feature Branch Example Urbancode’s Website Today… Next (not ready for prime time) We need two build configurations, deploy configs, test configs, and test environments Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 26. Building and Testing Multiple Code Lines • Build and test every active code line (continuously) • Automatically run code scans, unit tests and functional tests Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 27. CI for a New Code Line Must Be Cheap • Build and deployment configuration • Maximize reuse • Potentially create dynamically • Tests • Core regression suites shared across code lines • Tests for new functionality shared as code is shared • Test Environments • No excuse for a lack of test environments today • Deploy “what’s in production” as a baseline Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 28. Deploy Time Integration Is the Same • In the team’s environment: • Continuously deploy and execute functional tests • Regularly (nightly / weekly) deploy other components that have passed integration tests • When new features work well, deliver to the integration test environment • Releases to Stage & Prod match the full contents of an earlier test environment Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 29. In Closing • Compile is the first test • Unit test, deploy, automation can come after • Get Feedback as Fast as possible • Different teams need different types of builds • Separate code configurations based on process • It’s about people, but tooling helps Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 30. What Is AccuRev? Much more than Version Control… AccuRevenables Software Process Automation Best Practices For: Change Visual Process Agile Management Compliance Automation Parallel Version SCM Control Global Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 31. Urbancode Products uBuild(AnthillPro) • Continuous integration and delivery uDeploy • Deployment and release management uCloud(soon) • Environment provisioning from your private cloud Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 32. Q&A Call: 1-800-383-8170 or Call: +1 216 858-9000 +1-781-861-8700 Email: sales@urbancode.com Email: sales@accurev.com Visit: www.urbancode.com Visit: www.accurev.com Learn: blogs.urbancode.com Learn: blog.accurev.com Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.

Editor's Notes

  1. Isolation is good. Nobody breaks our stuff.
  2. CI is based on the observation that the longer development streams diverge, the more painful the eventual integration will be. Taking the converse of the above statement, the more frequently developers integrate their changes, the more painless those integrations will be
  3. The compile is arguably the most important test. Non-compiling code, really hurts the rest of your teamRace condition gets worse every way we scale. More people, sloppier commits, slower builds, slower tests, faster commits.
  4. Tell story around 400 components branching at once and reconfigured in Hudson.