DevOps was started after 2010 and came mainstream around 2015/2016 where we heard it mostly. What drove DevOps into the world is the modern day uprising demands for the digital solutions that was never seen in previous decades.
DORA DevOps Maturity Quadrant
In older days I remember as an engineer started my career around 15 years ago how we ran the software development and operations cycle. Clearly it was in waterfall fashion at least for a couple of first years and shifted towards agile a couple years before 2010. In some peoples’ experience agile transformation may have started earlier than this. While agile working style is started informally Scrum started even after 2010 in my experience. Then came DevOps like a big bang around 2015/2016 time, or even may be earlier in some peoples’ experience.
All of these new practices emerged to fulfil the need of a faster software delivery cycle so software features can be written and released faster.
That’s enough about history !
DevOps means CI/CD to most of the people. Yes, that correct CI/CD as is the core that drives DevOps in an organisation when established properly. CI/CD stands for Continuous Integration and Continuous Delivery. But holistically this has other elements too to become sustainable and cohesive within an IT organisation in the longer run of the DevOps journey.
So what other factors do matter ? Well there is a runtime for this CI/CD process to run in a healthy fashion. We can mainly categorise these into three key segments.
- Organisational Processes
- People and the teams
- Organisational or team culture
These three key elements maintain a healthy environment for the CI/CD to run effectively to deliver business value to the software application customers.
Organisational processes must be simple, supportive, effective and must be geared around agile planning and delivery to dynamically prioritise and manoeuvre software development towards fulfilling customer demands.
On the other hand people must be agile and customer focused while the teams should be composed and formed to deliver the best values to the customers within the best delivery turnaround time.
Further the organisation, business units and team cultures should complement above three points and to get the technical capabilities at best by maintaining a sustainable healthy environment with boundary-free communications, freedom and empowerment to innovate, build and recognise champion teams, full leadership blessing and support etc.
DevOps teams act as one to achieve the common goals, and that is deliver working software and features faster to the customers !
While organisational processes oriented to this objective and people are groomed to practise this concept and the IT culture becomes an enabler for all, then CI/CD will be effective in
- Planning and prioritising the business requirements to be implemented
- Implement business features in a agile manner
- Automatically test the new features and allocation for remediating issues
- Automatically deploy based on quality gates passed
- Monitor and gather live health statistics
- Fewer issues in the live environment
- Bottlenecks and bugs found are reported with priorities back to requirements and planning process
Below shows a high-level list of items that must be leveraged by CI/CD process
- Automated application deployment and promotion to next environments
- Integrated automated testing in all deployment environments
- Utilisation of test virtualisation (mock services and mock data) to shift-left testing
- Orchestration of complex deployments for applications that span platforms (data, mobile, backend, middleware)
- Manage slow-paced and fast-paced deployment dependencies (2 Speed IT)
- Write the CI/CD pipelines as code (PaC)
- Automated infrastructure management and provisioning with infrastructure as code (IaC)
In summary this means quality software that works in production without many issues can be delivered to the customer faster than before and now there is a chance to validate the effectiveness of the delivered software and if there are any course corrections need to be done it can be done and validated faster than before to give the right software solutions at first sight itself.