Micro Focus is now part of OpenText. Learn more >

You are here

You are here

Embrace continuous integration for app delivery

Matthew David Digital Leader, Accenture
This article explains what continuous integration is, the thought process that is driving the concept, and the tools you can use to manage rapid development cycles.

The days of spending 18 months to build the perfect piece of software are gone. The rapid rise of mobile solutions is bringing with it an equally rapid change in app development and delivery: a concept called continuous integration. This article explains what continuous integration is, the thought process that is driving the concept, and the tools you can use to manage rapid development cycles.

Delivering solutions in days rather than weeks

The last decade has seen release cycles for products shrink from two to five years to weeks (and in some cases, days). The motivation behind these changes is the massive, Internet-enabled market. In 1995, fewer than 50 million people were connected to the Internet. Today, nearly three billion people are all Internet-enabled with smartphones. The total addressable market is significantly bigger. Large markets always draw more competition (survey the CRM market and you will quickly lose count of the number of vendors). More competition means more choice for the customer. And with 2.2 billion customers, the only way you can compete is to rapidly and continuously add new features.

Microsoft is a great example of a company that has changed how they release their software. Look at Office 365. At one time, there was up to a three year gap between each release of Microsoft Office. But with today's rapid iteration and release cycles, Office 365 now updates every two weeks. The massive product that is Microsoft Office has gone from being a headache users had to update once in a blue moon to a continuous, evergreen product. It's a mobile-first world.

Development teams need to adapt to a new method of testing code to meet the demands of continuous delivery. Continuous integration, or CI, ensures that code that ships rapidly is of a measurable, consistently high standard. The challenge of continuous integration is testing against a set of managed tests each time code is checked in. The goal of always running integration tests is to give immediate feedback on what fails to the development team. The team can, at this point, fix problems in real time many times a day. You know you're ready to ship if the new code passes the integration tests.

What tools do you need for continuous integration?

The tools required to meet the demand for continuous delivery are tools you're likely already familiar with. They include:

  • Jenkins

  • Team Foundation Server

  • Tinderbox

  • Quickbuild

  • Ship.io

  • GitLab

  • Integrity

For each of these products, you'll need to adapt the following processes for a continuous delivery environment:

  • Continuous integration testing

  • Source control

  • Build services

  • Release management

What separates which product you use with your development team and other tools is often a matter of preference, price, and features. For instance, a trend many CI products are incorporating is cloud support. Having your development in the cloud gives you scaling opportunities that an on-premise product can't provide. It's worth keeping this in mind as you evaluate tools for your CI needs. Microsoft's Team Foundation services and Ship.io are two examples of CI tools that run and scale in the cloud.

Success metrics for continuous integration

Prathap Dendi, general manager at continuous integration firm Ship.io, refers to CI as a way to provide "End-to-end continuous delivery that gives companies code quality assurances and the ability to provide rapid innovation."

Ship.io not only provides a CI cloud service, but they also use the learning that comes from continuous delivery to improve their product. Ship.io's product development team is always responding to user feedback, such as extending support to new code versioning systems such as Bitbucket or testing tools such as Apple's TestFlight. Ship.io customers can immediately begin using new features on release.

A new white paper, released this week on Ship.io's company blog, places a particular focus on the tools mobile developers are using in 2015. The new metrics are a by-product of using a cloud-based continuous integration system—as developers change tools, the cloud instantly records the change. Dendi notes that "native development versus cross platform is making significant progress." Here are some interesting observations from the white paper:

  • Public apps account for 87 percent of all mobile developers' app creation. Private enterprise apps don't account for much development.

  • iOS app developers commit changes more frequently than Android developers.

  • Roughly two-thirds of developers are using continuous integration as part of their development cycles.

  • Android build times are often twice that of equivalent iOS build times.

  • iOS developers prefer to use Github for source control (59 percent).

  • Android developers prefer Bitbucket for source control (56 percent).

The use of source control is an interesting point. Dendi observes that "the relative percentage of projects that use Bitbucket [has] doubled in the past four months."

The white paper clearly illustrates how important CI is for mobile developers. It highlights how you can adopt new tools or replace existing ones in a mature CI environment. The goal is always to have best-in-breed solutions to meet the demands of continuous integration.

You are not alone

Numerous industries are falling victim to disruption due to rapid change and innovation. This change, represented by new companies such as Airbnb and Uber, happened not as a significant single event but as a continuous series of small incidents. Airbnb started by someone leasing a couch to sleep on. Today, Airbnb is valued at $25 billion. Uber has significantly impacted the taxi industry without buying a single car. Every established industry faces the risk of potentially huge change. The people making the change are starting small and leveraging CI as a tool to keep pushing out new ways to capture more of the market.

There's no rocket science behind CI. Imagine CI as your research and development investment that simply goes to market faster and listens to customer feedback so your business can pivot and make changes. Your customers have grown comfortable with websites and mobile apps that are continuously updating and adding new features. They'll expect the same from your solutions.

Your company isn't alone. Every business has an opportunity to be successful when leveraging CI to improve the customer experience with its digital products. Whether you're a hundred-year-old consumer packaged goods company or a new startup, CI offers opportunities to capture this new market and retain existing customers.

Keep learning

Read more articles about: App Dev & TestingDevOps