Contents
Top 10 Pitfalls Using Scrum Methodology for Video Game Development
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
November 22, 2009
 
Video Game Watchdog National Institute On Media And The Family Shutting Down [11]
 
Modern Warfare 2 Infinity Ward's 'Most Successful PC Version' Yet [12]
 
New Tech, Design Details Of Project Natal To Emerge At Gamefest In February
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 22, 2009
 
Sucker Punch Productions
Character Artist
 
Sucker Punch Productions
3D Environment Artist
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Texture Artist
 
Sony Online Entertainment
Brand Manager
 
Monolith Productions
Sr. Software Engineer, Engine - Monolith Productions - #113767
 
Crystal Dynamics
Sr. Level Designer
 
Gargantuan Studios
Lead World Designer
spacer
Latest Features
spacer View All spacer
 
November 22, 2009
 
arrow Upping The Craft: Susan O'Connor On Games Writing [6]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part II [6]
 
arrow iPhone Piracy: The Inside Story [48]
 
arrow And Yet It Grows: Analyzing the Size and Growth of the European Game Market [5]
 
arrow NPD: Behind the Numbers, October 2009 [13]
 
arrow Reflecting On Uncharted 2: How They Did It [5]
 
arrow Sponsored Feature: Rasterization on Larrabee -- Adaptive Rasterization Helps Boost Efficiency
 
arrow Postmortem: Wadjet Eye's The Blackwell Convergence [2]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
November 22, 2009
 
Accepting the Inherent Value of Games
 
Planckogenesis, Part II: Song Structure & Gravy Train [1]
 
Designing Games Is About Matching Personalities [1]
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Features
  Top 10 Pitfalls Using Scrum Methodology for Video Game Development
by Paul Miller
22 comments
Share RSS
 
 
July 15, 2008 Article Start Previous Page 2 of 5 Next
 

9. Interrupt what people are doing to have them come to the daily 15 minute stand up meeting.

Schedule the daily 15 minute stand up meeting on everyone's Outlook calendar with a 15 minute reminder, and then the ScrumMaster shows up 2 minutes late and politely waits for those team members who show up 10 minutes late to the meeting.

Question: How does a 6 month project get a whole year behind schedule? Even if you haven't read the book Mythical Man Month, it is common knowledge that the answer is one day at a time. The 15 minute daily huddles are not more important than contiguous hours of concentration and in-the-zone productivity.

Advertisement

Interrupting programmers, a.k.a. "committed pigs" of Scrum, in the middle of something technical, just to make them come to the team room only to ask them "Are you blocked?" is a good way to derail a half day's worth of work as well as derail the entire project. Every day the conversation might go like this:

ScrumMaster: "Are you blocked?"

Engineer: "No, we were just working on making the widgets slide across the screen smoothly by using the first Hermite basis function to interpolate an 'S' shape curve."

ScrumMaster: "Since I'm a non-technical person why don't you say that in English?"

Engineer: "The UI will look cool with smooth animation."

ScrumMaster: "Do you have an estimate for that?"

Engineer: "Tomorrow."

Lesson Learned: The 15 minute daily stand up meeting was supposed to ensure that team members do not spend a day getting sidetracked by tasks that are not important to shipping the product. What if, before there was Scrum, developers had already been through a couple development cycles on various projects and had an established track record of working on the correct tasks and shipping products on time? How does the 15 minute daily meeting correct something that wasn't broken? It doesn't.

Lesson Learned: A 15 minute reminder for a meeting that starts 10 minutes late just wasted 25 minutes of time for everyone on the team. Suppose that after the meeting developers go back to their desks and spend an additional five to 15 minutes to concentrate and focus on what they were doing before the meeting. The time around a 15 minute meeting adds up to about 40 minutes of distractions during an eight hour work day.

This can amount to weeks of man hours in the course of the development cycle. The question here is: was this time well spent? Does this daily meeting accomplish what it is supposed to accomplish, and does the benefit outweigh the cost? Is there a better way to accomplish the same thing, and without consuming the time?

Having the backlog in an Excel spreadsheet separate from the bug database just makes more work for everyone to maintain a to do list in two separate tools. It's obvious that development tasks and defects both have the same kind of data. In other words, database software does not know the difference between a dev task and a defect.

The only difference between a dev task and a defect is that a dev task comes before implementation and a defect is after implementation and includes steps to reproduce it. There should be no reason why dev tasks and defects can not be tracked with the same database, project management tool.

