On Magicka: Agile development
We at Arrowhead got a requested to comment on Thomas Ferris Nicolaisen’s article “Agile Game Development: Magicka”, but a twitter feed was far too short to cover this topic.
There has been a lot of comments and questions regarding the release of Magicka, the aftermath and what happened during development that resulted in the state of the game, so in a way this will be a micro-post-mortem.
At the beginning of time development
When we started development of Magicka we used a standad project planning, where tasks were put after each other to create a long chain of “this will be done by then”. This was the only way of project management that any of us knew about and it seemed like the natural way of doing it - without realizing that the way we had developed the 2D prototype in the past was using a very agile method.
Estimates
As we were half into the development cycle we signed with Paradox, and this resulted in us giving estimates left and right about when the game was going to be ready for release - and as we all were very inexperienced we had pretty much no clue, and we missed every estimate by more or less… a lot.
This made us look into alternative project planning methods, as the one we had been using earlier continued to constantly fail us - to the point where the state of the game was more or less in pre-alpha and we had hit our beta deadline, covering up missing elements by cutting corners everywhere possible. We had very briefly heard about scrum / agile and it’s ability to give realistic estimates, with the power of the all mighty interwebs we found a quick tutorial on how to handle a scrum / agile projects and how to make your team more efficient - this was about 6 months before the projected GM of the game.
After introducing the team into the ways of agile and setting up a backlog containing large chunks of what was left to do we were off - blasting tasks, notes and whiteboard space far more rapidly and efficient than we had previously, until the fateful day when we were to evaluate progress.
We had completed two or three sprints, only to realize that, with the estimates we were giving and the rate we were burning them, the end of the development cycle was about 7 or 8 months beyond our GM date - something that left us terrified.
The problems, contained within
With our newfound knowledge of how far off we were from being able to complete Magicka had to do some drastic changes;
- Cut “unnecessary” content - the initially planned tree-type campaign which was painfully unfinished, and sadly, the PvP.
- Put less time into every task.
- Work longer hours.
- Hack.
None of these, except maybe the first option is a valid one in software development.
In addition to all of these estimate-problems we lacked one of the crucial things to scrum / agile development - a testing team.
Outcome
As we crunched day and night to finally be able to deliver a product that was at least feature-complete by the GM-date (which we had slipped 5 or 6 times before, to the point that Magicka almost looked like vaporware). And so it was, the untimely release of Magicka, something we at Arrowhead had both dreaded and dreamed about.
Aftermath
As the game went live, we had already noticed some of the game breaking bugs that were in the game and as we are all gamers at heart, we felt terrible - we sort of hoped that people were going to wait a while before buying the game, but the initial sales of 30.000 copies in 24h left us standing there, our hands covered in bugs.
So we made the decision everyone’s been talking about - spending two weeks, working 12-16h shifts, patching on a daily basis. This was, in retrospect, somewhat of a dangerous thing to do. Mainly because of the giant risk of producing even more game-breaking bugs, but fortunately - with the help of the great guys at steam™ and the watchful eye of the producers at paradox (no, not sauron) we managed to pump out patches very frequently, fixing several issues while still keeping the game stable (mostly).
Hindsight
Coming from the background we did, and having the set of tools we had - I don’t think we could’ve done anything to change the way everything played out - minor things here and there, sure.
A love for our game, our fans, games in general and a feeling of shame made us respond the way we did, and if something like this would happen again - we are sure to act the same way.
Conclusion
To conclude the reasoning behind our company and how we react, we are all gamers, even the top management (or lack thereof) - with a strict and firm belief of how games should be enjoyed, what makes a game fun and the importance of games being developed for the love of the game - not to make money or utilize fancy tech - just to provide the most memorable, pleasing gaming experience. Ever.
That is what Arrowhead is all about.
