This is a guest blogpost by Sarah who is an agile delivery evangelist with Atlassian, a former test automation engineer, and a fan of anything that makes life easier for the nerds. Like continuous integration and automation, for example. Because manual testing gets boring.
In case you missed the big announcement, the latest release of Bamboo lets you create JIRA issues right from any build result page (among other swank new features). Pretty slick right? If you’re not yet a Bamboo devotee, you might be thinking “Yeah, that’s cool n’ all. But it’s not enough to make me switch over.” Well, maybe it is, and maybe it isn’t. But before you decide, consider these 5 reasons why this feature makes your team awesome-r.
1: Sharks with frikkin’ laser beams
That’s how focused you and your team can stay.
We all love JIRA dashboards. In fact, sometimes we love them a little too much. How often do you log in to JIRA to ‘file this issue real quick’, get intrigued by your favorite gadget, and realize 20 minutes later that you’re still engrossed in your dashboard? If you answered “Daily”, you’re not alone! With Bamboo 4.1 as your CI server, you don’t have to muster massive self-discipline, because it keeps the charts and lists (ooh, shiny!) out of sight. No context-switching, and no distractions when creating JIRA issues.
Informal surveys around the Altassian office suggest this will reap 10 additional productive minutes for each person each day. Assuming an average salary of $100k/year (~$0.80/minute), that’s over $150 worth of additional productivity each month –per team member. Multiply that by the number of people on your developer and QA teams, and you get… well, you get a damn fine value proposition.
Remember: friends don’t let friends lollygag when there are builds to be repaired!
2: A custom build engineering knowledgebase, DIY-style
Experience and institutional knowledge is great. Until it walks out the door or goes on vacation. But there’s no need to let your team be left in the lurch. Try building your own custom reference manual like this:
- Create a project space in JIRA to serve as your repository for build failures and their solutions
- When a broken build is repaired, create an issue from the build’s result page in Bamboo. Include relevant logs, revision numbers, stack traces, etc (again, right there in Bamboo!) –as well as the steps taken to fix the problem, of course
- Next time you have to troubleshoot a build, pluck out terms from the errors and search for them in your build engineering knowledgebase using JIRA’s keyword search
- Savor the pleasure of not having to re-invent the wheel each time a build failure needs resolving
By creating the JIRA issue from the broken build’s summary page in Bamboo, a bi-directional link will automatically be created. When you reference that issue later, you’ll be able to access the linked build’s logs and other data with a simple click-through.
Extra credit super-pro-tip: Give builds referenced by your knowledgebase a certain label, and set your build expiry to never remove results with that label. Simonides would be proud.
3: Duck (annoying requests for updates) and cover (a lot more ground)
Think back to the last time you were working on a hot item. Everyone from sales to support to your project manager is in a lather because they need this fix, like, yesterday. You take a deep breath, blast some tunes through your noise-cancelling headphones, and go to work. And you’re totally in your groove –until the IMs start to pop up asking how that fix is coming along. And the emails. And that guy who just walked over to your cube. Argh! If people weren’t constantly asking you for status updates, you might be able to actually work on the code they so urgently need!
What if you were able to add stakeholders as watchers on the JIRA issue at hand so they get updates automatically instead of bothering you for them? Oh yeah! You already can. And what if you were able to file that issue from inside Bamboo so it’s linked to the offending build, with all the logs, test results, code changes and other information stakeholders are interested in? (Spoiler alert: with Bamboo 4.1, you can!)
Now put your headphones back on and go code in peace.
4: Link deploy requests to builds, and back again
It’s not uncommon to hear from customers whose build and deploy workflow involves a strict set of requests, checks and approvals. Human sign-off is required to advance the build to the next step, and many teams use Bamboo’s manual stages to create the necessary “gates” along their pipeline (manual stages FTW!). Creating JIRA issues from a build results page in Bamboo eases and enhances this semi-automatic method of delivery.
Say, for example, that the latest build has passed it’s unit testing phase. Any developer or QA engineer can come to the build’s result screen in Bamboo and file a JIRA issue requesting that the build be promoted to the team’s test environment. JIRA will alert the issue’s assignee via email or IM so they can spring into action. When the deploy is kicked off and the issue closed, it’s reporter will be notified that the ball is back in their court. If the deploy fails, or serious regressions are discovered, anyone can go to the previous known-good build and, again, create a JIRA issue to request it be deployed –in essence, rolling back the test environment. By filing deploy requests from Bamboo, you automatically get a bi-directional link between the JIRA issue and the build result (which makes engineers happy), as well as full traceability throughout your deploy pipeline (which makes managers happy).
As legendary poker player James Butler Hickok once drawled, “I’ll see your accountability model, and raise you some ease-of-compliance”.
5: Data nerds, rejoice!
One of the most useful aspects of JIRA is that you can search by any field, and easily turn searches into reports or pull them into charts on your dashboard. So why not put that power to work for your build system? Sure, you could repair builds on the fly and request deploys via “high-speed voice communication”. But by coupling that activity with JIRA issues, you can
shamelessly plagiarize co-opt agile development’s notion of continuous improvement.
- Use a dashboard gadget to track the time-to-resolution for all your build failure issues, and watch for trends that can catalyze change or validate recent improvements
- Add components like “Infrastructure”, “Test Failure” or “Service Timeout” in your JIRA project, then identify trouble-spots by watching which components appear most frequently
- Pull the time-in-status report for deploy requests to help your IT/Ops team ensure they are meeting their SLA goals
- Review all of the above (and more –the possibilities are endless!) in team and project retrospectives
We’d all do well to adopt Summit 2012 speaker Jeff Atwood’s personal goal to “suck less and less each year.” With a little help from Bamboo and JIRA, you can.
Ready to see for yourself what JIRA issues in Bamboo can do for you? We thought so! Download your favorite distribution of Bamboo 4.1 today, and explore this great new feature during your 30-day