How would you define DevOps to someone with a technical background?
DevOps is marriage between three strands within IT; Development, Technical Operations and Quality Assurance. The purpose of this marriage is to enable the ability of a company to be able to rapidly deploy software (note: environments are software) through a highly governed pipeline that is focussed on giving the business the confidence that the software is fit for purpose and passes various quality gates. This coupled with Agile development gives companies additional assurances such as business continuity / disaster recovery as well as the ability to become provider independent.
How would you define DevOps in layman’s terms for someone who doesn’t have a technical background?
DevOps is a capability of being able to deploy both software and its underlying environments through a managed pipeline that offers rapid deployments through a high quality model that we call a pipeline. Operationally environments are software and these environments along with the environment configurations this enables rapid deployment of the underlying infrastructure and to wrap around these environments repeatable tests that ensure we have suitable environments to deploy our solutions onto.
What are the common mistakes people make when implementing DevOps?
There are a number of potential caveats when implementing Devops;
- Separating out the Dev and the Ops parts within team
- Not being automation centric
- Acting as a Tiger team who operate in a JFDI model at all times
- Not acknowledging the cultural, behavioural and belief issues that will be encountered when implementing a DevOps function
- Overloading an existing role with the addition of being ‘DevOps’ for the team instead of having a separate team or individual within a team tasked with pipeline / build management
- Not embedding monitoring early on, pipelines with little or no monitoring capabilities offer no benefits i.e. your rapidly deploying code without knowing it or what the outcome of the tests throughout the pipeline are doing or if they are failing.
What are the key benefits that DevOps has offered to you as a tester?
DevOps, alongside quality assurance, is a guardian of quality.
Automation of repeatable testing actions frees up testers to focus on exploratory testing. Quality assurance works with the DevOps function on ‘baking’ in various test types into the DevOps pipeline.
What are the benefits that DevOps offers an organisation?
DevOps enables your organisation the capability to delivery both environments and software into production more quickly with a high degree of quality through a vastly reduced number of defects escaping into ‘live’. In addition to this the capability to ‘lift and shift’ your entire infrastructure and software estate gives the organisation the capability to become supplier agnostic as well as providing the reassurance of business continuity in the event of a disaster.
This blog was originally written by Carl Bruiners published here: http://magentys.io/blogs/what-is-devops/