Best Practice: Some development tasks take a couple minutes to complete and some development tasks can take multiple days to complete. Instead of having the same conversation everyday with a Scrum Master, it would be better to put all tasks in a task management database.

The task database needs to have some kind of folder or query mechanism to view which tasks are being worked on today. Each person on the team can have their own folders and the folders can be called "WorkComplete", "WorkInProgress" and "WorkToDoNext". Each team member updates their own folders as they are switching tasks, and when they claim complete on a development task or claim fixed on a bug.

Everyone on the team, from their own machine, can see everyone else's folders, so they can see what other team members are working on. The time estimates or time remaining can also be entered into each task item. If anyone wants to know what team members are doing today, that person can just look at the "WorkInProgress" folders. TestTrack, DevTrack and FogBugz are three commercial off-the-shelf defect-tracking and project-management database tools that have features that can support this.

If you find value in visualizing the Scrum task board or if you still use a Gant chart, consider making a little graphics program that takes everyone's folders and tasks from the database and renders the tasks as nodes (like task cards on the Scrum board) in a directed acyclic graph of task dependencies on a horizontal axis time-line (like a Gant chart).

Then you can use a projector to display the rending on a wall. Imagine you can add little progress-status bars on each task for the hours estimated and hours remaining (like health bars above avatars). You can even have animated effects for when team members are at their desks claiming complete on tasks (like the animation of files going into the recycle bin in Windows Explorer).

Imagine these animated effects will look like a fireworks particle system when you reach 100 developers on a team. Developers whose actual hours closely match estimated hours will receive +3 experience points and completing a cycle will allow them to level up. W00t! Executives will be so entertained to have the real-time visualization of teamwork and productivity that they will forget to play-test the latest build of the game.

Best of all, this electronic Scrum board will scale from small teams of 5 game developers to large teams of 250 game developers. Don't forget to implement smooth-zooming to hyperbolic fish-eye view for large graph visualization (see Google images for those words).

 
Article Start Previous Page 2 of 5 Next
 
Comments

Michael Black
profile image
I stopped reading at "A Game Design Document (GDD) isn't needed anymore"



Anonymous
profile image
"A Game Design Document (GDD) isn't needed anymore" is a pitfall, not a lesson.

Jobe Lloyd
profile image
Its important to keep in mind that Agile and Scrum advocate adapting the process to your particular situation/project as a key component. That said, all lessons learned should be viewed in the light of the project. There are certainly general types of projects, ie games, but I doubt even they can be so easily grouped into a single bucket.

All that said, I have had very contrary experiences and learnings to a number of these learnings, and others seem very on target.

#10 - I think this could be number one, not number 10. Very important

#9 - I think you can see a pretty direct relationship between #5 and #9. If you let daily stand ups turn into status meetings then you have already lost. They are not status meetings, and you those speaking should not be reporting progress scrumaster or Project Manager. They are commitments to the rest of your team, in front of the team, to achieve the current sprint. No electronic tracking will every replace face to face interaction about what an individual is doing to make the team succeed, in my opinion.

#8 - Interesting approach, very cool if you can pull it off.

#7 - pretty straight forward, as long as the person is not compromising the sprint by pulling tasks from beyond it and neglecting tasks they could do in the sprint

#6 - This one is kind of a mess, you are talking about QA and process management in one item. They are seperate things. Integrating QA from the start is a HUGE win, 100% agree there. But I dont see where the "Decide that your Scrum stories and sprints are 100% completed months before" comes from, thats very un-agile. You should know that you cant possibly plan 100% of your stories months in advance, thats why you break them down as you get closer to their delivery (Epics/Themes/Stories).

#4 what? again a confusing entry. Of course scrum is just a tool in the toolbox, it shouldn't necessarily be mandatory for every process in the company. But then you switch to management feedback...kind of lost me there. Management feedback is important but whats that got to do with scrum being mandatory?

#3 - good point. We frequently employed design stories that were intented to guide future stories (in and outside the current sprint) to help solve this. Also employing XP in conjunction with Scrum helps here.

#2 sounds good

#1 kind of the same as #10...but agreed


Interesting read, thanks!

-jobe

gfsd gfsz
profile image
Wow, that really reminds me of just how bad the games industry can be.

Have you actually have a book describing Scrum, Agile or XP? Just one? Perhaps read a few more before applying it.

