I recently participated in an online discussion where the OP asked if people use Agile or Waterfall in their game development methodology. I usually sit these things out, but this one piqued my interest, and I was expecting the OP to get flamed for asking something that sounded a lot like “What needs to get added to powdered water to make it drinkable?” I watched the replies come in for a few days, then finally started asking questions to see how these fellas were defining “Agile” and “Waterfall.”
Having worked and learned from industry gurus that literally wrote the book on software development processes, and having advised software development companies on their dev processes, asking this question was somewhat unfair on my part.
Most of the responses to the original poster were a variation of “I use a combination of both; agile during this phase of a project, waterfall during that phase of a project.” Whoah, Nellie! That would be like having a mixed-race kid, like me, telling you that I was white from ages zero to 15, then black from ages 16 to 30, and I’m thinking of being white again for the next two years. Unless you are a pop star, it doesn’t work that way.
I was curious that so many respondents seemed to think that they’re using a combination of both styles of development management, when they’re unaware that they’re using neither. It became apparent that no one really knew what either method really is. I asked the forum to explain what their interpretations of “Agile” and “Waterfall” were. The explanations went like this:
Waterfall is:
1. A project is in pre-production. A lot of great creative discussions happen. The designers design and may produce a GDD or may not; the artists come up with some incredible concept art, and the engineers do some proof of concept work and set up the pipeline or fix the game engine as needed.
2. A milestone schedule is produced. Every period, say every 8 weeks, a milestone is reached after a crunch period.
3. The game goes through QA and submission.
4. The game ships.
Most of us are familiar with this method as this is how most game projects run, but it isn’t waterfall. Rather, it’s a sequence of events that you are calling waterfall, or pseudo-waterfall. It is somewhat-managed chaos. Like pseudoscience and pseudo-medicine, it’s relation to waterfall is in the name only. Like pseudo-medicine, it is as effective as snake oil, and the game ships because of individual heroics instead of solid management practices. Pointing this out is not a way to make yourself popular.
I think Waterfall actually looks like this:
Requirements — Design — Development — QA — Implementation –Maintenance
Although 99% of game projects run this way with some prototyping thrown in, it’s a bastardization of waterfall methodology because our industry “sort of” creates requirements (GDD) and “sort of” does design – I say that because in 11 years of game development, beyond maybe one good GDD out of all my projects, I’ve never seen high-level, low-level, horizontal or vertical design docs, let alone a software design doc, architecture design, database design or ERD. Asking for these has been fruitless. Maybe pointless too – I dunno. Every designer I’ve interacted with questions the need to write an extensive GDD, and to be honest, I don’t know who is correct on this one. Some studios can do a rudimentary design on paper, jump right into a playable prototype, and make a title that sells a bajillion copies.
Things got hairier when I asked how the posters defined Agile development, and I admit, I stirred the pot a little because frankly, I’ve seen many job postings our industry asking for experience in Agile and Scrum, when no one knows what Agile and Scrum really are.
Finding out just what people know of Agile development methodology is eye-opening. The responses I received when I asked the forum what they thought Agile development comprised of went as follows:
Q: Who is your customer rep is in the bullpen?
A: That’s always the lead engineer leading the scrum team.
Q: How do you implement iterative acceptance testing?
A: We send it to QA, sometimes before Alpha but definitely at Alpha.
Q: How is your information radiator managed?
A: We send out notes of the dailies to everyone by email.
I wish I could say that I was kidding about the responses. So, I pointed out that if the PMs out there are working to a milestone schedule, they’re doing pseudo-waterfall chaos. Picking and choosing items from Agile methodology, like daily stand-up meetings/scrums, might qualify as pseudo-Light Agile Development, but it’s that’s where the resemblance to Agile ends. You’re still doing pseudo-waterfall development, but you believe you’re being “Agile.” I was nice about it, but the result was a lot of forum posters getting negatively excited.
I’ve implemented LAD to some degree in each team and studio I’ve worked in, but it’s only an adaptation to the milestone-based, pseudo- waterfall chaos method for a project that has an alpha, beta and final/submission phase, whether console, PC or mobile. Calling a development process “Agile” does not make it so. It’s time that we man up, admit to ourselves that our development management is chaotic and immature, then fix it. The software development industry did this 20 years ago with the creation of the Capability Maturity Model. Do we need to go that heavy on process? Probably not. But it would be kinda cool if we had a workable process model for our industry. Once our rock star hangover wears off, maybe we can do that.











