The Software Development Grenade
DevOps was created in response to the disconnect between the development team and the operations team within IT departments. This disconnect stems from a lack of communication and collaboration that creates this “wall of confusion” separating the IT department into two very distinct sections, resulting in low productivity.
THE “WALL OF CONFUSION”
A combination of conflicting motivations and processes between the development and operations teams causes this “wall” to form. Development wants change; they see their role as requiring a response or providing a solution to every changing need, whereas the operations team craves stability, fostering a reliable atmosphere that keeps the business afloat and customers happy.
The deployment process is where the “wall” is most prevalent, and the software development “grenade” is born. When engineers design, build, test, and deploy the software without collaborating with the operations team, they miss important planning steps to anticipate future loads, integrations, and other changes. In many cases the engineers do not understand the specifications, timeframes, user-base, or security requirements. This causes the deployment of that new software to fall back on the operations team.
The operations team is not completely innocent in creating the grenade. Sometimes when the software is handed to them they proceed to change the production environment without communicating with the development team, which can lead to bugs in the system. When the bugs finally come to light, the operations team then believes they were given a faulty application, and development believes that ops created the problem. As anyone can probably guess, hostility ensues and cohesive teamwork goes out the window.
Just like an actual grenade blast, this grenade has quite a large range of destruction. It not only affects the entire IT department and the customers involved, but in some cases, it can affect the company as a whole. These “grenade” scenarios will destroy the speed-to-market and competitive advantage that modern software development is supposed to offer, and customers have come to expect.
DevOps bridges the gap between development and operations in order to improve support processes within an IT department. By improving communication and collaboration between these two teams, there is a quicker response to customer support tickets, an increase in the solutions to problems, easier setup of systems, less panic when something goes wrong, and an overall alignment of understanding for what is taking place with every system by all IT staff—and, of course, avoiding the grenade.