I think you need to think about the roles on the team, perhaps consider designer to be a customer. The customers generate user stories and the programmers generate the tasks for the back log. Often games design docs are fully of designers supposed technical information that is useless. This really cuts down the ammount of work the designer has to do.

Chris Osborn
profile image
Actually, spreadsheets do have multiplayer mode. It's called Google Docs. We use it for collaborative spreadsheeting a lot and it's pretty damn cool.

Shane Neville
profile image
I personally feel really bad for Paul Miller and his poor experiences with Scrum. It's like reading "Spike TV Presents: When Good Scrum Goes BAD!"

With 9 non-Scrum games and 1 Scrum game under my belt (and another on the way), I am a firm believer that when Scrum is done right it results in higher morale, better games less risk and less overtime.

Every single problem mentioned (yes, all 10) come from a misinformed and improper implementation of Scrum and not adhering to the principals of Scrum and Agile development.

Scrum doesn't stop bad managers from being bad managers. No project management system in the world can do that.

Paul - it would be very interesting if you took a couple of nights and read "Agile Software Development With Scrum" by Schwaber/Beedle and reflected on your experiences with Scrum to see how they lined up.

Chris Osborn
profile image
I agree with Jobe, you cannot and should not replace face-to-face scrum meetings with databases. If the answer to the question "What I am going to do today?" was just that, a database could work. But as Clinton Keith points out, that question is actually "What are you committing to finishing for the team by the next time we meet?". Promising work done (and delivering the next day) in front of your teammates is extremely motivating. I have however seen electronic scrum databases work just fine, but only with the team physically meeting and updating it together.

Chris Osborn
profile image
Link for the Clinton Keith post...
http://www.agilegamedevelopment.com/2008/06/daily-scrum-question-2.html

Clinton Keith
profile image
Good article! I had some lengthy comments, so I posted them on the Agile Game Development blog:

http://www.agilegamedevelopment.com/2008/07/feedback-top-10-pitfalls-using-scrum
.html

Clinton Keith
profile image
Thanks Chris!

James Wiggs
profile image
Great Article!

Scrum is a tool, nothing more and it always takes great people to make great games. It only takes "weak" management or "feature creep" to destroy milestones.

Anonymous
profile image
At the core of the process is adaptation. Perhaps you would be served spending more of your time assisting your colleagues in adapting these methodologies to fit the needs of the team and less time writing long-winded treatises on what you perceive to be their shortfalls. A refusal to be flexible (or even participate) puts the process - and potentially your project - on the fast track to failure.

You have to adopt processes before you can adapt them.

Fernando Angelico
profile image
'I stopped reading at "A Game Design Document (GDD) isn't needed anymore"'
sad ,because the article tells the exact opposite

Tim Carter
profile image
Yah, this is all fine. But remember that what you're making is more important than the process by which you make it. If you arrive at a place where, for whatever reason, some people are doing nothing or waiting for others, you may very well need to be there.

Again, game development needs to be treated as an entertainment industry devoted to creating projects - not as a conventional operating business, focused on maximizing efficiency. Efficiency isn't the aim - effectiveness is. You can efficiently make a piece of garbage (it happens all the time).

Clinton Keith
profile image
Agreed, esp. effectiveness over efficiency. "Slack" by Tom DeMarco is my favorite books on this topic.

Etienne Christophe
profile image
Funny how the first to stop reading is the first to comment :)

And his comment was completely erroneous.
There's a lesson in there somewhere...

Etienne Christophe
profile image
Whoops, hit submit too early (a lesson there, too?)

The problem with software process critiques is that a software process is like a user interface. Everyone *thinks* they know the best way to do something. As a TD, I'm more interested in what works.

I usually find case studies on successful projects much more useful than top 10 lists. I like to hear a real story of how a successful project came to pass, rather than "this sucked", or "this was great".

Every organization has it's own context. I can imagine an environment where all 10 of these pitfalls were actually beneficial. If you can't, you haven't been around long enough :)

Diogo Neves
profile image
I don't know much about Scrum but it looks like the problem here is that the management team are using a reactive approach and expecting a proactive attitude from their team.

In other words, they are assigning tasks to individuals and waiting for them to know by themselves what to do next. Because in the first place they (workers) have to wait for management team they'll start to adopt that behavior.

Just an opinion ;)

Jay Brown
profile image
Excellent article, Paul.

It’s true that I can’t address Agile and Scrum methods to any real degree, as I’ve only a cursory understanding (I bought the books, etc – never actually on a project).

