In case you missed last Thursday's "Git workflows for SaaS teams" webinar, we just published the recording. Despite the title, the content is about 10% SaaS / 90% Git best practice, so you should get something out of it (regardless of what type of software you make)–especially if you're: currently using Git, but feel like you're not getting the most out of your workflow not using Git, and thinking about migrating soon curious about feature branching, merge strategies, continuous integration

Continue reading »

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 »

Last week we gathered up several hundred of our fellow software makers and talked about four development practices you can use to keep from getting your wires crossed: feature branching, continuous integration, pull requests, and information radiators. These are practices that teams at Atlassian have been really successful with, and–to the surprise of exactly nobody–we've baked support for them into the Git Essentials solution. ICYMI In case you missed it, here are the key points we covered: Feature

Continue reading »