Go to a developer-oriented gathering and you’ll hear this: “I have no interest in learning <xyz>” where <xyz> represent some kind of operational tasks or knowledge. Why should they? System administration is not really essential to software engineering, and conversely, ops teams have similar disinterest in writing code. Or they would be doing each other’s job already. That doesn’t mean there aren’t lessons to be learned from one another. In fact, the emergence of devops reflect just that recognition. It’s time for operations to adopt and apply the same discipline and knowledge that their brethren in the software camp have gradually refined over the years. It’s time for agile operations.
There are just as many interruptions in the daily grind of systems and operations, and while it may be difficult to fathom, there are also more fires to put out on a regular basis. These fires represent the same kind of disruption that software engineers bemoan about when it comes to productivity. Disruption kills productivity. If there was only a way for the tasks to be smaller, so that an administrator may work on pieces of a task without having to wrangle the entire [ day of ] story all at once, especially since fires may introduce new tasks previously un-identified in the same story. At the end of it all, there is also an order to troubleshooting, or deployment, or administration, that lends itself to automation. And what do you know, the first “S” in SLA stand for Service… OK, OK, I’ve droned on long enough, do you see this pattern emerging yet? Agile may be readily applied to operations, especially system administration, for the very same reason that your software development team should be agile.
On the road to delivering resources for developers, production and thus serving the business itself, operations need to deploy rapidly, monitor vigilantly and automate so that time could be spent elsewhere. Systems have to be up. Data must be safe. Priorities must be met. All these and more demand agile practices within the teams, regardless whether the output is lines of code, or minutes of uptime. Let go of the monolithic notion of tight and centralized control. That time has passed in the current era of commoditized technology. The smart and savvy ops people have already moved on — they’ve embraced the same principles that drive effective modern software teams. They’ve gone agile.