Our Properties: Gamasutra GameCareerGuide IndieGames Indie Royale GDC IGF Game Developer Magazine GAO
My Message close
Latest News
spacer View All spacer
 
May 18, 2012
 
Facebook's anemic IPO takes heavy toll on Zynga [2]
 
Gamasutra Classics: Behind the scenes of Tom Clancy's Rainbow Six
 
Could digital sales also be contracting? [16]
spacer
Latest Features
spacer View All spacer
 
May 18, 2012
 
arrow A Personal Journey: Jenova Chen's Goals for Games [3]
 
arrow Predicting Churn: Data-Mining Your Game [7]
 
arrow A Revolution in Sound: Break Down the Walls! [1]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
May 18, 2012
 
Inhance Digital Corp
Technical Services and Tradeshow Support
 
Industrial Light and Magic
Creature ATD
 
FLOAT (hybrid entertainment)
UX/UI Designer
 
Riot Games
Fraud Prevention Manager
 
Inhance Digital Corp
HTML 5 Programmer
 
ArenaNet
Game Recruiter
spacer
Blogs

  Merging Waterfall and SCRUM
by Timothy Ryan on 02/07/12 06:15:00 pm   Expert Blogs   Featured Blogs
5 comments Share on Twitter Share on Facebook RSS
 
 
  Posted 02/07/12 06:15:00 pm
 


Introduction

This article explains how I've managed to marry both forms of scheduling, why I do it, and what pitfalls I've identified.

What is SCRUM?

For those of you who don't know, please read up on it: http://en.wikipedia.org/wiki/Scrum_(development)

This is a more iterative, self-managed workflow designed for fast-paced software development where the tasks and work assignments are not defined until the time-period where features are to be implemented.  It tends to respond better to change and the iterate-until-it's-right mentality of game developers.
 
What is Waterfall?
  
This is the traditional scheduling method where everything is planned up front to the nth detail and all tasks and assignments are pre-determined.  This provides a more predictable end point and resource needs, is easier to see impact on changes, but does not respond well to the often shifting goals and moving targets of game design.

Feature Driven Master Schedule

Any good milestone schedule is feature driven.  A feature is a combination of art, code, sound, design and testing.  It's a tangible, often playable thing.  Using MS Project, work back from the game's alpha (feature complete) date to layout target dates for features. Historical data or the TDD should provide gross man-month estimates for how long these should take.  Err on the side of needing more time.  The SCRUM process should help you refine those dates as you get to them, and if you have a publisher commitment on a feature, you can't always extend the date.  You can use resource leveling, but don't assign names, just resource headcount (programmers, artists, etc.)  This should block out the resources you might need for budget purposes and helps ensure you're not overallocating.  You should end up with a fairly clean MS Project schedule with apparently very little justification for how those dates are calculated.  That's okay.  These are goals or target dates.

Planning Phase SCRUM Sprint

For those new to SCRUM, a SCRUM schedule turns feature descriptions into "stories".  A story is a description of behavior, look and feel from a user perspective.  A big story item (like a game level, multiplayer match type, game shell, etc.) that take many sprints (weeks and months) is called an "epic".  SCRUM is supposed to get a complete backlog of the epics and stories that make up a feature.  At each segment of time, called a "sprint" the team takes a chunk of those stories off the backlog, widdling it down in a process called "burndown".

For the marriage to work between Master Schedule and SCRUM process, you need to form a SCRUM team around a feature and update those target dates in their first sprint, called the Planning Sprint.  This sprint should culminates with a complete plan for implementing the feature - concepts, storyboards, design documentation, and finally a full feature breakdown into stories with gross estimates for each.

Each estimate should be by discipline.  If multiple disciplines are involved in a story, then break it down further.  This usually translates to a few weeks, or one to a fews days of work for one type of individual.  SCRUM method of peer voting on estimating should help keep the estimates from bloating.

Then it should be a simple matter of doing a projected burndown by discipline or using a scope checker of estimates vs. discipline allocation to calculate the new end date.  I do the latter using Excel.  I tend to add some risk padding to their end date to minimize the damage of a slip.

Pitfalls

Iterations & Risks:
You should plan on certain stories being repeated, particularly very subjective ones involving look, feel & fun.  Start those stories as EARLY as possible in development and do as much detail as possible on them in the Planning Sprint to reduce the risk of repeating the work.  Planning on iteration helps you identify when product owners (management) or the team is iterating too much and puts onus on the management to accept an iteration or miss the end date.

