The rest

Frag, measure, learn - Agile methodologies in FPS games

Topics
esports, agile, teamwork, communication, csgo

I've been playing computer games since 1988, back when I was 5 years old. It started (as far as I recall) with my father's 8086 and Space Invaders, later turning into an unreasonable number of hours spent with multiplayer shooters like Quake and Counter-Strike.

Quite many others here at Futurice have same kind of history and we've somehow turned that history into an active hobby revolving around Counter-Strike: Global Offensive (one of the leading eSports games at the moment). There is also an urban legend of people playing Starcraft 2 outside office hours, but their strange habits do not fit the scope of this post (sorry, Tomi).

Many evenings our Telegram channel dedicated to the cause wakes up and the hunt for five players begins in order to play some competitive CS. Family life sometimes gets in the way, but when kids go to sleep, Steam clients are fired up and Discord VoIP is filled with lame jokes.

Tampere site organized an office LAN party in May. Some CS:GO was played there as well

Like in the software business, you cannot always select your team in CS:GO. It is often a combination of available people with varying skills and interests. Our current player pool consists of roughly 20 people, of whom some have played CS for over a decade and some who have just recently learned the joys of Cache and Mirage. But with teamwork, even less experienced teams can win games compared to soloing veterans.

For those not familiar with CS:GO, it's all about communication, teamwork and flawless execution. Every game is different and small things can turn the whole match around. I've come to the conclusion that each match can be looked as an agile software project, crammed into a time box of roughly 60 minutes.

Basically you get to have your sprint planning and sprint review crammed into a total of 10 seconds between individual rounds. Then it's three minutes of full-on gaming ahead where anything can happen and you need to have necessary amount of dailies during each round. Team must adapt to unplanned events and potentially turn the whole strategy around within that tight timeframe.

Also budget plays a key role in CS:GO, since success usually boils down to how well the team manages its cash. New weapons and other gear can be purchased. If the team spends too much of cash and loses a round, they will definitely have some troubles in the next one. It is also important to estimate how well the opponent is doing on this front, so you can have some insight into what you are up against.

Also there's no such thing as *your* money, it's really the teams money which you need to distribute in the most efficient way possible. You need to know when to shoot with the money cannon and when to stash the pennies in your piggy bank.

Key questions during each game are things like: Who is the most dangerous player on the other side? Can we estimate how the opponent will play during the next round? What is our opening strategy?

VoIP communication (might) heat up quickly when things go wrong, but focusing on constant adjustment of own strategies and outsmarting the opponent can even turn a 14-0 match into a 14-16 win. 

I'll admit, in the beginning of our company gaming career, we were horrible. But after repetition, retrospectives held in Telegram after each match, and continuous improvement, we've become quite good no matter who we have in our team at any given time.

Keep on fragging and have a great summer!