Headquarters: San Francisco, CA
Industry: Game development
Focus: Social gaming (Facebook, MySpace)
Employees: Over 750
Tools used: JIRA, GreenHopper, FishEye, (Crucible soon)
As part of our participation in the Game Developer Conference 2010 in San Francisco, we reached out to nearly 600 of our game development customers to see who might be interested in participating in an interview. We were pleased to learn that Zynga was a user of Atlassian tools. We were even more pleased to learn they’d be willing to do a case study with us, and that they are located within walking distance from our San Francisco office!
Founded in 2007, Zynga is one of the most successful game development companies on the social gaming scene. Having raised $180 million in December 2009, Zynga has clearly developed an innovative business model that is capturing the attention of serious investors and venture capitalists. Today you will find their immensely popular games on Facebook, MySpace and the iPhone. According to the Inside Facebook blog, in February 2010, Zygna made six of Facebook’s ten most popular games including FarmVille, Cafe World, Texas Holdem Poker, Mafia Wars, FishVille and Petville. Collectively, these six games had over 209,490,021 active players!
Micah Figone, QA Manager at Zynga, was kind enough to sit with us for an hour to discuss their use of Atlassian’s bug tracking, agile project management, perforce integration, and peer code review tools. We also chatted about game development in general. Micah expressed how “in some form or another, whether they realize it or not, everybody” at Zynga uses Atlassian tools to make their widely popular games.
So who are you and where are we?
My name is Micah Figone and I am the QA Manager at Zynga in San Francisco. It seems like an eternity, but I have been at Zynga a year and six months. My department is the QA for the whole company. My team varies in functions from automation to their normal black box testers to security testers.
What programming languages do you develop in?
You have games like Mafia Wars and Vampire, and that’s all PHP based. Then you have the games like FarmVille, Cafe, YoVille, Poker, all Flash. Those are really the only two spaces we live in: PHP and Flash.
What games are developed using Atlassian tools?
All of them. Every game you can play has some interaction with Atlassian tools.
What Atlassian tools do you currently use and how did they make their way into Zynga?
Currently we are using JIRA, with GreenHopper of course, FishEye, and we’re planning on using Crucible shortly. A web based code review tool is great, so you don’t have to say ‘hey, let me pull up a chair next to your desk.’ Everybody can review, you don’t have to have 20 people crowding around your desk. That’s something I definitely want to do. We are also evaluating Confluence.
We were using another bug database when I started a year and a half ago. Immediately I migrated everybody to JIRA. As far as the other products go, they lived here already. They weren’t heavily used, but through integrating to JIRA and FishEye, surfacing the information and saying ‘hey developers, look, you can see your commits – just put the issue number in, and it auto-links.’
So you are THE JIRA evangelist?
Yes! I’ve used it before in other companies and I’ve used other products as well, but JIRA to me is the easiest, most user-friendly, intuitive interface that you have. We are looking forward to upgrading to JIRA 4.0 and using the boolean searches. Advanced searching is important. Every dev team has their own project. Some dev teams have multiple projects.
How many people, would you guess, are using our products across the company?
In some form or another, whether they realize or not, everybody. Everybody here, whether it be an IT request, a new hire, a facility request from our shared services organization to our net-ops team to QA, and the development teams themselves.
Can you comment on the use of GreenHopper?
Some use GreenHopper more than others. Some use it for task management. GreenHopper is great because it provides an intuitive interface that you would do by just clicking. It’s like ‘drag, drag, drag,’ it’s a LOT faster.
How are Atlassian products used in Pre-production & Production?
It is all done in house. The pre-production games live outside of the tools for sure. As they become more complete, we take an excel sheet and import them into JIRA. After that, everybody uses JIRA. Pre-production is kind of a fun case because, here, it’s very short.
Do all teams iterate at the same cadence?
It’s all over the board. We push out a new feature to a certain set of users, and iterate on that feature as we go.
Can you comment on Time Tracking?
It’s something that I’m trying to get people to use, because it can be used for a slew of things. It’s just showing the development teams how it helps. But, because we move so fast, it’s kind of irrelevant. Some games teams have tried it, some stick with it, some it slows them down. I love burn down charts and like to say ‘here is your projection,’ but that only works with some of the larger milestones. It’s good for a larger feature that is more involved. Project planning on that level is very important.
Are people using the products in ways you hadn’t expected?
It’s not ways that I wouldn’t expect, it’s the customizations that gets me sometimes. Sometimes I ask, ‘why would you want to do that?’. Being QA, I like everything central. Sometimes people want different workflows and to close bugs differently. I’ll say ‘OK, here you go,’
Did you customize the products in any way? (screens/fields/workflow)
We have all the games using the same screens. If you look at my field configuration screen, I couldn’t tell you how many there are. Some teams want different fields on different tasks. Same goes for workflows – different workflows for different issue types for a feature, you’re going to want a different set of fields.
What would you tell another game dev shop if they were considering using Atlassian tools?
That they should! I think that other products, when you end up learning them, can be pretty powerful. JIRA is great, however, because 1) it doesn’t take you long to learn it, 2) it provides the same amount of power the others do, but without the learning curve, and 3) if I want to search, it’s easy. The ability to do fuzzy search and relative search and also do boolean, you don’t need to worry about learning too much.
What software development methodologies does your team use? (Scrum, XP, Waterfall)
We take pieces of agile for the most part. It’s definitely a hybrid; I don’t think anyone can use agile as it’s quoted in a book. You take pieces that work for your team. But among the teams themselves, they all, for the most part, have their own flavors of agile. Some use more of it, some use less of it. There are various teams that use GreenHopper, and some that don’t.
What are the strengths and weaknesses of that approach?
My comment is on the weaknesses; I don’t know if there is any weaknesses with taking what you need out of agile. There’s a lot of strengths with the fact that it is completely good for people that are really rapid in the development, and it provides a lot of strength in your flexibility. You are able to react. If you are using waterfall, you have to plan out so far ahead, and what if something changes? You’ve got to change everything including design docs and all that jazz. Being QA, I’m definitely a believer in design docs but sometimes you got to move really fast and just update them later. So the main strengths I see are definitely flexibility.
In your opinion, how important are software development tools to game development?
Extremely, I’m a big propoent of tools that make people’s lives easier. Through those tools you really surface information, automate reports, and provide dashboards for people to look at and see their stats on the fly whenever they want. Put them up on a big screen TV and let them watch on auto-refresh, let them watch their stats as they go so they can see how they are doing.
How is software development changing within the gaming industry?
Zynga is on the forefront of this. Normally, game development cycles take months to release a new patch. We take an approach to make changes to what users are saying and adapting to what they are saying; testing things in the real world and getting their feedback. That’s where I see the game development going for sure.
Can you comment on driving of innovation in the game dev space?
I think the social networking gaming space is a new industry so to speak. We operate by a different set of rules. I think it is only a matter of time before the larger gaming studios realize the power of those rules. Before I worked here, I came from the MMO space. I’m used to long dev cycles. When I first came here I was like ‘you push how fast, is that even sustainable?’ It totally is, but it is so powerful. It provides a hands on interaction with users that others can do. You can’t do rapid development on an MMO. Users now-a-days always want more and want to be heard. There are things we can easily tweak. When we test new features, not everyone makes it.
Is the culture here different to traditional game companies, especially with regard to release dates?
I think there is less of a stress around release dates, and more around what features are released. If there is a high priority item, there is definitely that ‘oh my god, we gotta do this now.’ When you have a release date 2 weeks away, you get stressed for those 2 weeks.
A big shout out to Zygna’s Micah Figone (QA) and Lisa Chan (PR) for all their help!