The 4 Phases of DevOps With Atlassian
Building a plan around continuous feedback and continuous integration with support from Atlassian will get your team on the path to DevOps harmony.
Join the DZone community and get the full member experience.Join For Free
This is a guest post by Praecipio Consulting, Atlassian Platinum Enterprise Expert.
Fresh Ideas, Announcements, and Inspiration for Your Team, Delivered Weekly
As Development and IT Ops teams look to be more efficient, decreasing their time to market and increasing product support, DevOps has become the predominant industry solution. There are many resources that paint a picture of Development and Operations working in perfect harmony, but how do we actually get there? Where should we start?
We need to begin with the end goal in mind. As technology companies, our goal is to deliver customers the software they need as fast as possible and continually iterate based on their feedback. The faster release development goes from concept to code, the faster they can make customers happy. Many things have been said of DevOps, but at the end of the day, it primarily seeks to increase the collaboration and automation between Development and Operations so teams can get the highest-quality releases into the hands of customers — and fast.
In our opinion, the best ways to accomplish is to get into a DevOps flow that is focused on process and powered by a set of tools like those offered by Atlassian. We’ve broken it down into 4 phases- try these on for size.
Phase 1: Go Agile
To get the real benefits of DevOps, you have to change how you manage work on your teams. As you break down your requirements into smaller individual user stories, work flows through the process faster. By having the structure, ceremonies, and processes in place to accommodate smaller pieces of work, you can get customers the features they need and incorporate their feedback to iterate the next, release.
Here are some ideas to get your team there:
- Educate: Get your team up to date on the basics with Atlassian’s Agile resources and how to do Agile with the Atlassian tools (for Product Owners too!)
- Get up, stand up: Simply doing stand-ups won’t automatically make you agile, but it’s a great way to get teams into the agile mindset. Gather your team together for 10 minutes a day to get a status update from each person on what they did yesterday, what they’re doing today, and any blockers that may be in the way. It facilitates more transparent and responsive team collaboration, which is the heart of DevOps.
- Iterate on everything: You can’t be agile trying to tackle large waterfall projects. Break down your projects into smaller pieces, or sprints, so you can always reprioritize and adjust as needed. Start in your own department: find the planning spreadsheets with those idealistic due dates, set up a backlog, and start sprinting. It’ll just be a matter of time before other teams, like software, Ops, and even marketing explore agile!
- Agile boards: Once you’re planning and executing in sprints, track and visualize it on a JIRA Software board. Avoid those dreadful status meetings and send out the link to the board to keep everybody informed. Also, throw some wallboards up around the office so everybody can see your team killin’ it.
You’ll know you’re a lean, mean, agile machine when your software teams are cranking out stories in a steady cadence of sprints. Over time you’ll see that velocity stabilize – then you can accelerate!
Phase 2: Get With Gitflow
Git and Gitflow is a great way to help dev teams increase velocity. As you’re working with smaller stories, you need to be able to collaborate effectively on your code base so you’re not stepping all over each other. Version control systems of the past aren’t going to be able to keep up with these blazing fast development teams. Bitbucket and the underlying technology of git are going to let teams build user stories and merge them into the code base without wasting time messing with annoying versioning issues and costly code conflicts.
- Start with the basics: Start by learning (all the things) about how to effectively manage your branches and build in code quality with Atlassian’s Git Tutorials and the Git Getting Started guides. Share them with your team so everybody’s on the same page and knows the difference between a commit and a pull request.
- Move to Git: If you haven’t made the cutover to Git quite yet, get your team and managers on board by sharing the benefits and how it will help ship more code. Once folks are convinced, learn why Bitbucket is the Git solution for professional teams and helps with pull requests, branching strategies, permissions, and scalability. When it’s time to actually move all that code over, see how we helped Splunk get Git and increased the number code reviews completed by 4x.
- Start branching: With the tools in place, it’s time to start branching! Learn more about some common workflows to better handle branches. Utilize those pull requests to build in code quality as you go. Eventually, your Dev team will be humming with full Gitflow and your Ops teams will be in love with the clearly designated branches.
- Automate, mate: The marvelous integration between Bitbucket and JIRA Software lets you automatically update JIRA issues based on what’s going on in Bitbucket. Developers don’t need to switch context anymore to keep the ticket up to date, and the whole team gets an accurate idea of what’s actually going on. Check out our Automation Webinar to learn more about the powerful workflow triggers that make this possible.
Phase 3: CI/CD
The next phase is how we define the crucial handoff between Dev and Ops. When your units of work and code changes are smaller, you’re going to need to deploy more often to get those features to our customers. Before you ship it to the Ops team and production, you need to ensure quality as your individual features come together. This is where good continuous integration/continuous deployment practices along with Bamboo are vital to successfully shipping product. Catching bugs and issues before they go to production is going to help both the Dev and Ops teams sleep better at night.
- Learn about Bamboo: For on-prem Atlassian users, Atlassian’s Bamboo is the CI/CD solution that allows professional teams to build their CI/CD pipeline. You may be using Jenkins or other open source teams, however, the deep integration points and improved build management make it the right choice for professional teams.
- Integrate with JIRA: Once you have Bamboo up and running, leverage the integration between Bamboo and JIRA Software to get a unified view of your software development project.
- Bitbucket Pipelines: If you’re an Atlassian cloud user, Bitbucket Pipelines is a new, powerful solution that lets developers build, test, and deploy directly from Bitbucket. Developers have the power as they can define the environment and tests for their specific branch with YAML file style configuration.
- Dockerize everything: Docker and containerization are the latest craze sweeping the IT world as teams look to deploy applications to any environment faster and easier. Check out ourDocker +Atlassian webinar to learn more about how. As partners with Docker, we love to helping teams harness this cutting-edge technology.
- Automate testing: Automating testing with tools like Charlotte, QA Symphony, and Zephyr (which integrate with Bamboo and JIRA) gives your development team an even more agile edge. Get efficient, high-fidelity testing to expedite the finding and squashing of bugs to ensure your next iteration is the best version.
Phase 4: Harmonize With Support
Once the story is shipped, the process does not end. Now it’s time to keep the product working and collect that vital feedback.
- Check out our webinar, DevOps with the Atlassian Suite, for a full picture of how development and operations are going to work in harmony.
- Set up a product feedback service desk in JIRA to really hear your customers and integrate directly with development teams.
- Learn how to set up your Service Desk teams for success with our ITSM webinar featuring Paul Buffington (Principal Product Manager for JIRA Service Desk).
By implementing the right DevOps tools and processes, you’ll see the faster shipping of higher quality and better-supported releases. As your Development and Ops teams continue to execute these lock-step processes, you get more agile by good practice. And, for more help, speak with our experts to start implementing DevOps today to get your teams up and sprinting.
Published at DZone with permission of Heather Krebsbach, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.