Continuous delivery as a part of a learning experience

04 July 2017


Technology business is nowatodays a game of speed. Companies roll out new products, services and features faster than ever before. DevOps, CI/CD practices and tools have made it possible to test and release the software automatically, that improves effiency, product quality and customer satisfaction. Initial setup for a pipeline takes time and expertise, but in the long run time and money is saved.

The workflow and systems used by developers are fundamentally changing. Academic world is still getting up to speed with the current DevOps development.

Continuous Delivery? Beautiful word but what it actually means?

Continuous Delivery (CD) is a practice, where teams produce and test the code in short cycles to ensure that it is always in releasable state. CD relies heavily on automation and Continous Integration (CI) practice. CI focuses on detecting possible errors as early as possible, using automated build and test for verifying each integration. CD expands CI pipeline by deploying the code to staging environment, where multiple tests are executed. These tests can focus on integration testing or acceptance testing such as performance testing and reliability testing. The purpose of CD is to automatically build, test, configure and prepare the code to the production environment. The deployment to the production environment is automated, but it must be approved manually.

How Continuous Delivery affects the business?

Releases are more reliable, because the software is tested repeatedly. That leads to a improved product quality. The software release cycle improves, because the code is always in releasable state. Earlier the release cycle was counted in months and nowadays it can be deployed multiple times per day. Frequent releases enable faster feedback from the customer, which helps a team to focus on the useful features and this way build the right product. Teams efficiency improves, because CI/CD pipeline automatically sets up the environments, that earlier required considereable amount of time. It can be stated that CI/CD practices improve customer satisfaction and reduce costs.

Why it is a important part of the students learning experience?

  • CI/CD practices help students to understand all stages of the software development.
  • CI/CD practices force students to consider the software testing perspective, that is often forgotten or minimally implemented.
  • CI/CD practices help students to detect possible errors at early stages of the project, when they are rather easy to fix.
  • CI/CD practices are commonly used as a part of the development process in the companies, so students should be familiar with those before moving into the working life.

by Juho Pekki