top of page

The business value in continuous delivery

  • Writer: Asad Naqvi
    Asad Naqvi
  • Jul 21, 2019
  • 3 min read

For most of us in software development, the day of software release brings feelings of elation, accomplishment and relief. However, even today, the process of deploying the latest version of your software to production is the equivalent of moving a mountain. Successfully releasing a software requires careful planning and coordination across cross-functional teams. The devops team is going to reaper a mitigation plan, roll out the new code, performing unit testing all over again. .


The history


Back when the most frequently used computers were large and expensive (mainframes and microcomputers), manufactures usually found it effective to bundle together software with the hardware. A customized software deployment required expensive, time-consuming visit by engineers, architects and consultants. In all fairness, this can still be the case for complex, on-premises installation of enterprise software today.


With the development of mass software, the new age of computers came with new forms of software distribution such as cartridges, floppy disks etc. This helped change the landscape of modern day software development since it helped paved the way for organizations to recognize the true value of having customized and configurable software, ideally using a user friendly interface.


It is arguable that the spread of the internet has made agile software development possible. Indeed, the advent of cloud computing and web services has made is possible to deploy software to a large number of customers in minutes. Such flexibility led to the rise of continues delivery as a viable option, especially for less risky web applications.

ree

What is continuous integration/deployment and delivery?


Continuous Integration is the process of automatically building and testing your software on a regular basis. The time period still varies between companies. In the early days of agile, this meant daily builds, but with the rise of tools like Jenkins and Bamboo, the time gap has significantly reduced to several times a day.


Continuous Deployment is closely related to Continuous Integration and refers to keeping your application deployable at any point or even automatically releasing to a test or production environment if the latest version passes all automated tests.


Continuous Delivery is the practice of keeping your codebase deployable at any point. It goes beyond making sure your application passes automated tests, and requires teams to be ready to push changed that pass the automated tests to the end users immediately to ensure a fast development loop.

What is the business value?


Report tracking: Implementing automated integration and delivery can help generate data to monitor the progressive and historical health of your product.


Reducing risks: Integrating code more frequently leads to reduced risk levels. Continuous integration can help detect code defects quicker.


Validated assumptions: Frequent integration of developers code would lead to a lower chance of the expected state of the application v/s the state of the application the developer has.


Increased productivity: Automated software delivery pipelines help organizations respond to market changes better. The need for speed is of utmost importance to reduce shelf time of new features.


What are the challenges?


Budget constraints: Implementing an automated continuous delivery pipelines is a costly proposition that would require intensive planning and substantial investment to procure the right resources.


Numerous errors: For larger software platforms, the large number of CI errors will need to be managed effectively, to avoid the engineering team from starting to ignore them all together due to other priorities.


Employer mindset: Getting used to daily building and testing could be challenging for your team, with developers being afraid of breaking the build or not passing tests that might negatively affect their performance.



References:

Comments


bottom of page