Game Development

Summarized using AI

Leveling Up a Heroic Team

Aly Fulton • April 17, 2018 • Pittsburgh, PA

In the talk "Leveling Up a Heroic Team" by Aly Fulton at RailsConf 2018, the speaker draws parallels between building a successful gaming community, particularly in massive multiplayer online role-playing games (MMORPGs), and optimizing a business for success. This presentation emphasizes constructing a cohesive team to navigate challenges effectively with minimal casualties, both in gameplay and in a corporate environment. Key points discussed include:

  • Identifying Problems: Before building a team, recognize the challenges that need solving. In gaming, the problem is often a boss that needs to be defeated, whereas in business, it might relate to a product or service issue.

  • Progression Raid Teams: These teams are defined by their commitment levels and shared goals to tackle difficult objectives, improving over time as they face and conquer challenges together. The speaker categorizes players as hardcore, semi-hardcore, or casual based on their commitment to these objectives and relates these roles to professional commitment levels in a company.

  • Building a Team: Emphasizing the significance of value alignment over cultural fit, Aly discusses that a successful team should share concrete goals and values. A mismatch can lead to negative experiences for team members.

  • Team Diversity: Diversity in roles is highlighted as essential for success. Just as a raid team requires different classes (tanks, healers, and DPS), a company needs individuals with various skill sets to create a balanced and effective team.

  • Leadership and Communication: Strong leaders guide teams, utilizing communication tools to maintain focus and direction. The need for clear communication, especially in a distributed work environment, is crucial for ensuring all members are on the same page.

  • Learning Culture: Encouraging a blameless culture where mistakes are viewed as learning opportunities fosters innovation and team improvement.

  • Team Care: Maintaining a positive work environment involves celebrating successes, ensuring team morale is high, and recognizing the need for breaks to prevent burnout.

  • Community and Reputation: Building a strong community where members feel safe and included is vital. A company's reputation influences recruitment and retention of talent, making it imperative to treat all members with respect and empathy.

Overall, the talk imparts that creating, maintaining, and evolving a heroic team is a continuous process that yields significant benefits. By focusing on teamwork, communication, and individual growth, both gaming communities and businesses can achieve noteworthy successes.

Leveling Up a Heroic Team
Aly Fulton • April 17, 2018 • Pittsburgh, PA

Leveling Up a Heroic Team by Aly Fulton

Your application is a dragon and here’s how we’re going to form a successful raiding party to come out victorious (with minimal casualties!). When entering the field of web development, I discovered that the parallels of building a strong multiplayer gaming community and optimizing companies for success were undeniable. Your quest, should you choose to accept it, is to listen to these parallels and use the lessons to strengthen your biggest asset-–your team–-to build a better company and a better web.

RailsConf 2018