Rushing past planning:
You must NOT fail to do a complete feature breakdown and gross estimates for the feature by discipline otherwise you cannot predict the end-date.  Teams HATE doing this, but it makes it much easier to plan each sprint and calculate the end date.  If the estimates are not done by discipline, it could mean that insufficient members of a particular discipline can unexpextedly push out the end date.

Benefits:  

Scope Control: 
The team tries to fit the newly vetted dates within the target dates of the master schedule.  If it does NOT fit, then the negotiation begins on scope or manpower.  Management WILL attack your estimates if it pushes out a date, but because you've done your homework, you can win or come to a reasonable reduction of scope where nobody is killing themselves.  Once the negotiation is over, you'll now have a shield against feature creep or resource stealing.

Accountability: Using SCRUM, the team has determined the work and the end date.  It is now up to them meet that date.  This is where as a manager I don't feel bad asking for a little overtime to keep on target.  If they estimated or executed wrong, it's up to the team to address it.  You signed off on the scope, they signed off on the work and estimates.  If you're not messing with the scope, then they have no excuse.

More Certainty: Lastly, the benefit of this method gives you the best of both scheduling styles - the predictability and defensability of a well-planned waterfall schedule along with the more iterative, plan-as-you-go, rapid-response, fast-prototyping, and self-directed nature of SCRUM.


 
 
Comments

Andy Satterthwaite
profile image
Using MS Project to do that initial planning, and then following up with Scrum through development, is something I've done effectively on medium-large sized projects.

I'm intrigued to know if anyone has done this effectively on small (<4month)

Timothy Ryan
profile image
Andy> I'm intrigued to know if anyone has done this effectively on small (<4month)



Yes. I am doing both. These days I ship over 30 original games a year most with short development cycles. Stacked back to back, a one or two week slip on multiple small games can seriously impact game count. However, the master schedule for these games is not a series of features but a series of games. The SCRUM refines the start and end dates for each small game.

Bruno Aranda
profile image
Using estimations for accountability is not really using SCRUM. Nobody should be held accountable for estimations are they are wrong and optimistic by nature. Estimations are for visibility, to give early warnings about how a project is going... Better than asking to work overtime "as they are accountable for the estimation", you should bribe the team with some nice food to motivate them to work until late. It is all about being positive. Other solutions are a better project alignment with the management or help to improve the estimates. But definitely, SCRUM is a great way to work.

Timothy Ryan
profile image
Bruno > Using estimations for accountability is not really using SCRUM. Nobody should be held accountable for estimations are they are wrong and optimistic by nature.



This could be why video game companies are starting to move away from SCRUM. Rare is the project with open-ended dates.

Bruno Aranda
profile image
SCRUM and closed dates are perfectly compatible, as long as you have a buffer. I think it is the most tradicional resistance and missconceptions about it. Do you get always the release dates with waterfall anyway? Without burning the team with extra hours, that is.

As Mike Cohn puts it in "Agile Estimating and Planning", if you have to catch a plane, the plane won't wait for you - it is a closed time. When you go to the airport, you calculate mentally how long each task will take (driving to the airport, parking, security, etc). You may say that it will take 1 hour to get to the airport, but then you may be stuck in traffic. Any of the tasks make take more time (or less), but it is rare that you miss the plane, because you always allow from some "buffer" time.



You can create a list of must-have issues in the release, and additional percentage of nice to have. You calculate the release date using the estimations for both types of stories. In theory you should get the must-have functionality on there.



Obviously, every team and environment is different, and experiences differ and must be adapted to each team. Obviously big companies is more you case (closed dates all the time), smaller or indie companies are much more flexible with that, and it is common to hear "it will be done when it is done".


none
 
Comment:
 




 
UBM Techweb
Game Network
Game Developers Conference | GDC Europe | GDC Online | GDC China | Gamasutra | Game Developer Magazine | Game Advertising Online
Game Career Guide | Independent Games Festival | Indie Royale | IndieGames

Other UBM TechWeb Networks
Business Technology | Business Technology Events | Telecommunications & Communications Providers

Privacy Policy | Terms of Service | Contact Us | Copyright © UBM TechWeb, All Rights Reserved.