What exactly is DevOps and how does it fit into our brilliant corner of the world?
Some think DevOps is a fad. Some just a fancier, cooler name for what has existed for years already. Others can’t get their mind around how combining development and operations into a single entity won’t result in a thermonuclear explosion. As we know, developers and operational workers rarely get along, both politically and procedurally. But, such is the case in the age of the Cloud where everything seems to be on the table for change. Sometimes things change over time, but more often now they change almost overnight.
Gartner puts it this way:
DevOps represents a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture), and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology — especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective.
DevOps is truly more a culture shift or change in practice than anything else. Those that can adapt and deliver business operations with a single mindset benefit immediately despite the bumps along the way. Businesses that require software developers and IT professionals to combine forces become agile, adaptable, scalable, sustainable, innovative, and more modern. By combining development and operations into a single process, the entire system is viewed holistically as opposed to observing each specific operation as a single component.
Initially, developers liked the DevOps movement, but over time the movement hasn’t always panned out in developers’ favor. For example, developers were always fighting IT to gain administrative access over their computers, while IT worked hard to secure the environment. It was a tug-of-war struggle that never ended well. In a DevOps mindset, with a single person owning development and operations, that battle is won and the developer reigns victorious. However, other factors have entered the fray and brought unintended risk. Now, those developers that delivered code that constantly broke business applications can no longer rely on IT to run interference and maintain the first-level of support. Now, developers are put on call, required to both architect code and also to support it instantaneously. This dual-life provides great dividends for the business, but sometimes at the detriment of the individual. The hope though is that if developers have to support their own code, it might behoove them to write better code the first time and learn to stage rollouts much like IT has been required to do for decades.
DevOps can be broken down into twelve bullet points, which incidentally, follows the same twelve principles as defined by the Agile Software Development method (which is what DevOps is actually based on):
- Customer satisfaction by early and continuous delivery of valuable software
- Welcome changing requirements, even in late development
- Working software is delivered frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Self-organizing teams
- Regular adaptation to changing circumstance
Based on these twelve principles you can hopefully start to see how development and operations have truly been working from the same manifesto for some time. But, how closely to this list have you been working? Are there aspects here that you’ve yet to achieve? Or, will the new mindset and culture shift be as fluid a movement as you’ve experienced in your career?
Obviously, these questions come from the stance that DevOps is coming (or here already) and there’s nothing anyone can do about it. But, there are still members on both sides of development and operations who believe this is just a fad that will pass – that that thermonuclear explosion is still coming and they’d like to be as far away from ground-zero as possible. So, in that respect, do you believe DevOps is just a fad? Will you fight to keep development and operations in their respective corners? Is business status quo a tried-and-true method that needs no adjustment?
These are interesting times, for sure. Which side will you take?