00:00:00.000 Oh, it’s working! You can hear me, right? Okay, we’re good! All right, so hi! I’m terrified. I mean, I’m Aly Fulton, and you can find me on Twitter at Synthetics. It's spelled S-Y-N-T-H-E-T-I-C-S. Don't ask me about the spelling—whatever. This is my talk.
00:00:15.420 Leveling Up a Heroic Team. I’m going to try to remember to breathe, but if you see me turn purple, please yell at me. Thanks! It’s been three years, so, hmm, oh yeah, I have a clicker! Look at this, this is so fancy! All right, first, some background on me.
00:00:35.610 I’ve been leading massively multiplayer online role-playing games (MMORPGs) communities, also known as guilds, for the better part of a decade. Currently, I lead the guild Tonic—you can see our fancy little green lime logo right there—and I've been doing that since 2012, which is about six years ago. Previously, I led guilds and progression raid teams, and I will get into the definition of those if you are not familiar with them in a minute.
00:01:12.630 Anyway, in a little game, maybe you have heard of it: a world called World of Warcraft? Nobody knows that game, right? In my spare time, I am a software engineer at Sun Tzu. You can also find me running after my toddler and trying to herd my cats.
00:01:40.920 Yes, all right, I have 23 alter egos according to my guild. They tell me I have a problem. Here’s one and another, and another, and another. But we should probably move on.
00:02:02.890 So, how do we begin? The first step in building both a successful community and a business is to recognize a problem in need of solving.
00:02:10.390 In games, this tends to be more obvious—it’s a monster! If you don't take it down, it's going to take you down. This, for example, is the Veil Guardian, the first raid boss of Spirit Vale in Guild Wars 2. In business, it's your product or service.
00:02:27.880 Hopefully, the problem you’re trying to resolve is clear to you as well—maybe not that clear, but hopefully clearer. You want to get to the point where you say, 'Yeah, we're killing it!' but a bit more metaphorically and hopefully with less damage to everyone all around.
00:02:39.160 These are the kinds of problems you're unlikely to solve by yourself. It’s dangerous to go alone, so take a team.
00:02:52.959 I mentioned progression raid teams earlier, and I promised a definition. Here it is: they are essentially groups with a shared goal of tackling difficult objectives impossible to obtain alone.
00:03:03.220 They are progression raid teams because they improve over time for smoother, faster completions. They continue to push the goals further and further by completing more difficult objectives and achievements. This, for example, is Corsola; he’s the second raid boss in Spirit Vale, which you can only get to if you've defeated the Veil Guardian.
00:03:40.109 You must progress through the rig. Progression raid teams generally have different levels of commitment. In Guild Wars 2, we have about three tiers: hardcore, semi-hardcore, and casual. Hardcore players are the ones who live and breathe raids; they raid for long hours every day until they’ve mastered all the objectives.
00:04:05.450 They’re the ones writing complete details for their classes, making world firsts, setting the benchmarks, etc. I’d like to tie this into the people who work 40 hours a week in a software job and go home and work on nothing but software side projects.
00:04:42.290 Then there are the semi-hardcore players; these people want to be good at their roles and like being efficient in taking down their objectives but still prefer a more relaxed environment. They like bouncing between raiding and their other interests. This is personally the camp that I fall into, both in work and gaming.
00:05:02.210 I love coding and improving my craft, but I want to have time for my family and my other hobbies. This is one of the reasons I switched jobs to Sun Tzu, actually; they understand and appreciate work-life balance while still shipping quality code.
00:05:35.050 Unfortunately, I came from a place that didn't quite appreciate this balance, and it wasn't the right level of commitment for me.
00:05:47.140 Finally, there are the casuals; these are people who enjoy raids but can't commit to one group every week. Casuals are usually a mixed bag; some just want to do things for fun without caring about being the best at what they do, while others are casual simply because they have lots of other commitments.
00:06:03.660 They are still great at what they do; they just don’t have the same time to commit to it. This probably applies most to people who do coding projects at a hobbyist level. All right, sorry, I know it’s loud.
00:06:50.040 So we know what a progression team is, so let’s start building one! This is my new favorite team gif; I love it! Let’s just give it a second; look at how adorable it is. You may have heard of the concept of value fit versus cultural fit.
00:07:16.280 One of the most important things in assembling your team is to make sure everyone aligns with your concrete values and goals. Creating teams based on cultural fit is problematic because culture is hard to define, and matching new recruits based on culture is going to create a pretty homogenous group.
00:07:32.960 I just mentioned the different commitment levels; this ties in tightly. Hardcore players and guilds that cater to them will value dedication, mastery, and achievement. Semi-hardcore players and their guilds will evaluate balance and empathy. Casual guilds will value fun above all else. If you throw a casual player into a hardcore raid group, you’re going to have the casual player tell the hardcore players that they’re taking things way too seriously, and the hardcore players will be upset because the casual isn’t taking things seriously enough.
00:08:28.640 A mismatch in values results in a negative experience for everyone. You need to build your team on the same foundation of what is important. What is important to your teams? What do you want the driving values of your company to be? If you cannot easily recite your values at task time, or if your company doesn’t have defined values, you need to work on that right away.
00:09:20.910 You can't bring ten healers into a raid—I mean, you could, but you're probably going to hit a boss timer from not doing enough damage in time. There are skills that those healers don't have, etc. This group that I highlighted here apparently took ten healing tempest to the Veil Guardian, and it took 40 minutes.
00:09:47.190 I didn’t watch the video, but I probably should because last time I checked, the Veil Guardian has a nine-minute boss timer. After the boss timer runs out, he enrages, and his attacks do a lot more damage. It’s pretty unforgiving.
00:10:10.160 They obviously did this to prove that they could, but clearly, it’s more effective to diversify. It’s the same with your business. You can’t just have all developers and think your product is gonna magically sell and support itself. You need DevOps, QA, sales, support, HR, etc.—people who are skilled and trained in those specific roles so that everyone can focus on what they do best.
00:10:57.350 In MMORPGs, there are always way more people who want to play the DPS roles because they get all the glory. They’re the ones doing what is visible—the damage. DPS stands for damage per second, but guess what? You’re not taking down that big boss guy without a tank and a healer.
00:11:18.470 The tank and the healer are mitigating damage so that the DPS can do what they need to do. I can tell you as a healer, the people who don’t respect that I have to heal ten total people and expect me to just clean up their messes all the time end up dead on the floor. They’re usually critically wounded.
00:11:36.760 Diversity is a necessity. Great, you have some diversity in roles, but if all your DPS are necromancers, you're going to quickly find that there are problems you can't solve with your ability pool. You need an assortment of DPS classes—throw in some warriors, guardians, shadow priests—whatever. It’s the same with developers.
00:12:25.740 If you get everyone from the same background—people with the exact same abilities and experience—people who look and think just like you, you’re going to have a hard time mastering all of your goals. It's better to take the person who’s inexperienced and willing to learn than an experienced person unwilling to take criticism.
00:12:50.280 Recognize that some people just have more time to min/max than others. In tech, this is usually found in the amount of open-source contributions. Just because somebody doesn’t commit to open source doesn’t mean they aren’t good coders. It’s the same with players; not contributing doesn’t mean they aren’t good players.
00:13:36.600 Everyone has to learn from experience elsewhere. It helps people pick things up faster, but no one jumps right into a raid knowing exactly what to do. Senior developers don’t magically appear out of nowhere.
00:14:09.320 That’s news! Companies often only look for experienced people, but they could train some people. However, a group of ten inexperienced people is going to take a lot longer to achieve their objectives.
00:14:48.090 In raids, I find it's healthy to have one to two junior or inexperienced people. I think the same goes for business: hire junior developers and support junior developers.
00:15:14.540 In raids, people become obsessed with the meta. This is an actual website for Guild Wars builds called MetaBattle, where you can find the best builds for different classes. There’s a lot of debate on that, but I won’t get into it.
00:15:39.440 Players spend a lot of time thinking that they need this role and nothing else will be good when in reality, letting someone play what they are comfortable with will accomplish the same thing in probably 90% of the meta. However, playing the meta when you’re unfamiliar with it will be even less effective.
00:16:22.050 In tech, we get so excited about the latest and greatest that sometimes we don't think about the toll this takes on our people—how long it takes to learn new roles and how what is considered best practices is always changing. You don’t always need the flashiest and the best technology or role; sometimes, the best technology or role is what people are most comfortable with.
00:17:06.750 All right, objective checked, team checked. Now you need some leaders to lead the way. Strong leaders serve as beacons, guiding the overall direction of the team, but what is a leader without people to lead?
00:17:43.400 I’m a big fan of servant leadership, which believes that as leaders, we serve our team and its individual members first. The needs of the team have to be met before your own. I think I talked about promoting growth at the individual level a few times in this presentation, but that’s because it’s important.
00:18:05.550 As a leader, we want to work with each member to identify their strengths and weaknesses. As you lead each member to individual growth, your team grows too. We want to keep morale high and get people excited.
00:18:40.750 We want to keep people focused so they can get the job done. This screenshot is of a ready-check, which is what people usually do right before they go in and try to kill a boss.
00:19:14.660 Above all, we need to keep the team working together. Sometimes this means resolving conflicts that team members are unable to resolve on their own. Sometimes this means holding meetings so we’re all on the same page.
00:19:48.290 Sometimes it means breaking down communication barriers. Speaking of communication barriers, with more companies moving towards a distributed and remote model, optimizing communication and information access is more important than ever.
00:20:20.480 Now that you have your leaders, you’re almost ready to go off and slay. How are you going to make sure everyone is on the same page?
00:20:46.330 When I was leading WoW raids, we would use this voice-over-IP software called Ventrilo. Generally, the Ventrilo channel was meant to be kept clear so that the raid team could hear the instructions from the raid leader.
00:21:16.650 Anytime multiple people would start talking over each other, the raid leader would shout, 'Clear!' The sound is engraved in my memory—I will never forget it! This was to keep the channel clear so all the important calls were heard.
00:21:40.470 In many companies, this is accomplished by a no-noise announcements channel, where only important updates are placed, and all other discussions happen elsewhere.
00:22:12.350 In addition to the must-know, right-now information, you’ve probably accumulated or will accumulate an incredible amount of knowledge and documentation, and I’m sure you have tool fatigue already from your Kanban, your Slack backlogs, your GitHub issues, your wikis, etc.
00:22:45.780 Wouldn’t it be nicer if it was all in one place, where you knew to search? Guild Wars 2 actually has a slash wiki command in-game that pulls up the wiki page for whatever you put in the command. It’s community-maintained, and it’s a great go-to resource for figuring out simple questions, so you don’t have to bother other people.
00:23:11.000 I know many teams are not good at this. Trust me, I haven’t worked for a team that’s amazing at it yet, but it’s important to start working towards that.
00:23:35.540 Are you going to run in and attack that boss? I mean, you might try to pull a Leroy Jenkins, but you’ll probably be wasting your time. If you don’t know who Leroy Jenkins is, he was this guy who pretended to be away from keyboard (AFK) and then suddenly ran in without his raid team and just aggroed all these little baby dragons.
00:24:04.580 This was back when the raids had up to 40 players, so yeah, it was a mess. If you haven't seen it, check it out. It’s on YouTube. You can look for it after this talk.
00:24:29.780 Anyway, you're going to think about it strategically. You’re going to break it down into steps and roles, just like how you break down programming or business problems. You might feel like you have no idea what you're doing, but you have to try anything.
00:25:05.490 We need a starting point. The boss is going to die as long as you reach the minimum. Going beyond that minimum is definitely optimal for time efficiency, etc. But at first, it might not be pretty, but it’s done. Clean it up later!
00:25:26.580 I personally love refactoring. Once you have your Minimum Viable Product (MVP), or whatever, you can move the goalposts up from there.
00:25:37.900 Time and freedom to experiment are important learning tools. It’s okay to try something and fail if it’s a learning experience. It helps identify weaknesses in your system or process, exposing different angles of the problem which ultimately helps improve your product.
00:26:20.670 We live in the information age, and there are lots of blog posts, guides, tutorials, and conference talks available. Perhaps one strategy that works for others won’t work for your teams. There may be no one way to do things, but some things definitely work better than others.
00:26:56.850 Make educated decisions based on other successes and failures. Don’t go in without a basic strategy. You need to have some sort of idea of what you’re doing in order for your team to feel comfortable experimenting.
00:27:16.620 You need to foster a blameless culture. If your team fears making mistakes, they'll be hesitant to try something unfamiliar. Worse, they might try to hide any mistakes they've made and find out too late to recover.
00:28:08.220 We need to treat what is often seen as failure as a learning experience. It's only a true failure if you gained absolutely nothing from the incident. Here's a little doodle I found on the internet: people tend to think there's a straight line to success, but really, it's pretty messy and sometimes you go backwards.
00:28:29.560 Usually, when experiencing some sense of failure, there are some recovery protocols. Someone will step in where it's needed, or there could be some automation in place. Tanks may need to be saved quickly, while healers might get overloaded, and everything cools down.
00:29:50.230 Then, as you would expect, somewhat critically, the other team members try to cover each other. If one person makes a mistake, you can expect a bit of chaos to ensue, but the key thing here is to realize: large-scale failures are hardly the result of one person.
00:30:10.040 Is it the tank or healer's fault when your raid wipes? Sure, they went down first, which causes stress on the other healers, but there weren't people alive to keep going. It was the accumulation of mistakes, and things outside the group’s control.
00:31:10.350 You don't want to blame one specific person for failures, which leads us to story time.
00:31:34.800 Back in my World of Warcraft days, if you played World of Warcraft, you probably know who this is: I was leading a group in the 25-man Icecrown Citadel raid in the Wrath of the Lich King expansion.
00:32:08.760 There was a frostfire boss named Sindragosa; we were trying to get our first-ever kill. One of her mechanics was to target players, and they had to run out of the group because they were going to be ice blocked. If you were near anybody when you were ice blocked, you'd also ice block them.
00:32:50.850 Anyway, here I am with my team leading after hours of work—we’re exhausted and frustrated. We’re ready to get it done—she’s almost dead!
00:33:05.590 I’m calling for targets to move out, and suddenly, I panic! Nobody is moving! 'Ice block! Move out!' I accidentally selected the entire group of all 25 people. Just 10% somewhere between 25% we were devastated.
00:33:57.740 So the moral of the story is to be more aware. Monitoring is important; I work for modern companies. I'm bringing up logs and metrics, but actually, these metrics are big in gaming as well.
00:34:38.490 For each boss kill, we review damage output, healing uptime, and time to complete the encounter. It’s the same with your application: you need to collect some baseline metrics and use them for comparison to ensure progress.
00:35:15.450 In applications, you care about speed, health, and output too. Without seeing these numbers and logs, it can be difficult to pinpoint the areas you need to improve. I’ve been in companies without monitoring or log aggregation, and you’re not alone.
00:36:04.050 However, to level up, you really need to implement at least the basics, which they haven't.
00:36:40.970 Here’s an example from last September: Mursaat Overseer is a boss in Guild Wars 2. I really don’t expect you to be able to lead this, but you'll be able to look at it on the slide deck. We downed him in two minutes and thirty seconds.
00:37:15.240 You can see in the screenshot all the roles that were present. I’ve sorted it by burn call. Back then, as a Druid, your job was to maintain a healing uptime of as close to 100% as possible. It shows my efficiency.
00:37:40.680 I scored a solid 4.5, which was pretty darn good, if I must say so myself. But Mursaat Overseer is also one of the easiest bosses, so I can't take too much credit.
00:38:04.020 So anyway, you have this team, you're communicating effectively, and you're starting to get pretty efficient. How do you keep it that way? I'm going to briefly introduce some of these topics; they could easily have their own talk.
00:38:50.970 There are plenty of great blog posts. I said we live in the information age. One of the core foundational needs of maintaining happiness is ensuring safety.
00:39:40.170 People stay where they feel safe. People are often surprised at how diverse Tonic’s community is. We don’t do any particular outreach or call ourselves an LGBTQ guild, but we have members who are openly trans, queer, disabled, and neurodiverse.
00:40:35.329 Years ago, players found they could hide their identities and blend into the perceived status quo. In raids, as people come out and reveal themselves, they find more and more people saying,
00:41:36.850 Me too! And realizing they are not alone, they feel safe and accepted for who they are. They found their people! Because they stay, we built a diverse community. We created this sense of safety using a code of conduct that explicitly maps out boundaries to not cross and the consequences of violating this code.
00:42:48.340 Here’s a reminder: when you’re here, you’ll be signing a code of conduct that serves as a definitive acceptable guide behavior and is clear about what is and is not allowed.
00:43:19.000 A code of conduct is meaningless if it is not actively enforced. I have had to cite the removal of members a couple of times. Thankfully, it’s not often, which I think is because, when we invite anyone to the guild, we review our values and code of conduct.
00:43:56.640 I have turned people away because they weren't sure they could commit to it. So yes, it’s important to review your values and code of conduct in the recruiting process to filter out potential conflicts later on.
00:44:37.490 Once people feel safe, they want to feel included and a sense of belonging in the groups. People who are only considered substitutes will seek out a different team where they feel appreciated.
00:45:05.160 If your group is supposed to be focused on the entire game, but you're often only focusing on reading, the people who feel left out are going to leave. At my last company, they did a great job of having events and food for people who were local to the main office, but remote workers were often ignored.
00:45:42.490 I felt I wasn’t appreciated at the same level, which partly drove my departure. As companies grow, cliques can form. Try to promote different people working together, but don't enforce it.
00:46:12.620 Celebrate your team’s success! Recognizing and rewarding your team for a job well done is crucial. Have you been working on a boss for weeks, and you finally got him down? Blast out the in-game fireworks!
00:46:54.740 If you’ve been grinding on a new product feature and you’re ready to release it, send everyone a cupcake or something. Failing to celebrate success leads to burnout. Yes, this happens in games too.
00:47:40.180 You should balance your team goals with your team’s health. We are not machines! Sprint after sprint is really just a marathon. Everyone needs a break. Time off is essential for everyone.
00:48:54.790 I’m a fan of mandatory minimum time off. Sun Tzu has set four weeks minimum that you must take, and they will disconnect all your accounts if you don’t. I’ve seen some companies only grant two total weeks of vacation or set a minimum of two weeks, which is a start but not ideal.
00:49:36.230 The worst scenario is unlimited PTO, but nobody actually takes it. I recommend having decent minimums—four weeks or more—and ensuring they’re actually taken.
00:50:06.760 We are more productive when we are relaxed. Stress leads to mistakes and avoidable failures. If your team members burn out, they're going to leave.
00:50:34.760 If you’re constantly retraining new people, you're introducing more opportunities for mistakes. New people generally lack the knowledge of the deep internals of your system or product.
00:50:57.290 High turnover leads to high failure rates, and your reputation is also important to maintain.
00:51:28.670 If you want to maintain team happiness, having toxic members representing you damages your reputation. At Tonic, we have explicit rules against causing grief or harm to the greater community.
00:51:56.790 Anyone found violating these rules is immediately removed. I have a small section of our code of conduct on this slide. Again, I don't expect you to be able to see this, but it details some toxic gaming behaviors that we don’t tolerate.
00:52:36.260 For example, in Guild Wars 2, a few members of a different guild wanted the achievements and rewards from winning a PvP tournament, so they purchased a tournament win from skilled PvP players.
00:53:04.990 Once ArenaNet, the makers of Guild Wars 2, discovered this, they penalized those players. The rest of their guild lost respect for them despite only a tiny percentage of the guild being offenders.
00:53:36.510 So you don’t want people to lose faith in your company over a few bad actors. Having a positive impact on the greater community helps improve your image.
00:54:11.030 In games, we achieve this by hosting events, helping out newcomers, and just being friendly in our interactions. Here’s a picture of me dancing in the PvP lobby with some strangers; I’m the purple cabbage in the middle.
00:54:40.280 In business, you might do this by sponsoring causes you believe in, open-sourcing your core software products, or having a great support team that interacts positively with customers.
00:55:01.340 If you have a good reputation, which is earned by treating your members and the community well, you’ll have a much easier time recruiting new talent and retaining the talent you currently have.
00:55:38.510 We have a working team now, but we always want to get better.
00:56:07.260 The ultimate goal of how your team operates is to be coordinated at both the individual and group levels; cogs in the machine of awesome.
00:56:31.470 Despite the fact that I just said we are not machines, you want people who know how to do their roles and make decisions in the best interest of the whole group.
00:56:56.030 You want people who know how to step in and recover from weakness seamlessly, then return to their original roles effortlessly.
00:57:27.780 This isn't easy—it takes a long time to achieve this kind of synergy, if it’s achieved at all.
00:57:43.260 We want to keep working towards this point. One of the ways we reach synergy is to help people grow where they are currently struggling.
00:58:10.300 That might involve extending additional educational resources or working with them directly to strengthen their skills. Simply telling someone to 'get good' isn't going to help!
00:58:39.300 Constructive feedback with work points and pairing is essential.
00:59:03.780 If one person isn’t carrying their weight and the team notices, you must address it positively. Give them a chance to improve, and offer resources or assistance.
00:59:37.590 If they still show no interest or can't keep up, it’s time to let them go. You also need to evolve with your market, company, and community.
01:00:17.250 Tonic is a completely different guild from six years ago based on the changing needs of both the Guild Wars 2 community and our members.
01:00:42.220 I started Tonic before I went to grad school when I had plenty of time. We were focused on friendship and partying—now me with a kid and a full-time job, we’re more about providing a no-stress environment where people relax.
01:01:17.590 Change is inevitable! Embrace it and grow! I truly believe that the worst you can say is, 'We've always done it this way and we're not going to change.'
01:01:47.510 Last step! Whew! Well, here’s the Veil Guardian—only wait, he’s no more! We have finished him, yay! And we got the trophy and all the loot, yay!
01:02:20.000 And we did it! Yay! And we did it some more! And some more! Building, maintaining, and growing a heroic team is a long process—one that is constantly evolving and in need of improvement.
01:02:47.420 But the benefits are definitely worth it! Go level up and get those trophies! Thank you, and +50 DKP for everyone here!
01:03:35.130 You.
Explore all talks recorded at RailsConf 2018
+98