GeekWire Logo
Menu
  • Home
  • News
    • Amazon
    • Artificial Intelligence
    • Civic
    • Geek Life
    • Health/Life Sciences
    • Microsoft
    • GeekWire Podcast
    • Space
    • Startups sponsored by Google for Startups
    • Positive Charge Podcast sponsored by Amazon Sustainability
    • Sustainability sponsored by Amazon Sustainability
    • Tech Moves presented by GeekWork Recruiting
    • Agents of Transformation presented by Accenture
  • GeekWork
    • GeekWork Recruiting
    • Job Board
  • Events
    • Community Calendar
    • GeekWire Events
  • Lists
    • GeekWire 200
    • GeekWire Startup List presented by ALLtech
    • GeekWire Startup Resources
    • GeekWire Startup Spaces
    • Layoff Tracker
    • M&As and IPOs
    • Northwest Women VC & Angel Investor List
    • Recent Fundings
    • Seattle Engineering Outposts
    • Venture Capital Directory
  • Members
    • Health Benefits
    • Memberships
  • Studios
    • GeekWire Studios: Let Us Tell Your Story
    • F5 30th Anniversary
    • AI Breakthrough Awards presented by UiPath
    • AI Innovators Spotlight Studio 2026 presented by AWS Marketplace
    • Nebius at NVIDIA GTC 2026
    • Acumatica Summit 2026
    • BMC Control Freaks Unite presented by BMC
    • AI Predictions Series 2026 presented by Unify Consulting
    • Guide to re:Invent 2025 sponsored by AWS
    • Remitly Reimagine 2025 sponsored by Remitly
    • Does Compute presented by Carnegie Mellon University
    • AWS Marketplace Seller Conference 2025 sponsored by AWS
    • ShopTalk 2025 powered by Amazon Ads
  • About
    • About GeekWire
    • Advertise
    • Contact Us
    • Email Newsletters
    • Reprints & Permissions
  • Podcast
  • LinkedIn
  • Newsletter
  • News Tips

What happens here matters everywhere.

  • Podcast
  • LinkedIn
  • Newsletter
  • News Tips
  • Amazon
  • Microsoft
  • Startups
  • AI
  • Science
  • Tech Moves
  • Sustainability
  • Civic
  • Geek Life
Sponsored Post

Shippable: Evolve Your Continuous Integration Strategy

by Tom Trahan on Feb 25, 2015 at 8:15 amMarch 8, 2015 at 11:51 am

  • Facebook
  • X (Twitter)
  • LinkedIn
  • Email

stacked_containers_620x283Continuous Integration (CI) is a hot topic right now. Companies have embraced the idea that automatically integrating software changes early and often is an effective approach to reduce cycle time, increase quality, and reduce end-to-end costs.

But what constitutes early and often? (Hint: the earlier the better, and you should do it at multiple stages of your software delivery process.)

To identify where to introduce CI, it helps to understand how the need for CI changes as the complexity of your software delivery process grows. Consider the following variations in complexity:

Simple EnvironmentMulti-Tier Environment
# of developers1many
# of componentsfewmany
Concurrent changes1many
Environments1 Dev, 1 Prodmany Dev, Pre-Prod & Prod
Example applicationSmall business web site3-tier enterprise app

In the simple environment, the software delivery process is managed by a single person who “does it all” for the application. In this situation, only a few opportunities to introduce issues since a single person develops the changes serially and is solely responsible for having introduced any change that breaks the system. Yet even in this simple case, the developer can benefit from CI by automatically testing the code every time it is changed, immediately discovering any bugs and ensuring all functionality that worked previously still works.

Where things really get interesting is as the complexity grows. Let’s look at how the software delivery process changes for a typical multi-tier enterprise application:

  • Multiple developers work simultaneously on different parts of the code
  • The application contains a large number of components and dependencies among components
  • Each of the tiers of the application likely run on different machines with different software
  • Multiple pre-preproduction environments likely exist, including development environments, system integration testing environments, performance testing environments, and user acceptance testing environments
  • Development, testing and operations are likely split between different people or teams

