Releasing the DevOps Way pt. 2: Deployment Bottlenecks

Welcome back to our mini-series on managing releases "the DevOps way". Before we dive into the meat of today's topic, allow me to explain why I'm ascribing the DevOps moniker to these ideas. DevOps is an approach to building high-quality, rapidly-delivered software in a way that isn't painful. DevOps is not a tool. DevOps is not a team. It's a philosophy, and is best summed up by the CAMS acronym: Culture, Automation, Measurement and Sharing. Last week's post about cross-team collaboration at

Continue reading »

Releasing the DevOps Way pt. 1: Team Communication

Humans have been making software for a surprisingly long time: from the proto-software devised to decrypt Enigma-encoded transmissions in the 1940s, to the read-only program controlling the decent of Apollo lunar modules, to the dizzying array of apps we carry in our pockets and purses today. But throughout the computer-age revolution, one thing that hasn't changed is the need to deliver software so it can be put into use. Today, this means updating your production environment, and/or making an

Continue reading »

DevOps & Distributed Teams

Soon after joining Atlassian about 18 months ago, it was clear that this is a DevOps-minded crew. Not that there's any coordinated effort around this. It's simply a group of people dedicated to continuously improving the ways we work in our respective expertise, and the ways we work together across teams. Last month, we launched the DevOps Dojo - a website sharing our thoughts on the cultural and technical aspects of adopting the DevOps way of developing software. We're far from having it all

Continue reading »

Delivering software projects is tricky business at the best of times, particularly when it comes to deploying changes. When planning to release, Ops teams need to know what changes are coming so they can mitigate the risk of the deployment and understand what they'll be responsible for supporting in production. JIRA provides a convenient lens for anticipating changes to an application. But correlating a new version of the application (i.e., a new build) with the FixVersion on its associated JIRA

Continue reading »

Start Your Engines – the Bamboo 5 Beta is Here!

W'hoo! Bamboo 5's first Early Access Program build is here! This is your chance to kick the tires, give us some early feedback and help shape the direction of the 5.x series. Not to mention earn some serious nerd-cred. What We Need From You Download your favorite distribution. Along the way you'll be asked for your email address. This tell us how many people are actually participating vs. how many indicated interest, which helps us plan for future beta programs, and ensures we have an open

Continue reading »

One of my colleagues recently blogged about how the Confluence team avoids creating feature branches from bad commits. This blog post describes how to take the same idea one step further. The Problem I hate it when I make a trivial change, something like: $ git checkout master Switch to branch 'master' $ git checkout -b STASHDEV-1234-fix-capitalisation-of-Stash Switched to a new branch 'STASHDEV-1234-fix-capitalisation-of-Stash' .. change capitalization of one word in a template

Continue reading »