DevOps: the latest software movement that helps high-performing teams deploy more often with fewer failures and faster recovery.
DevOps is a type of agile relationship between development and IT operations that aims to unite the innovative and speedy efforts of the dev team with the mandate of predictability, stability, and control that the ops team aims to achieve. You see, when the dev and ops team don’t collaborate, various problems can arise: customers finding major defects, alert fatigue… the list goes on and on.
In this blog post, we’ll walk you through the three underlying principles of DevOps created by entrepreneur and IT operations extraordinaire, Gene Kim. These principles describe the values and philosophies that frame the processes and practices from which all DevOps patterns are derived. We’ll also give you some helpful tips and show you a few add-ons from the Atlassian Marketplace to get the most out of these DevOps principles.
The First Way: systems thinking
“The First Way emphasizes the performance of the entire system, as opposed to the performance of a specific silo of work or department. DevOps transcends departments and showcases the overall value to the customer” – Gene Kim
Tip: Always seek to increase flow
Development builds, and then ships to operations. The First Way is all about shifting our thinking from reaching the goals of one department to seeing the entire system from the customer’s perspective. When your team successfully achieves systems thinking, you will never pass a known defect downstream to other work centers, which will strengthen the value of your business service to your customer.
Keep in mind that each system is different, which means that each individual system carries its own set of complexities. One of the quickest ways to achieve systems thinking is to simplify these complexities. This can be done by increasing the flow between the development team, as they build, and the ops team, as they transition these builds before they are delivered to the customer.
You can increase flow and prevent passing defects downstream with Hiptest for JIRA Cloud. Hiptest is a collaborative test management platform that supports behavior-driven development and seamlessly blends in continuous delivery processes, giving you incredible visibility on your testing directly from JIRA issues and boards. Hiptest is an open source publisher, so you can generate scripts for your RSpec, JUnit, Cucumber, Qunit, Jasmine and all of your other favorite test execution frameworks.
The Second Way: feedback loops
“The goal of almost any process improvement initiative is to shorten and amplify feedback loops so necessary corrections can be continually made” – Gene Kim
Tip: Communication is the key to collaboration
By improving feedback between development, operations, support, and customers, all teams can clearly understand their impact on the overall goal. Clarity and communication between teams breaks down barriers, improves productivity and reduces conflict. When teams work together from the same feedback loop, communication breakdowns become a thing of the past.
When teams work from the same feedback loop, communication breakdowns are a thing of the past.
If you’re looking for a way to power up communication try Datadog for HipChat, an add-on that brings metrics and alerts directly to your chat rooms to keep your team up to date and collaborating. Move conversations around development and operations out of email and into chat so everyone can see exactly what is going on every step of the way. With a simple “@” mention you can notify your team, post graphs, and send events. Automating your system notifications has never been easier. Simply add the HipChat room to the notification list of any alert and you and your team will be notified the next time the alert triggers.
The Third Way: continual experimentation and learning
“Creating a culture that fosters two things: continual experimentation, which requires taking risks and learning from success and failure; and understanding that repetition and practice is the prerequisite to mastery” – Gene Kim
Tip: Quickly identify and correct problems
Now, it goes without saying that failure should never be celebrated. However, creating a safe environment where failure is quickly and easily fixed can help you prepare for the times where the worst could happen.
bitHound for Bitbucket analyzes the risks and priorities in your Node.js projects’ code and dependencies so that you can focus on critical issues, save time, and ship with confidence. It fits seamlessly into your existing workflow and gives you incredible insight into your project’s dependencies to let you know if they are out of date, insecure, unused or at risk from lingering security vulnerabilities.
This add-on makes it easy to maintain your project standards across your pull requests by configuring your pass/fail criteria and posting the status to Bitbucket. Set up HipChat notifications for each of your private or public projects to be notified when something needs attention or to analyze any time a new commit is pushed to your branches.
High-performing IT operation teams need to be extremely organized and efficient in order to meet their project deadlines. Incorporating Gene Kim’s Three DevOps principles and add-ons like these will increase your team’s productivity, collaboration, and communication, helping you take massive steps towards achieving business agility.
Interested in further optimizing for DevOps? Read more about best practices in our DevOps blog series, or browse the Atlassian Marketplace to find additional integrations to maximize your productivity and flow.
Did you find this post helpful? Share it on your social network of choice so your fellow DevOps fans can learn from it, too!