Way back in 1913, Henry Ford transformed the manufacturing process when he installed the first moving assembly line in one of his factories. Ford’s innovation enabled him to create high-quality products faster and cheaper, offer them to consumers at a much more affordable price and gain a significant advantage over his competitors and their manual processes. Today, continuous delivery is doing the same thing for software development that Henry Ford and his assembly line did for manufacturing.
As digital transformation sweeps across industries and around the world, many organizations are focused on finding ways to accelerate the delivery of new applications, services and capabilities. Continuous delivery gives organizations the ability to develop and deliver high-quality software faster and more efficiently.
Closely related to the increasingly popular practice of DevOps, continuous delivery is a process that enables development teams to continuously roll out tested code that is always in a production-ready state. To achieve continuous delivery, application development teams incorporate automation to deliver updates more rapidly and with fewer errors. Once a new feature or update is complete, the code is immediately available for deployment to test environments, pre-staging or live production. In continuous delivery, software is continuously tested for production readiness with feedback provided automatically whenever a change is made. Building, testing and releasing software faster and more frequently reduces the cost, time and risk of deploying changes by allowing for ongoing, incremental updates to applications in production.
ABN AMRO is just one of many companies using continuous delivery to good advantage. The Netherlands-based bank offers customers a comprehensive range of products and services through omni-channel distribution, including advanced mobile applications and internet banking. As a result, the company must remain agile and be able to move quickly to stay competitive and keep their customers happy. Using continuous delivery, ABM AMRO:
Increased release frequency by 600 percent
Cut build times by 70 percent
Reduced testing time by 75 percent
Increased velocity 100 percent
At a business level, ABN AMRO is able to respond to competitive threats more quickly and introduce new innovation on an ongoing basis,” says Stefan Simenon, head of centre of expertise tooling and software development at ABN AMRO.
The industrialization of software
Traditional software development is an extremely manual process, much like the one Ford faced more than a century ago in manufacturing. Writing, building, testing and deploying software requires hundreds of hours of labor. Often there are major gaps between handoffs from developers to QA to IT. Those gaps double when code is sent back for fixes. Despite the many technology advances software has helped to bring about, software development is still largely mired in monolithic applications that contain millions of lines of code and are delivered only once or twice a year through antiquated waterfall processes.
Ford solved his problem by introducing the moving assembly line and automating the production of cars. He divided the manufacturing process for his Model T automobiles into 84 specific tasks and set up specialized workstations all along the assembly line. The Model T chassis moved along a 150-foot-long conveyor at a speed that allowed workers at each station to perform their assigned tasks quickly and efficiently, without slowing the continuous process. Efficiency rose and production costs dropped dramatically. Ford reduced the time required to build a car from 12 hours to 93 minutes—an 87 percent improvement. As a result, he was able to improve his profit margin, pay his workers double the industry average, and still lower the vehicle price for consumers. In 1914, 308,162 Model Ts rolled off the Ford assembly line, more than the number of cars produced by all other automakers combined.
Continuous delivery provides similar benefits for software development. It’s the industrialization of the software industry, and the epicenter of digital transformation for forward-thinking organizations. An automated assembly line, based on continuous delivery processes, converts the latest software changes into code that has been built, tested and deployed, and rapidly provides feedback on changes and errors in the code. By automating and streamlining much of the process, continuous delivery greatly increases efficiency and sharply reduces the time and expense of software development and delivery.
As Henry Ford, the man who simplified and streamlined manufacturing, observed: “There are no big problems; there are just a lot of little problems.” Today, continuous delivery is helping a growing number of organizations overcome the sometimes daunting challenge of rapidly and efficiently developing and delivering high-quality software, by providing a process that transforms it into a series of smaller problems that are easier to solve.