DevOps is a veritable cultural phenomenon across the technology industry that applies Agile and lean principles to system administration and operations. Applying DevOps to your software development and operations can be critical for your business, especially if you’re in a competitive market.
I position DevOps right beside Agile project management and Agile development because of the Agile principles that DevOps introduces to operations tasks. You can manage your organization’s move to DevOps much in the same way as you came to Agile project management and Agile software development. There are a growing number of DevOps-focused online resources, books, and training sessions now available.
The culture of DevOps
According to the agile admin website, DevOps brings operations and development engineers together throughout the entire development lifecycle. Such a move can be a cultural change for some product development organizations that traditionally have firmly-defined borders around their development group, operations team, product management, and other teams involved in product development and deployment.
As more vendors latch onto DevOps as part of their marketing message and product positioning, it’s important to remember that DevOps is supposed to be more about culture than a technology platform. At first, I had a hard time getting the culture part of DevOps since collaboration, communications, and political barriers had been a part of projects I’ve seen in the tech industry.
DevOps isn’t about declaring a free-for-all that lets developers get access to production systems. When I was trying to better define DevOps, I came across The Three Ways: The Principles Underpinning DevOps by Gene Kim on the IT Revolution blog. This article breaks down DevOps so even development and operations traditionalists can understand. The principles enable teams to:
- Focus on the entire system, not the department or the team with system thinking.
- Amplify feedback loops so necessary corrections can be made on a continuous basis.
- Create a culture of continuous learning and experimentation where you create a culture that fosters taking risks, learning from failure, and continual experimentation.
Cultural change isn’t always as easy as it looks, but a move to DevOps starts with that first project.
DevOps and collaboration
Collaboration is a frequent topic here on the LiquidPlanner blog and DevOps certainly plays into improving collaboration within an organization. Whether or not your organization already has a collaboration strategy in place, DevOps is about centralizing knowledge. Many DevOps shops use a wiki to centralize information and get it out of administrative and other tools. While you can certainly use other collaborative platforms, you need to choose a collaborative solution that has the following qualities:
- Easy to use authoring tools
- Automated indexing of content
- Accessible to development and operations teams
- Documents are visible (not locked down in document libraries)
When it comes to authoring DevOps documents, it’s hard to look past a wiki with open to moderate governance. You don’t want to lock developers and engineers into complex tools. Document authoring needs to be kept simple; making templates and macro automation are the order of the day to ease the work on non-writers.
DevOps also requires near real-time communications. Email isn’t going to cut it for a primary communications channel. Many DevOps resources recommend near real-time communications tools including:
- Cloud-based chat platforms that include PC, Mac, web, and mobile clients
- Hubot, an open source chat room tool for automating some admin and build tasks
- GitHub for version control/collaboration
- Cloud-based project management software to centralize project and team tasks.
Automation joins culture and collaboration
Part of speeding up application delivery in a DevOps environment is automation. Many manual tasks in the operations world can benefit from automation including such as:
- Software builds
- Software and operating system updates and patches
- (Some) quality assurance testing
Automating these tasks can free up development and operations staff for more mission-critical tasks that can benefit the business. The appropriate use of automation can also help move an operations group from being reactive to proactive, especially with the maintenance and security overhead work that large-scale web systems entail.
Why DevOps is critical to your business
DevOps can be critical to the success of today’s businesses, especially those that develop and operate web services. Chris Jackson in What is DevOps and How Will It Benefit my Business? on TechRadar.com cites the following benefits of successful DevOps implementations:
- Reduce time to market for new products and features.
- Build more agility to adapt to internal and external influences.
- Unlock cost savings offered by cloud platforms.
- Eliminate the risk of shadow IT services.
These benefits translate into changes that can be critical for businesses that want to streamline development and operations to save money and better serve customers.
I’m not sure I agree with Jackson’s point about the risk of shadow IT services, given the scope of some DevOps driven projects I’ve seen in my recent past. However, because DevOps is Agile and builds in feedback and changes from internal stakeholders and customers, the incentive for some shadow IT services should disappear further saving you money, time, and resources.
I’ll leave you off with this quote from Chris Jackson’s article mentioned earlier: “The reality is that I can’t sell you DevOps, and you can’t buy it.” It’s an approach, a way of doing things. And culture trumps technology in DevOps. Making the move to DevOps means cultural changes, collaboration, and automation that will take you past traditional processes to becoming a more lean and agile delivery organization.
How do you streamline your organization or team to be more agile? See how all types of teams incorporate an Agile approach to be more responsive, competitive and more efficient. Download our eBook, Agile for Everyone.