It’s one thing to build a software product; it’s another to have that software packaged and ready to deploy whenever you need it.
In the last 20 years, many software build, packaging and deployment automation advances have benefited individuals and organisations. I define the most important terms:
Continuous Integration (CI) is the practice of automatically integrating code changes from multiple contributors into a releasable software product. Software is tested automatically, artefacts are created, and can be released whenever CI ‘passes’.
Continuous Deployment (CD) is the practice of automatically taking a new release of software and applying it to a target environment, i.e. production. where users can benefit from it immediately. Or, possibly, you deploy it, but feature flags hide functionality.
According to some, Continuous Delivery (CD) is the holy grail of software development. If you have everything properly automated and connected, you can be at your most creative as a software development organisation and immediately deliver value to customers.
So Continuous Delivery is the end-to-end delivery process of new software to customers. I further define Software Delivery as:
“The process of getting the desired features and bug fixes in front of the customer”
How quickly can you meet or exceed your customer’s expectations? Do you do CI/CD but is it name only? Are you able to release software when you want?
Do you agree with my definitions? What is the most important component in your delivery process? Let me know.