Ariadne is frustrated by how long it takes to get things done. She’s just submitted a fix for a bug but can’t deploy her code until the Operations team gets out of their hour-long meeting. Why can’t she just deploy the fix herself?
A traditional software company often has a separate Development and Operations team.
- The Development team writes an application’s features.
- The Operation team creates and maintains the infrastructure that the application runs on.
In this arrangement, the Development team sends its code to the Operations team who deploys it on the infrastructure.
While each team can have clearly defined responsibilities, there is an inherent conflict between the two teams. Developers want to produce new functionality as fast as possible. Meanwhile, Operations members want the infrastructure to be stable and reliable. Unfortunately, new changes are the biggest threat to the stability of a system.
This difference in goals gets in the way of software development. Specifically, a few issues arise when an Operations team is separate from a Development team:
- Development and Operations teams own different environments in the deployment process. Differences between environments can lead to bugs that are difficult to resolve.
- Handoffs between teams take time
- Information is siloed, meaning decisions are often made without consideration of the other team.
In a traditional team structure, like the one shown in the image, Development and Operations teams work separately, resulting in frequent handoffs, delayed deployments, and more bugs.
Which of the issues mentioned in this exercise is Ariadne’s team experiencing? Click “Answer” below to see if you are right!
Ariadne’s team is likely dealing with all of the mentioned issues. However, in this case, her ability to deploy her bug fix is being blocked due to the fact that the Operations team owns deployment and she can’t do it herself. This is a case of handoffs slowing down production.
DevOps aims to end the divide between the Development and Operations teams, changing the production dynamic for the better. In the next exercise, we’ll take a look at how teams that embrace DevOps culture combine the responsibilities of traditional Development and Operations teams.