Dev and Ops are separate departments
Organizations typically divide their teams by type of work. They
create development departments for writing software. And, because
running software quickly and stably requires a different set of
specialization, they create a separate operations department. This
division of labor simplifies management because each department shares
certain characteristics and needs.
| spoon |
Separated departments have conflicting goals
Each department defines goals along division of labor lines. The development department may be measured by the speed of creating new features, while operations is judged by uptime and response time. Unfortunately, operations is considered successful with stable, unchanging metrics, but development is only applauded when lots of things change. Conflict is baked into this system making collaboration unlikely.
Dev and Ops sub-optimize to meet local goals
Instead of optimizing the whole application lifecycle, both Dev and Ops improve their processes to meet their respective goals. Developers do everything to speed up the creation of new features by adopting agile methodologies. Sysadmins do everything to maintain stability and enhance performance by applying ITIL which equates change to risk – something to be avoided at all costs.
In an even crueler twist of fate, when each of these departments are
operating at maximum efficiency, the product lifecycle suffers the most.
Development is continuously pounding out new features against the walls
of Operations which, in turn, has all kinds of defense mechanisms in
place to fight change. A huge war is about to break out, and the only
way to avoid it is by aligning the goals of these two departments.