DevOps is a philosophy and movement that sits at the intersection of (software) Development, (service) Operations and quality assurance (QA).
DevOps is considered “Beyond Agile” and institutionalises the idea of what Agile was supposed to deliver.
It is also important to understand that DevOps requires a cultural and mindset shift.
05:10 A culture change is needed in the mindset of the two groups who need to work close together.
Traditionally DevOps is described as a change journey toward the target state of continuous delivery involving continuous integration and continuous deployment
- Continuous Delivery is the practice of building software and automated deployment into the target environment for the purpose of testing
- Continuous Integration is about integrating software as early as possible and performing testing early in the development lifecycle
- Continuous Deployment promotes software into production through an automated build and deployment pipeline of QA/Pre-Prod environments
DevOps – Common Hurdles Faced
- It is perceived that IT focuses on what was needed yesterday whilst the Business focuses on what is needed tomorrow,
- The business drives demand for increased software release frequency / speed which creates friction between Development and Operations,
- Large enterprises have spent years building separate Development and on-going Service Operations capabilities in siloed teams, dividing tasks and organisational accountabilities,
- The conflict of interest between the goals of those who create the software product and those who maintain it leads to poor relations,
- Development teams focus on building software that meets functional and quality requirements to create effective change whilst Operations teams focus on operability (e.g. availability, stability), service improvement and cost efficiency,
- Breaking barriers across the extended Development and Operations organisation will require changes including reshuffle and relocation of several team members,
- With such changes one can expect resistance from the functional silos when trying to adopt a DevOps mindset for development and operations teams,
- Strong resistance can be expected especially from people who do not see the benefits that might be gained from it who are unwilling to change their attitude or shift their behaviour,
- People who are not used to working in cohesive, cross functional teams will find it difficult to adjust to the new normal,
- Teams that are culturally not disciplined, which is very essential for Agile methodologies and DevOps, may not realise desired benefits,
- Development and Operations teams blame each other when something goes wrong,
- Communication challenges could arise between team members due to a lack of common terminology.
- Adoption of DevOps practices support the business need to quickly deliver software products / services without sacrificing operational quality,
- Enterprise IT has started migrating to Agile methodologies and by performing requirements creation, development, and testing in parallel, development teams focus completely on business value and time-to-market,
- Organisations must assess their current state and create a roadmap for the desired future state by applying the values of Agile collaboration to Development and Operations staff,
- Formal plan should be put in place to introduce DevOps practices incrementally in order to involve more teams in modern Agile and DevOps practices,
- Improve communications to raise awareness of the plan to be shared with the teams about how they will be involved in adopting these new modern practices,
- Cross-functional teams should be created to repair the schism that exists between Development and Operations using collaboration tools, job rotation, knowledge sharing, mentoring, etc.
- Prescribe the incorporation of operational staff into self-empowered cross-functional development teams. This change will enable teams to identify issues in the development cycle faster when they are easier to fix, thereby increasing the team’s end-to-end velocity rate,
- Remove barriers between teams by creating incentive programs which are targeted towards recognising the team’s performance and rewarding “One Team”,
- Encourage collaboration across disciplines by introducing revised roles, co-locating team members and established continuous feedback loops,
- Focus on the partnership between Developers and Operations staff coupled with automation tools, for an end to end streamlined, rapid, and repeatable release cycle,
- Ensure that business, development, testing, deployment and operations staff use a common language while interacting with each other,
- Foster an end-to-end service mindset to improve service quality by treating “DevOps-as-a-Service”
The Emergence and Benefits of DevOps
Is your organization dealing with a “digital disconnect” between the Business and Technology?
DIRECTV uses DevOps to speed time-to-market