HQ: San Francisco, CA
Products: JIRA, GreenHopper, Confluence, FishEye, Crucible
The Domain Name System (DNS) is the “phone book” for the internet which translates human-friendly hostnames, like www.atlassian.com, into meaningful IP addresses which the web uses. Can you imagine having to remember something like 220.127.116.11 just to get to a single web address?
OpenDNS is all about Internet security. They are the largest DNS service in the world, and provides DNS and security services to large enterprises, SMBs, 1 in 3 schools and households in numerous countries.
Atlassian was thrilled to learn they were interested in doing a case study. We got in touch with Mark Neuman, VP of Engineering at OpenDNS. OpenDNS uses nearly Atlassian’s complete suite of software development tools.
Tell us a little about OpenDNS and what you do?
OpenDNS makes the Internet safer, faster, smarter and more reliable for more than 20 million people around the world in homes, at schools and businesses. We provide the fastest, most reliable DNS service available, plus unique and innovative cloud-based malware protection and Web content filtering. We’re the choice of more than 1 in 3 schools in the US and Fortune 100 companies. Today we have 40 employees, but we’re growing like gangbusters. We have one headquarters location in beautiful San Francisco, CA, within view of the World Series Champion Giants’ stadium.
Why did you select JIRA?
We selected JIRA, Atlassian’s issue tracker, because we didn’t have time to customize Trac to meet our needs. Also, several new employees had used JIRA at a previous company with good results. JIRA has a good reputation in general.
How is JIRA used and agile practiced at OpenDNS?
JIRA is being used by 3 groups. Product development, engineers and product managers use JIRA and GreenHopper to manage each sprint. The Operations group uses it to track both operational issues and infrastructure projects. Also, the IT group uses JIRA to track internal IT requests. For us, important features in JIRA include the ability to customize forms, to integrate with email, and overall ability to track who is doing what when.
Currently only the Engineering and Product Management teams are using more formal agile techniques, so the GreenHopper planning board and task board are their primary view of the system. A big problem we ran into early was figuring out how to manage a stories list running into hundreds of records. Our head of Product Management came up with a creative solution using “versions” to group related stories. So there is a Product Backlog version, with sub-versions for each major initiative and we order these sub-versions in order of priority. Then, at prioritization meetings, we pick the highest priority stories out of each Product Backlog “sub-version.” Next, we define our own “Next Sprint Candidate” bar that we position below the stories which PM wants the engineers to address. Finally, the engineers move the stories they are committing to into a more conventional software release version, named for the ending date of the Sprint (e.g. June 3). The most important feature in GreenHopper for us is the ability to rank stories in order of priority. This gets around the JIRA problem of having a hundred Priority 1s, 300 Priority 2s, etc.. Once assigned to a sprint, the engineers mostly use the GreenHopper Task Board as their UI, never really using any of the other JIRA views.
We introduced more formal code reviews with Crucible, which allows engineers to do reviews on their own, when most convenient. Even though we are all co-located and have many impromptu meetings, these are not needed most of the time because of the tool. We still need meetings to agree on design approaches, but code reviews are much easier.
How is Confluence used?
Confluence is the company’s knowledge base and a superior substitute for email and storing files on local hard drives. It’s an ongoing effort, but everyone is encouraged to keep everything on the wiki. We use it for everything not customer-facing (and are considering using it for customers too). The most important capability is the excellent search, which works across attachments, allowing users to find everything.
Have you integrated the products together?
A key part of our decision to use the Atlassian products was the ability to integrate. Obviously, FishEye and Crucible are tightly integrated. We plan to use the JIRA/FishEye integration more in the future when we complete the move from Subversion to Git. With Confluence, we now use the JIRA integration to have the best of both. With JIRA alone, it’s hard to see how product features that consist of many stories in GreenHopper fit together. Now we are putting larger stories (epics) on the wiki, and from those create and track the workable stories in JIRA.
Are you able to quantify the results of using Atlassian products?
Unfortunately, we did not have good metrics from the prior system that we can compare to the metrics we get from JIRA and GreenHopper. However, the overall consensus is that communication and corporate memory have greatly improved. People can actually find things and know what is going on. We have modified our approach to scrum several times since we started, and the tools are flexible enough for us to be flexible and do what is needed.
What advice would you give another dev-shop considering Atlassian tools?
I recommend to not run the product suite on virtual machines (which is not really encouraged). When things are slow, people get really impatient, so we are moving to dedicated servers to address this. These tools are very important, so we want the best. Beyond that, my best advice is to use an integrated suite. Atlassian is currently an excellent choice. We are continuing to invest in it.
For more Atlassian case studies, please go here.