In this complex environment, opportunities to introduce errors grow exponentially as the number of developers, components, environments, and people making changes to the environments grows. And these errors typically compound the later in the software delivery process they are discovered, making them increasingly costly to resolve. Even a relatively small enterprise application team quickly finds itself struggling to get software changes through the lifecycle. Some of the most common reasons errors are introduced include:

  • Inconsistent dependencies/packages running locally on a development machine in comparison to pre-production and production environments
  • With distributed source code repositories (e.g. Git), local copies get out of sync with changes made by other developers
  • Changes are integrated in bulk making it difficult to identify what change caused an issue
  • Downstream dependencies break due to changes introduced upstream
  • Environments do not match across Pre-Prod and Prod resulting in code that works in one environment, but not in others

200x225-fast_container_shipWith the right CI strategy and tools, you can drastically reduce the impact of these common issues and, in particular, the compounding nature of them. To do so, first, you will need a strategy to eliminate or catch these errors as early as possible, so less complexity must be dealt with in later stages. Second, you’ll need to repeatedly check that changes continue to integrate successfully as the system changes and as changes progress through the various software delivery process stages and environments. An effective CI system will enable both of these strategies.

In the above example, in fact, there isn’t just one Continuous Integration process to run, but actually four distinct CI processes. CI should occur for each of the following scenarios within the software delivery process:

  1. By each individual developer before they push local code commits to their individual fork
  2. By the owner of the master branch, prior to merging code commits into the master for a pull request
  3. By the owner of the master branch, after merging a pull request into the master, for all outstanding pull requests
  4. By the owner of each pre-production environment, prior to deploying code changes to their environment.

Most companies have established processes for performing integration testing for #2 and #4, either with manual or automated testing. Some have successfully moved to continuous integration for these, integrating and testing changes automatically on a daily basis. Few, however, have implemented continuous integration for individual developers or for outstanding pull requests in the queue after successfully merging a prior pull request. If you have not yet implemented continuous integration for each of these scenarios, you’re falling behind and need to develop your strategy in order to evolve faster. If you need any assistance with forming your Continuous Integration strategy, please feel free to reach out to me to discuss, at [email protected].

One final thought. Above, I discussed the Multi-Tier Environment as a typical enterprise application architecture. That architecture will be joined by microservices and containerized applications soon, with some with significant benefits, but also added complexity. So, don’t delay. It’s the right time to take your continuous integration strategy to the next level.

Simple EnvironmentMulti-Tier EnvironmentMassively Distributed Environment
# of developers1manymany, distributed
# of componentsFew10-20hundreds
Concurrent changes11-50+thousands
Environments1 Dev, 1 Prodmany Dev, Pre-Prod & Prodmany Dev, Pre-Prod & Prod
Sample applicationSmall business web siteDB+API+Web+CacheMicroservices/
Containerized
application

211ea6dTom Trahan is the VP, Business Development at Shippable, a startup providing continuous integration services in the cloud. Formerly, Tom was Co-Founder and CEO of EnterPAS, a Director at Microsoft, and a consultant at SAP. Reach him at [email protected] and follow Shippable @beshippable.

  • Facebook
  • X (Twitter)
  • LinkedIn
  • Email

Latest Stories

    Read All Stories

    GeekWire Newsletters

    Subscribe to GeekWire's free newsletters to catch every headline

    Most Popular on GeekWire

      A Word From Our Sponsors

      About

      • About GeekWire
      • Contact Us
      • Partner With Us
      • Become a GeekWire Member
      • Send Us a Tip
      • Join Our Startup List
      • Reprints and Permissions

      Follow

      • Facebook
      • X
      • LinkedIn
      • Instagram
      • RSS Feed
      • Podcast
      • YouTube
      • Bluesky

      GeekWire Newsletters

      Catch every headline in your inbox

      Read GeekWire

      • Apple News
      • Google News

      Legal

      • Privacy Policy
      • Terms of Use
      • Sponsored Content Policy
      Return to Top of Page
      © 2011-2026 GeekWire, LLC
      Do Not Sell or Share My Personal information
      Limit the Use Of My Sensitive Personal Information
      Consent Preferences

      Don't miss a headline!

      Sign up for GeekWire's newsletters today.

      Thanks for subscribing!
      Check your inbox to confirm your subscription.