Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Explaining DevOps at different levels

Explaining DevOps at different levels

DevOps can be explained as a set of practices and tools in the landscape of software development and IT. It is a complex concept for those who are just beginning to learn about it. This article provides a breakdown of the concept in the context of different individuals and their level of understanding. 

Child

Consider the following scenario: 

Three friends sit down to play with Legos. The first friend builds a Lego car and gives it to the second friend to play with. Later, the second friend accidentally breaks the car. The third friend tries to fix the car but it is difficult because the third friend does not know how all of the pieces were used. 

If the friends were a software development team, the first friend is the developer of the car, the second is the tester of the car, and the third friend is in charge of car maintenance. If the friends were using DevOps, the first and third friend worked together to build the car. When the second friend broke the car, the first and third friend can easily fix the car because they both know how all of the pieces fit together. 

Teenager

DevOps is a way of organizing software development teams. Team members of a DevOps team are responsible for all aspects of the software development process. They analyze, design, implement, deploy, monitor, and respond to incidents related to their software. DevOps makes teams more efficient by reducing communication barriers. Since teams are responsible for monitoring and responding to incidents, they are immediately aware of problems with their software. Because they wrote the software, they can quickly root cause problems and implement fixes.

An example is video game developers who release a video game to customers and later release a patch that fixes bugs and game imbalances. During development, monitoring is added as a core component rather than an afterthought. As the game is being played, developers collect data about the game to better understand how players are playing it and where there are problems. Those same developers will implement changes to the game based on this information.

College student

DevOps is a way of organizing software development teams. The word DevOps is a portmanteau of development and operations. Development is a set of practices including analysis, design, implementation, and deployment. Operations is a set of practices that include deployment, monitoring, and incident response. 

Historically, the software development lifecycle featured separate teams performing these two streams of work. Operations teams ensured system stability while development teams implemented new features. The problem with this model is that development and operations teams are siloed from one another, often with cumbersome communication models put in place to facilitate collaboration. It encourages development teams to throw software over the wall and forget about it. 

DevOps breaks down this wall by merging teams and distributing the practices of development and operations across a single team. DevOps teams are responsible for the full lifecycle of a piece of software. They analyze, design, implement, deploy, monitor, and respond to incidents. The people that built the software monitor and respond to incidents. Collaboration is natural because a single team is responsible for the work. Nothing is someone else's job.

Graduate student

People make mistakes when they do complicated tasks repeatedly. Even if an error is made once every 1000 times a task is done, that error can be very consequential. DevOps teams make changes that impact many users and a mistake can have far reaching consequences. Whenever AWS makes a mistake and breaks a service, many sites across the internet can face outages. A core tenet of DevOps is to make use of tooling and automation to complete tasks efficiently and with a low error rate.

There are numerous tools that help DevOps teams effectively develop, deploy, and run software. Automated testing reduces the likelihood that an error is present in updated software. Security scanning alerts teams to security vulnerabilities in their code. CI/CD pipelines reduce the likelihood of bad deployments. Monitoring and metric collection give DevOps teams an understanding of how their software performs across multiple environments. Feature flagging enables teams to toggle software features on and off. 

Expert

DevOps is a way of organizing software development teams.  It provides a number of benefits for teams, but there are downsides as well. DevOps teams are responsible for a larger scope of work than pure development teams. For example, DevOps teams build and maintain infrastructure as code. They implement CI/CD pipelines to deploy to potentially multiple regions. They add monitoring and alarming for components in all supported regions and respond to problems when needed. These additional responsibilities take away time for feature implementation. DevOps teams can see a reduction in feature velocity as developers spend cycles performing these additional tasks.

Increasing headcount by hiring additional developers to bolster a DevOps team’s capacity is a common response. This can be effective until the team gets so big it becomes hard to manage. When implementing DevOps, care must be taken with regards to feature velocity and team management overhead. The components a DevOps team owns can be split. A single DevOps team becomes two DevOps teams, each owning a subset of the original team's portfolio. The teams are still responsible for the full range of DevOps duties but the number of software components a given team owns is reduced.

Managing and coordinating multiple DevOps teams is another potential difficulty when implementing DevOps.

Conclusion

DevOps can be complicated, and hard to understand when just starting out. This article explains ideas that underpin DevOps with a variety of examples. Teams can start to realize the benefits of DevOps by adopting it piece at a time. For guidance on how to get started with DevOps take a look at this article:  How to do DevOps.



18 comments

Guney Mustafayeva
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 28, 2022

Nice one, liked the approach of slicing it based on different levels of complexity! 👍 

Like # people like this
Tran Dien Hien October 27, 2022

Great explanation.

Samuel Desu Acheampong
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 4, 2023

I love this_ 

Will love to use this to help our community and team. 

Jamie Rogers May 4, 2023

Thanks for sharing, this really good explanations for differing levels of understanding.

Markku Miettunen May 4, 2023

Great explanations :)

Dan Breyen
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 5, 2023

Thanks for the content.  Consistency is key to longevity of a software project.  Staff ebb and flow, and the project needs to be smooth sailing for all involved.

Like Kai Becker likes this
Charly [DEISER]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 8, 2023

Great explanation, thanks for sharing!

Chris K
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 8, 2023

Thank you for sharing this fantastic explanations!

Fabio Racobaldo _Herzum_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 8, 2023

Thanks for clarification :)

Mikael Sandberg
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 8, 2023

Nice explanation!

Hadi Hormozi
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 10, 2023

Thanks for explanation.

Dam
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 10, 2023

great way to explain it all ! thanks ;) 

Oliver Siebenmarck _Polymetis Apps_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 10, 2023

Personally, I like the Lego-based explanation the best. Thanks!

Ram Kumar Aravindakshan _Adaptavist_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 16, 2023

Thank you for the explanation

Mayur Jadhav
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 16, 2023

Thank for your detailed explanation @Warren Marusiak !!

Gergo Matyas May 17, 2023

This was fun, thanks!

ibrahim_aly May 17, 2023

Thanks

Frederik Vantroys
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 23, 2023

The different level approach is somethig I will use in other situations also ... great explanation !

TAGS
AUG Leaders

Atlassian Community Events