There's this idea floating around: an idea that builds are the devil. That they're unreliable, tedious and confusing. I won't try to refute this... but my secondment has taught me that builds are so much more! I began at Atlassian as a developer on the Confluence development team where my work primarily involved delivering features such as Confluence-JIRA integration and the Confluence Space IA (Left Sidebar). So when I was approached about joining the Confluence build engineering team for

Continue reading »

Developing on the Salesforce platform can become complex to manage as your team and your projects grow and mature. At Atlassian, our internal Salesforce development team started five years ago with a single analyst making small changes and customizations to support a single department. Today, it’s a small team of developers, admins, and a program manager supporting multiple departments with varying needs for customizations of our Salesforce deployment. The team manages both types of Salesforce

Continue reading »

If you follow Atlassian, you know we're big on continuous integration ("CI") and Git–separately, sure: but even bigger on the power that the two offer in combination. Today I want to share some tips for getting your CI system to interact optimally with your repository, which is where it all begins. 1: Avoid tracking large files in your repo One of the things you often hear about Git is that you should avoid putting large files into your repository: binaries, media files, archived artifacts,

Continue reading »

Like an ogre One of my colleagues had an opportunity to work closely with Clover's HTML code coverage report. After several days, he stated: "Do you know? Clover's HTML report is like an ogre from the Shrek movie - it is composed of layers. Every time I thought I already learned this report, I was discovering new, tiny but yet extremely useful detail in it. I don't even know if I reached the bottom already." Layers of code coverage As a Clover developer, I know these reports from the inside-out.

Continue reading »

5 tips for great code reviews

In almost every organization, team members collaborate to get work done. Software teams typically transition issues between people for different functions like code development, code review, and testing (even if they are all on the same team). When transitioning an issue from one team member to another it’s important to minimize the amount of ramp up required for the receiver to fully understand the issue. Transferring issues can be extremely expensive as it requires time from not only one,

Continue reading »

What the heck is the quiet period? The quiet period is a optional setting on each repository connected to Bamboo. After seeing that a commit has been made to the repo, the quiet period (if enabled) tells Bamboo how long to wait before actually kicking off the build. It lives under the Advanced options in the Linked Repositories configuration screen. Here's what the configuration looks like: Fun Fact! The quiet period was originally invented to cater for the fact that CVS commits are

Continue reading »