DevOps can be described as a set of working practices which combines Development and IT Operations. It brings people, processes and technology closer together, which is renowned for offering higher value to customers and achieving costs.
Furthermore, DevOps has risen rapidly in popularity because of its reputation for higher quality products and fast speed to market delivery. In other words, products are better and released sooner. This makes for satisfied staff, satisfied customers with higher engagement and improves the competitive edge over other rivals.
Reportedly, Amazon releases a new software update every second! Google, every 10 seconds and Netflix, every 90 seconds! That’s impressive!
What used to happen before DevOps was used?
- Development and testing teams worked in complete isolation from each other.
- Code deliveries were passed over the fence.
- Testing and Deployment teams were also in isolation. These activities were performed after solution design and build stage. This meant everything took much longer.
- Manual code deployment gave rise to more human errors in production.
- Coding and Operation teams had separate groups. Communication silos co-existed along with confusion, rework and disjointed processing.
Key Features of DevOps:
- Flow of Information - data and information is oriented and always moving towards the shared objectives.
- Progress – achievable, realistic and visible progress towards the common business goals.
- Transparency - information is open and available where the blockers and constraints are called out. Silos are reduced.
- Troubleshooting - blockers are called out – allocated to a suitable owner, agreed and kept on a focused radar.
- Togetherness - essentially networking, collaboration, feedback and support to achieve continuous learning. DevOps is a team player way of working with shared accountability and shared goals.
- Communication - communication is clear, timely, easy to understand, succinct, relevant and available.
- Progressive - DevOps uses targeted continuous improvement, experimentation and increased speed to market for deliverables.
- Focus - because the end goals are shared the political impact is reduced. The support network grows wider. Customers are more likely to have their needs understood and requirements delivered.
- Ownership – because of the open and regular collaborative comms, the ownership is agreed and supported with regular opportunity for Q&A.
- Integration - DevOps compliments Agile software development and some of its key elements come from Agile methodology. They can be transferred and integrated across most types of IT working which is one of the reasons they are valued – versatile, applicable and portable to use within a diverse set of IT departments.
What are the typical roles in a DevOps setting?
- The DevOps Evangelist - a leader who will own and deliver the change whilst in parallel, facilitate the things needed for the team to deliver.
- The Code Release Manager - who will coordinate technical creating and maintaining the end-to-end delivery application and associated tooling with a close handle on package versioning and progress metrics.
- The Automation Expert/Architects - integration specialists, this role analyses, designs and implements strategies for continuous development. They will often demonstrate high-level degree of automation at its core to support expediency.
- Software Developer/Tester - this role sits during all the action and is responsible for core unit testing, deployment and monitoring.
- The Experience Assurance (XA) Professional - this role represents the end user and ensures that the end user experience is kept on the radar. So, the result is fit for users’ purpose and the expected features are built as specified. This in turn increases confidence of stakeholders in the applications.
- The Security Engineer - this role is to ensure security is built into the product(s) so there is no panic at the end of the lifecycle.
- The Utility Technology Player - effectively a server administrator - to keep the foundations up and running, giving stability.
- Faster delivery - issues are identified and discussed earlier; collaboration reduces lead times.
- Money is saved in time by close operational networking and rework is reduced by early identification of problems.
- Improved productivity - working in a collaborative environment, the team call on one another’s skills.
- Solution are found faster and allocated to the correct resource earlier, saving time and money.
- Relationship building - networking gives rise to improved cooperation to help target delivery goals.
- Higher quality deliverables are produced because team focus calls out the potential issues.
- Improved staff morale - staff feel more energised and supported because they are effectively within a motivated focus group, regular networking builds cooperation and team working.
- Improved customer satisfaction - overall higher quality product and increased commercial advantage.
So, what’s stopping your organisation from adopting DevOps…?
Many companies are flat out as it is, especially with the changes and impacts of Covid-19. Staff are fearful of a significant change of working practices, an overhaul in the processing and operations. Often there are fears about job losses and politics, especially during this time. DevOps doesn’t mean job losses – it’s about bringing the right people together at the right time and focusing on the right things.
Looking at team structure might mean people are assigned to different tasks or might be asked to work in a more collaborative way. It’s simply a way of looking at deliveries differently, making the structure and interaction work more effectively by altering the dynamics, the mindset and the interaction of skilled team members. This way people and their skills can be used to optimise the outcomes and the project deliverables. It is more important than ever for businesses to work more effectively, DevOps can and does help companies achieve that!