Nonetheless, I have been part of the game industry for a long time. So, like Mr. Christophe I have seen it done six ways from Sunday. I have spent years working with producers, designers, and engineers (artist too, but mostly the ones with the more nebulous interactions) in attempts to figure out best methods. Hmmm. I think I might be the guy that rolls his eyes every time I hear some “can’t plan a thing” wack-a-mole start talking about lack of communication. To me this is often more indicative of those not well versed in the job. Don’t get me wrong, please. I don’t want to be negative, or slight the strengths of any particular methodology. But that’s just it, some methods work better with certain sorts of development/developers, perhaps even based on genre or pre-existing technologies. I agree with the general consensus here (Grassroots, good stuff!). If you have a good idea and great people, and you can stomach microsoft project, then you have a chance at success (I'd like to think there’s some out there that can do it with postit notes). Mediocre staff, or vision/leadership, and all the scummin’ in the world won’t help. Anyway, your suggestions are forged from real world experiences. So even if these methods are a response to “those not managing scrum correctly”, they are valuable bits of knowledge for that very reason.

Drew Miller
profile image
I like the "Agile is a toolkit" thinking. I have tremendous respect for people and places that are trying to improve their work-flow. It's always gonna be a risk, somethings are going to fit, others ain't. I found this article very beneficial.

Jack Crow
profile image
Let's counter some of these "complaints" that are just plain bad implementations of Scrum methodology.

10. Nowhere does Scrum say that a GDD isn't used. Features and tasks are not Design specific, they are planned goals. If you need to collaborate there is a perfectly good way to get lots of people on a single document, and lots of crappy but "good enough ways". This is a failure to research collaboration tools or to read up on Scrum methodology.

9. Scrum meetings dont have to take place away from the developer's stations. A phone and a shared desktop view is more than enough for each station. In the end, people being late has to have consequences for there to be incentive to attend. Some take a soft hand to it, I always suggest a hard stance. It's a business requirement and making the product owner wait for a demo meeting versus making your team wait to start a scrum meeting needs to have the same impact. If you can't stomach that in the early stages, we'll replace you. You agree to come in to work every day, you better be on time when it counts and nap after, we have a couch.

7. Scrum tasks should be continually updated by the Scrum Master. It's a role with RESPONSIBILITIES. If the scrum master says he's creating a task, that should be good enough to start. Again, it's a matter of not being a dick about process. If you're gonna be a problem, you're gonna be replaced. If the task never gets made, add it to the story of the next task you work on. Documenting what everyone does is part of scrum.

5. This is exactly what most scrum meetings are. This is a Good Thing(tm), since it brings up issues commented on in later points as a complaint "where do we talk about this". Daily Scrum meetings is where. Once you see adherence to documenting whatever is said in the scrum meetings, just have the members mention the feature, task, and that's it. Joe: FEAT-31, task 2. Started FEAT-31 task 4 and 5. The Scrum Master should be reading through the task notations. All of them. Welcome to 50% focus factor OR LESS.

3. Design is not the scrum's concern. They are handed that BEFORE starting (Sprint 0). The fact that the features are obviously incomplete or not planning for the future is something you bring up during sprint planning. "We're not going to do FEAT-52 because xxxx was not thought of." as you pull things from the backlog and leave others behind and either the product owner revises, adds, rethinks FEAT-52 for next sprint, or replaces a member with some schmuck who will do it and that's a choice members have to make. Product owners make the decisions, developers implement them. If you wanna design games, change your job title.


As teams grow, you simply create scrum hierarchy with scrums of scrums. This is how Microsoft created the MSN AdCenter and a number of other products.

The primary problem with SCRUM is where Bugs fall into the work flow and how to categorize, prioritize, and handle them. Most people assume QA is handled outside of sprints which is terrible. Concurrent QA is necessary from the start.

Andy Trowers
profile image
@Jack Crow

Maybe I'm misunderstanding you here, but I disagree that design is not the scrum's concern.

One of the strengths of scrum is that each of the team members has an input into the design and therefore has increased buy-in into what they are creating. Sure there should be a high level design for each area of the game so that you have an overview, but the design for each area should be fully fleshed out by the team assigned to work on it in conjunction with the lead designer at the start of a sprint. This leads to greater motivation from team members and a fuller understanding of the overall area they are working in.

Agreed with your last point about QA though and about scrum masters being at about 50% focus.


none
 
Comment:
 


Submit Comment