In today’s market; every company has its own software that are being used either internally, by staff, or externally by partners, suppliers and customers. Companies like to do things as safely as possible especially when things are related to “customer experience”. However, companies are now under pressure to work faster and become more agile in order to improve their services. This in return applies pressure on IT and how they develop software.
DevOps and continuous delivery become essential because they meet business goals and allow organisations to operate faster, which is what enterprises want to do today.
Technology executives know that continuous evolution, quick fixes, and quality results create and retain customers. They know that a failed release invites a bludgeon to reviews, and regaining high reviews is harder than keeping them.
CI/CD is a dream without an integration. Thus the need for an integrator to help you set up the process, the tools, integrate the tools and automate the work. In this article, we will provide you with our secret recipe to build a CI/CD pipeline and standout in your market.
Continuous Integration: is a software development practice where members of a team integrate their work frequently; usually each person integrated at least daily - leading to multiple integration per day.
Continuous Delivery: is a software development discipline where you build software in such a way that the software can be released to production at any time
Continuous Deployment: is a third term that’s sometimes confused with Continuous Delivery. Where Continuous Delivery provides a process to create frequent releases but not necessarily deploy them, Continuous Deployment means that every change you make automatically gets deployed through the deployment pipeline.
The below diagram illustrates the general components of a CI/CD pipeline:
Integrated Development Environment: is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools, and a debugger.
Version Controlling Service: Provide management to the changes of software source code. It also comes normally with a wiki to share information.
Build & Unit Test Service: This service compiles the code, run the unit testing and store the build files in the artifactory. The service can be configured when to trigger each activity.
Artifactory Service: The place to store build files
Deployment & Testing Service: The service pull the build files from the Artifactory service and deploy it in the target environment(s). Then run functional/integration testing as specified
Collaboration Tool: is application software designed to help people involved in a common task to achieve their goals. The collaboration tool provide features including persistent chat rooms (channels) organized by topic, private groups and direct messaging. All content inside the tool is searchable, including files, conversations, and people.
Agile Project Management Tool: is a software has the capacity to help plan, organize, and manage resource tools and develop resource estimates. In addition to issue tracking capability.
If you are delivering software, your pipeline is already there. Every software development release process includes Build/Test/Deploy steps. However, what you need to do is to automate it to gain the benefits highlighted above.
When you start, your pipeline is a blank canvas and you’ll need to fill it with tools and process. However, selecting the tools is not enough. That’s why we’ve put together a systematic approach to get it done right. Below is a diagram illustrates how do we take you through the transformation journey.
As you can see in the above diagram, we emphasize on the management commitment. Having a CI/CD is a mindset and the management need to understand the difference between continuous integration/Delivery/Deployment and learn the difference between the tools and using them.
Continuous integration and continuous delivery (CI/CD) may be the most difficult DevOps moves to master. It’s like an internal audit aims to provide assurance that an organisation's processes are operating effectively. Thus, you need an “external” help to complete the job to avoid any conflict of interest and ensure independence.
The tangible gains that can be assessed are divided into the following categories:
Gains from enhanced IT team productivity and cost reduction of IT headcount waste (GHC)
GHC (IT Ops) = [IT Average Salary] x [IT Staff headcount] x [saving hours per week/total hours]
GHC (Developers) = [Developer Avg Salary] x [Dev Staff] x [% of Time reduction by implementing CD x %of Time spent on root cause analysis x % of Time spend on problem resolution]
Gains from cost reduction of application failures resulting from increased quality (GQL)
GQL = [Failures per Year] x [Avg minutes to recover difference] x [Revenue per minute]
Gain from flexibility in the IT environment (GFX)
GFX = [Application Annual Revenue] x [% Avg TCO reduction x % cost of IT as percentage of revenue]
Assessment of the total gains and the corresponding ROI formula will therefore look like this:
ROI % = [(GTM + GHC + GQL + GFX - Cost of investment) x 100] / Cost of investment
Here is an interactive calculator to generate the return of your investment (ROI):
Benmoshe, I. (2018). How to Calculate the ROI of Continuous Delivery. [online] Zend.com. Available at: https://www.zend.com/whitepapers/how-to-calculate-roi-of-continuous-delivery.pdf [Accessed 22 Oct. 2018].
Microfocus.com. (2018). Continuous Delivery: Automating the Deployment Pipeline. [online] Available at: https://www.microfocus.com/media/white-paper/continuous_delivery_automating_the_deployment_pipeline_wp.pdf [Accessed 22 Oct. 2018].
Irani, Z. (2018). 5 common pitfalls of CI/CD—and how to avoid them. [online] InfoWorld. Available at: https://www.infoworld.com/article/3113680/ci-cd/5-common-pitfalls-of-cicd-and-how-to-avoid-them.html [Accessed 22 Oct. 2018].
Humble, J. and Farley, D. (2011). Continuous delivery. Upper Saddle River, NJ: Addison-Wesley. http://ptgmedia.pearsoncmg.com/images/9780321601919/samplepages/0321601912.pdf
Dccia.ua.es. (2018). Continuous Integration. [online] Available at: http://www.dccia.ua.es/dccia/inf/asignaturas/MADS/2013-14/lecturas/10_Fowler_Continuous_Integration.pdf [Accessed 22 Oct. 2018].
For more details about how can we help, please fill the form below and we will get in touch as soon as possible: