This separation was straightforward: Developers focused on nothing more than code and operations focused on taking that code and making sure it stayed running. The complete disconnect between these two groups led to long QA cycles and infrequent production deployments for fear of downtime or breaking something.
A combination of organizational divisions, risk aversion, and sequential, “waterfall” methods of software delivery meant it could be a year or more between major software updates. In many large organizations, these practices remain in place today.