<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-11401971</atom:id><lastBuildDate>Fri, 05 Sep 2008 18:44:29 +0000</lastBuildDate><title>Agile Game Development</title><description>Topics on applying Agile Methodologies to game development.</description><link>http://www.agilegamedevelopment.com/blog.html</link><managingEditor>Clinton.Keith@gmail.com (Clinton Keith)</managingEditor><generator>Blogger</generator><openSearch:totalResults>127</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-6681997773910548176</guid><pubDate>Fri, 05 Sep 2008 18:11:00 +0000</pubDate><atom:updated>2008-09-05T11:44:29.027-07:00</atom:updated><title>Player roles and user stories</title><description>Many game development projects don’t put much thought into the various kinds of players who buy the game.  They usually add three levels of difficulty towards the end of development as a means of adding replay-ability and accommodating a range of player skills.  The levels are differentiated by a simple scaling of challenges in the game such as the number of opponents, the damage from their hits or the damage your hits cause.  This reflects the amount of effort we think it’s worth.&lt;br /&gt;&lt;br /&gt;Would we benefit from considering a broader range of players and placing more importance in their roles throughout development?  Some games do this, especially some online games.  An example is the popular Battlefield games which allow players to equip themselves based on  specialties.  If you are not familiar with the games or the specialties, they are usually divided across these roles:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Assault specialist - Equipped with an assault weapon and grenades for close quarter combat.&lt;/li&gt;&lt;li&gt;Sniper - Carries a high power sniper rifle and a sight that can they can use to call in precision strikes.&lt;/li&gt;&lt;li&gt;Engineer - Has  a bazooka, mines and can repair vehicles.&lt;/li&gt;&lt;li&gt;    Special forces - Carries a light automatic weapon and C4 explosives for sneaking around behind enemy lines causing problems.&lt;/li&gt;&lt;li&gt;Support - Totes a heavy automatic weapon and a radio to call in mortar strikes.&lt;/li&gt;&lt;/ul&gt;These specialties require different behavior from each player who assumes each role.  They aren’t as limited as difficulty levels because players can try each specialty in any order and with any skill level.  These specialties cannot be added at the end of development.  They need to be developed somewhat in parallel during preproduction.  They have an impact on level design and should be added well before production starts.&lt;br /&gt;&lt;br /&gt;User stories provide a mechanism for identifying these roles and clearly communicating features related to each.  The template for user stories I like is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“As a &lt;&lt;user&gt;&gt;, I want &lt;&lt;goal&gt;&gt; [so that &lt;reason&gt;].”&lt;br /&gt;&lt;br /&gt;&lt;/reason&gt;&lt;/goal&gt;&lt;/user&gt;&lt;/span&gt;A good method for identifying and differentiating goals is to phrase the user story in terms of those roles.  So instead of saying:&lt;br /&gt;&lt;br /&gt;"As a player, I would like to have a bazooka so I can blow up tanks"&lt;br /&gt;&lt;br /&gt;the story becomes:&lt;br /&gt;&lt;br /&gt;"As an engineer, I would like to have a bazooka so I can blow up tanks".&lt;br /&gt;&lt;br /&gt;What's the difference?  It's mainly one of value and priorities.  For a generic player, the bazooka is one of a host of weapons, many of which are more important to the game.  However for the engineer, the bazooka is probably the most valuable weapon.  I wouldn't play the engineer without it.  There's nothing more gratifying than taking out a tank with a well placed shot.&lt;br /&gt;&lt;br /&gt;Even if your game isn't going to have specialties, like Battlefield, there is a lot of value in brainstorming the various roles of players early in development.  Who is buying your game?   Are you going after a largely casual market?  If you are, it would benefit you to identify the "casual player" role in some of your stories.  It will lead to many small decisions such as simplifying the controls or adding more checkpoints so the casual gamer doesn't become frustrated.</description><link>http://www.agilegamedevelopment.com/2008/09/player-roles-and-user-stories.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-5884868005183004021</guid><pubDate>Tue, 02 Sep 2008 18:16:00 +0000</pubDate><atom:updated>2008-09-02T11:21:09.493-07:00</atom:updated><title>How Pixar Fosters Collective Creativity</title><description>HBR is posting the &lt;a href="http://www.hbsp.harvard.edu/hbsp/hbr/articles/article.jsp?ml_action=get-article&amp;amp;articleID=R0809D&amp;amp;ml_issueid=null&amp;amp;ml_subscriber=true&amp;amp;pageNumber=1&amp;amp;_requestid=76919"&gt;article&lt;/a&gt; free for a short period of time. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;What's equally tough, of course, is getting talented people to work effectively  with one another. That takes trust and respect, which we as managers can't  mandate; they must be earned over time. What we can do is construct an  environment that nurtures trusting and respectful relationships and unleashes  everyone's creativity. If we get that right, the result is a vibrant community  where talented people are loyal to one another and their collective work,  everyone feels that they are part of something extraordinary, and their passion  and accomplishments make the community a magnet for talented people coming out  of schools or working at other places. I know what I'm describing is the  antithesis of the free-agency practices that prevail in the movie industry, but  that's the point: I believe that community matters.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thanks to Clarke Ching for pointing to the article.</description><link>http://www.agilegamedevelopment.com/2008/09/how-pixar-fosters-collective-creativity.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-6260435779852300258</guid><pubDate>Tue, 02 Sep 2008 16:04:00 +0000</pubDate><atom:updated>2008-09-02T14:39:15.936-07:00</atom:updated><title>Overtime works with waterfall?</title><description>Many Scrum teams have found that &lt;a href="http://www.agilegamedevelopment.com/2008/06/scrum-overtime.html"&gt;excessive overtime reduces productivity&lt;/a&gt;.  The frequent inspection of work done on a daily basis makes measuring productivity far easier with Scrum.  One of the reasons for this is that a Scrum team can adapt their practices and see what effect those changes have on their effectiveness.&lt;br /&gt;&lt;br /&gt;Jeff Sutherland &lt;a href="http://jeffsutherland.com/scrum/index.html"&gt;reports&lt;/a&gt; that one of the companies he coaches has measured the productivity of teams using Scrum and waterfall-like practices under different overtime conditions.  They produced a graph they call the Maxwell curve:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/uploaded_images/maxwellcurve-705860-749854.jpg"&gt;&lt;img style="cursor: pointer;" src="http://www.agilegamedevelopment.com/uploaded_images/maxwellcurve-705860-749845.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is hardly a scientific study (e.g. I'm real curious about how they measure story point velocity in a waterfall environment) but it is a very strong visual argument for what is intuitive about how people work:&lt;br /&gt;&lt;br /&gt;- Teams of people who take ownership of their work and make a commitment are more productive, but this high level of productivity cannot be sustained for 60 hours a week.&lt;br /&gt;&lt;br /&gt;- When people are treated like cogs in a machine (handed estimated tasks that have to be completed to a predetermined schedule), they can indeed produce more at 60 hours a week that 40.  However the productivity of cog teams is not nearly as high as committed teams because their intensity is not nearly at the same level.&lt;br /&gt;&lt;br /&gt;Think of a runner sprinting and a jogger.  The sprinter will be faster, but cannot maintain that pace as long as the jogger.&lt;br /&gt;&lt;br /&gt;The question is "who covers the greater distance?".  Does the team that "jogs" go farther in 60 hours than the team that "sprints" for 40?  Maybe, but which is sustainable?  Which team would you rather be on?  Also, is it the same progress?  Consider Jeff's comment on overtime with waterfall:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Overtime doesn't work in waterfall. It introduces technical debt. It works short  term for the project leader as long as no one discovers he is damaging the code  base. Velocity gets slower and slower with overtime but it may be years before  management realizes they have to pay for the technical debt. By then the project  leader has been promoted.&lt;/span&gt;</description><link>http://www.agilegamedevelopment.com/2008/09/overtime-works-with-waterfall.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-1752150297848238106</guid><pubDate>Mon, 01 Sep 2008 17:51:00 +0000</pubDate><atom:updated>2008-09-01T13:40:44.420-07:00</atom:updated><title>Jidoka, TDD and asset validation</title><description>&lt;span style="font-weight: bold;"&gt;Jidoka&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Jidoka is a Japanese term used at Toyota which means "automation with a human touch."&lt;br /&gt;&lt;br /&gt;It's origins lie in the early philosophy of Toyota (at the time it was called Toyoda).  Part of this  philosophy was to minimize labor costs by reducing labor waste.   A example is the creation of "Type-G automated loom" in 1924.  Before then, each loom was watched for thread breakage by a single operator.    If a broken thread wasn't caught quickly, it would ruin an entire run of cloth.  The entire process was very wasteful in operator time (90% waiting) and ruined cloth.&lt;br /&gt;&lt;br /&gt;The innovation of the type-G loom is that it would automatically stop whenever the thread broke.  This allowed a single operator to support dozens of machines and virtually eliminated bad production runs of cloth due to broken threads.  Quality went up.&lt;br /&gt;&lt;br /&gt;When Toyota started making cars, the philosophy of Jikoda was carried over to the manufacturing process.  On the Toyota factory floor, a problem can potentially stop the entire line until it is fixed.  Once the fix is identified, the standard process is improved to prevent a recurrence of it in the future. &lt;br /&gt;&lt;br /&gt;The following diagram shows the Jikoda flow&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/uploaded_images/jidoka-760940.jpg"&gt;&lt;img style="cursor: pointer;" src="http://www.agilegamedevelopment.com/uploaded_images/jidoka-760932.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TDD&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Those of you using &lt;a href="http://www.agilegamedevelopment.com/2007/12/pair-programming.html"&gt;TDD (Test Driven Development)&lt;/a&gt; should recognize this flow. Unit tests are introduced for every function in the codebase.  These unit tests provide validation of those functions that are run when changes are integrated into code base (by a &lt;a href="http://en.wikipedia.org/wiki/Continuous_integration"&gt;continuous integration &lt;/a&gt;server).&lt;br /&gt;&lt;br /&gt;When we discover a bug, we must solve it immediately or end up stopping the line (stopping the commits).   When the bug is identified, a fix &lt;span style="font-weight: bold;"&gt;and&lt;/span&gt; a unit test, to catch further recurrences of that bug, are checked in and work continues.&lt;br /&gt;&lt;br /&gt;Why solve bugs immediately?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Bugs can cause the entire team to lose work.  A build that crashes can waste hours of work  across the entire team.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Bugs cost the least to fix immediately after they are created.  Bugs fixed months later in "alpha" can cost 10-100 times more.&lt;/li&gt;&lt;/ul&gt;The practices for TDD are well established.  Tools like &lt;a href="http://en.wikipedia.org/wiki/CruiseControl"&gt;Cruise Control&lt;/a&gt; allow an easy integration of TDD into any development environment. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Asset Validation Jikoda-style&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What we need are similar tools and practices for a version of asset TDD.&lt;br /&gt;&lt;br /&gt;Unit testing for assets should:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Catch assets which break the build&lt;/li&gt;&lt;li&gt;Catch assets with naming convention errors&lt;/li&gt;&lt;li&gt;Catch assets which violate budgets (texel density, memory footprints, poly counts, bone counts, etc).&lt;/li&gt;&lt;li&gt;Identify and track approved assets versus unapproved assets that need art lead approval&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Bad assets are another form of debt, like bugs.  They cost more to fix later.  A more automated approach to checking assets will help keep this debt, which is waste, low.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I've always been on teams that do some of these steps, but they weren't complete and they were always implemented later than they should have.   It would be great to have some more standardized tools.  Hey Autodesk!.....</description><link>http://www.agilegamedevelopment.com/2008/09/jidoka-tdd.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-3060091144597496733</guid><pubDate>Fri, 29 Aug 2008 22:49:00 +0000</pubDate><atom:updated>2008-08-29T15:50:28.227-07:00</atom:updated><title>Should the Scrum Master also be a member of the team?</title><description>This question is raised frequently.  I prefer that a Scrum Master (&lt;span style="font-weight: bold;"&gt;SM&lt;/span&gt;) not be a member of the team, but this is not a strict rule of mine.  An SM as team member can create problems:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    A focus on their own tasks over the team issues.&lt;/li&gt;&lt;li&gt;    Prioritizing their own impediments over those of other team mates.&lt;/li&gt;&lt;li&gt;    It can impede team ownership through the “Scrum Master as Team Lead” anti-pattern.&lt;/li&gt;&lt;/ul&gt;These problems are usually created subconsciously, but they do create barriers to team commitment.  Sometimes there is no choice but to have the SM be a member of the team.  There may not be enough teams for the SM to fully occupy their time.  An SM can handle 3-4 teams before it starts becoming a full time job (your mileage may vary).&lt;br /&gt;&lt;br /&gt;If the SM has to be a member of the team, keep an eye out for these problems.  Raise them in the retrospective.  It’s not easy, but it has to be done.  One great way to overcome this is to rotate SM duties.  If your current SM is the only one certified or experienced, they should coach the other people who rotate into the role.&lt;br /&gt;&lt;br /&gt;Rotating the SM role has many benefits.  Team members appreciate and understand the role much better after trying it.</description><link>http://www.agilegamedevelopment.com/2008/08/should-scrum-master-also-be-member-of.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-7339467832265502034</guid><pubDate>Wed, 27 Aug 2008 16:42:00 +0000</pubDate><atom:updated>2008-08-27T09:53:13.172-07:00</atom:updated><title>Survey - When and where to hold next CSM class?</title><description>I've received many requests for another 2 day "Certified Scrum Master for Video Game Developers" class (the one in Austin last May filled up).&lt;br /&gt;&lt;br /&gt;So I'd like to collect a your opinions about when and where to hold the next class.  If you are interested in attending one of these, please answer a few questions in the short survey below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.surveymonkey.com/s.aspx?sm=pmx_2fEGnfgEtiIlk9QNg9pg_3d_3d"&gt;Click Here to take survey&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks!</description><link>http://www.agilegamedevelopment.com/2008/08/survey-when-and-where-to-hold-next-csm.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-8087376497400874999</guid><pubDate>Tue, 26 Aug 2008 20:21:00 +0000</pubDate><atom:updated>2008-08-26T22:51:39.257-07:00</atom:updated><title>Agile values - Individuals and interactions over processes and tools - Part 2</title><description>&lt;span style="font-style: italic;"&gt;Question: How does a large software project get to be one year late? Answer: “One day at a time!” - Fred Brooks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Our processes and tools to manage ever growing projects have built up over decades.  Large teams have driven the creation of hierarchies of management. Project schedules and design documents attempt to predict every requirement and task necessary to make a fun game now require expensive databases to manage.  All of these are considered necessary to tackle the complexity the rise from having upwards of a hundred people working on a project for years.&lt;br /&gt;&lt;br /&gt;Game development requires developers of widely different disciplines.  Take for example a cutting edge AI character that needs to walk around an environment and challenge the player in the game.  The creation of this character requires the participation of animators, designers, character modelers, texture artists, programmers audio composers among others.&lt;br /&gt;&lt;br /&gt;It’s important that these disciplines collaborate as much as possible to be the most effective.  If the animator is experiencing a problem with the animation technology, then it is important for them to work with a programmer as quickly as possible to address the problem so they can continue working.  Often the processes and organization will prevent that.  In our example with the animation bug, the programmer may be working on a series of tasks that were assigned by a lead.  This may prevent that programmer from helping out the animator without permission from their lead.  This leads to a chain of conversation as shown in the following figure:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/uploaded_images/ch2-hierarchy-730714.jpg"&gt;&lt;img style="cursor: pointer;" src="http://www.agilegamedevelopment.com/uploaded_images/ch2-hierarchy-730710.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;The animator has to pass the request up through the chain of command which then has to make it back down to a programmer who can solve the problem.  In this example, the change involves five people and four requests!  This flow is prone to failure and delay.&lt;br /&gt;&lt;br /&gt;So what has been described?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    Over 100 people of various disciplines on one team.&lt;/li&gt;&lt;li&gt;    Thousands of unpredictable problems that can introduce wasted time and effort&lt;/li&gt;&lt;li&gt;    Detailed plans and tools to manage them that can’t predict these problems and are potentially inflexible at changing.&lt;/li&gt;&lt;li&gt;    Hierarchies of management that can lead to further waste.&lt;/li&gt;&lt;/ul&gt;Agile can address these issues from the bottom up.  This is a major benefit from self-managing teams.  They self-manage the smallest level of details, not necessarily the highest levels.  They aren’t self leading teams.  They unburden leadership of the role of managing minor details.  They allow leadership to focus on the big picture.&lt;br /&gt;&lt;br /&gt;When teams learn that they can take a small amount of ownership to solve the smallest problems, they start taking on larger problems.  They begin to ask for more ownership in other areas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    In creating better teams that can solve more problems by reducing external dependencies.&lt;/li&gt;&lt;li&gt;    In demanding more of themselves to achieve commitments they own.&lt;/li&gt;&lt;li&gt;    By identifying risks early and addressing them before they become problems at all.&lt;/li&gt;&lt;li&gt;    By growing leaders among their own ranks.&lt;/li&gt;&lt;/ul&gt;Agile values are preferences and not binary decisions.  We can still have process and tools to support the team, but we value individuals and interactions more to solve most of the problems that occur on a daily basis.</description><link>http://www.agilegamedevelopment.com/2008/08/agile-values-individuals-and.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-7190337604497004612</guid><pubDate>Tue, 26 Aug 2008 19:56:00 +0000</pubDate><atom:updated>2008-08-26T12:59:19.401-07:00</atom:updated><title>Scrum Rising article posted</title><description>I've posted my February 2007 Game Developer Magazine article "Scrum Rising" &lt;a href="http://www.agilegamedevelopment.com/Articles/ScrumRising.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's an overview of applying Scrum to game development.</description><link>http://www.agilegamedevelopment.com/2008/08/scrum-rising-article-posted.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-7514968333120409256</guid><pubDate>Mon, 25 Aug 2008 15:52:00 +0000</pubDate><atom:updated>2008-08-25T08:53:42.977-07:00</atom:updated><title>Scrum makes you smarter</title><description>&lt;a href="http://jeffsutherland.com/scrum/2008/05/scrum-makes-you-smarter.html"&gt;http://jeffsutherland.com/scrum/2008/05/scrum-makes-you-smarter.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"Recent research shows that people who work in command and control environments actually lose a significant number of points on their IQ. They get stupider."</description><link>http://www.agilegamedevelopment.com/2008/08/scrum-makes-you-smarter.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-4091387452314793324</guid><pubDate>Mon, 25 Aug 2008 00:22:00 +0000</pubDate><atom:updated>2008-08-24T17:24:00.906-07:00</atom:updated><title>Agile values - Responding to change over following a plan</title><description>“Plans are nothing.  Planning is everything” - General Eisenhower.&lt;br /&gt;&lt;br /&gt;When the allies stormed the beaches of Normandy in 1944, they had a very detailed plan of attack.  This plan led to their assumed victory over Germany before Christmas of that year.  That plan was doomed from the start.  How could it be otherwise?  How could a plan for hundreds of thousands of soldiers, millions of pounds of supplies and thousands of missions all work out according to a plan on paper?  Eisenhower knew it wouldn’t.  That’s why there were always contingencies.  That’s why the allies were always adjusting the plan based on the reality of the emerging battles.&lt;br /&gt;&lt;br /&gt;Agile project management follows similar reasoning.  A popular misconception about agile is that it doesn’t allow for plans.  This isn’t true.  Agile focuses on the activity of planning rather than focusing on a fixed plan.  A certain amount of knowledge about any project is going to be well known.  Just as the allies knew the location of the beaches they were going to land on, a game development project will begin with quite a bit of knowledge about the genre and market targets for the game to be developed.  It is necessary to plan for these things and to share that plan.  The problem occurs when the planning goes too far.  I’ve seen a game design document for a fantasy shooter game that had the bullet count for each of the clip types of every weapon.  How can we know how many bullets per clip we should have in a game?    Why do we need to plan for that detail before we have the knowledge of what we need?  This is an example of the source of problems that detailed plans can create.  If the team sticks to the detailed plan, then it won’t be the best game possible.  Great game emerge.&lt;br /&gt;&lt;br /&gt;The agile approach is to plan for what is known and to execute against what is not known iteratively.  In other words, agile is focused on gaining knowledge.  If we don’t know how many bullets in a clip or what type of weapons will be the most fun, we don’t try to plan away that uncertainty on paper.  We address it head on by building weapons early and learning what is best.&lt;br /&gt;&lt;br /&gt;Many elements of a plan are assumptions.  We assume the things that we put into a game design document are going to contribute to a hit game.  Some of these assumptions are correct, some are not.  By implementing and testing these assumptions, we change some of them.  We then alter the plan to create a better game.</description><link>http://www.agilegamedevelopment.com/2008/08/agile-values-responding-to-change-over.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-1849197450222370308</guid><pubDate>Sat, 23 Aug 2008 17:00:00 +0000</pubDate><atom:updated>2008-08-23T10:17:05.739-07:00</atom:updated><title>Looking for a great programmer who does TDD?</title><description>A former co-worker.  Very talented and only interested in a US game developer who embraces agile &amp; TDD. Highly recommended. &lt;a href="mailto:clint@clintonkeith.com"&gt;Contact me&lt;/a&gt;.</description><link>http://www.agilegamedevelopment.com/2008/08/looking-for-great-programmer-who-does.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-7977438923594055831</guid><pubDate>Thu, 21 Aug 2008 21:53:00 +0000</pubDate><atom:updated>2008-08-21T15:03:44.535-07:00</atom:updated><title>Iterations and vertical slices</title><description>Any game developed using agile makes progress using iterations.  The goal of every team for every iteration should be to make progress by adding value to the game or pipeline for a customer.  This might be a the improvement to a core feature for the player who buys the game or a function for the animator using the asset pipeline or a tool.&lt;br /&gt;&lt;br /&gt;Iterations (or Sprints) are like mini projects by themselves.  They often include design, coding, asset creation, tuning and debugging.  However we are not always producing full vertical slices of a game every iteration.  We’ll use a an example of what we might deliver for a team which is focused on creating AI behaviors: One of the most difficult aspects of AI behavior is navigation in a complex environment.  The AI logic has to identify objects that will prevent the NPC from moving and calculate a path around them.   Throw in some other moving characters and objects and the problem can become very complex to solve.  Navigation can become the most riskiest problem to solve AI and therefore one the the riskiest problems to solve for the entire game.&lt;br /&gt;&lt;br /&gt;Naturally we would want to solve the navigation problem as early as we could.  The problem with doing this work early is that other related systems such as character animation and physics might not be developed enough to support the sprint goal of having a polished AI character walk through a complex environment.  In this case, the iteration goal for the team might be to demonstrate simple cylinders navigating a complex test environment.&lt;br /&gt;&lt;br /&gt;Does this solve all the risk associated with AI characters navigating complex environments?  No.  It probably addresses a big part of the problem, but there may be other problems that show up when progress is made with the animation and physics.   The benefit is that those systems will have some basis to work against.  If we find that our cylinders have problems navigating up stairs, then that might influence animation and physics work over the upcoming iterations. &lt;br /&gt;&lt;br /&gt;It's a much more intractable problem when you discover your nicely animating AI character can’t climb the stairs that are duplicated in every level.&lt;br /&gt;&lt;br /&gt;Iteration goals are prioritized based on value, cost, risk and knowledge.  Addressing high risk and creating knowledge sometimes drives the highest priority stories on the backlog.  A Product Owner has to understand the risks of the project as well as the value of the features when prioritizing.</description><link>http://www.agilegamedevelopment.com/2008/08/iterations-and-vertical-slices.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-2690795529890047647</guid><pubDate>Wed, 20 Aug 2008 22:30:00 +0000</pubDate><atom:updated>2008-08-24T17:24:53.077-07:00</atom:updated><title>Agile values - Individuals and interactions over processes and tools</title><description>The agile manifesto defines four values that the criteria for any method which calls itself "agile".  I'm going to cover the ideas behind each:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Individuals and interactions over processes and tools&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Back in the early days of mass-production, when companies like Ford were discovering the efficiencies of assembly lines, the theories of Fred Taylor were being applied in factories.  These theories were based on the idea that complex jobs, such as assembling a Model-T car, could be performed by relatively unskilled and cheap labor if each step in the assembly line was broken down to a simple job that could be standardized.  Workers were considered to be interchangeable cogs in a large machine.&lt;br /&gt;&lt;br /&gt;Though “Taylorism” has been discredited, many management practices are still based on the idea that as long as a well defined process and set of tools exist, then the work that can be done by a group of people can be predicted and defined up front.  Workers are considered “fungible” or replaceable and anonymous on a large project plan that attempts to predict what each part of the whole will take a worker to complete.  Managers find comfort in this.  As long as people and hours are are interchangeable, then we can play with the amounts of each to achieve predictability.  This idea has been disproved for decades.  It was the basis of Fred Brooke’s book “The Mythical Man Month” in the sixties.  People and months are not interchangeable.&lt;br /&gt;&lt;br /&gt;This is why agile values individuals and interactions over processes and tools.  Teams of people make games.  Artists, programmers, designers and testers all have to communicate to be the most effective.  Collaboration and shared vision are key to great teams.  Tools and process are still important, but they can’t replace this.&lt;br /&gt;&lt;br /&gt;So why do we cling to this idea?  Because it’s easier.  Process and tools, interchangeable hours and people, spreadsheets that are meant to be crystal balls only require management.  Collaboration and shared vision is harder.  They requires leadership.  Leadership is harder than management.</description><link>http://www.agilegamedevelopment.com/2008/08/individuals-and-interactions-over.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-3589645293896945913</guid><pubDate>Tue, 19 Aug 2008 16:35:00 +0000</pubDate><atom:updated>2008-08-19T10:24:01.967-07:00</atom:updated><title>Production Debt</title><description>Have you ever seen a schedule for a game project that picks a day for production to begin?  I think I've seen that on every project.  Some day is chosen, a year or so in advance, and you have to start creating "production assets (levels usually)" on that day.  I've never liked it and it's never worked out very well.&lt;br /&gt;&lt;br /&gt;The problems are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Teams never transition from pre-production to production as if a switch were thrown.  Different asset types transition at different rates.  E.g. we may have level production down, but our animation system is still lagging.&lt;/li&gt;&lt;li&gt;Where does this date come from?  How do we know how much time we need for pre-production, and more importantly how do we know how much time we need for production, especially when we have a fixed ship date?  How do we know if the time slot we're giving ourselves is enough so that we don't paint ourselves into a corner?  How many times have you entered a nine month production phase with 12 months of work to do?&lt;/li&gt;&lt;li&gt;What are the criteria for determining we CAN be producing assets?   The date comes and we have to be in production, so we usually tell ourselves and our publishers "sure...we're in production!  All those assets you see there are really production assets that aren't done...yeah".  You're still iterating to find the fun and you can't iterate as much in production!&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Measuring Production Debt in Preproduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Production work is a necessary debt that we create in preproduction.  One of the goals of preproduction releases (or milestones) is to measure that debt.  During the first few releases that debt will be uncertain.  You might say "we believe that we have 1000 people months of production work, plus or minus 200".  The project would continuously refine that number during subsequent releases.  Towards the end of preproduction you want it to be a much more accurate number.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why Measure Production Debt?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Imagine you are on a first person shooter project that has 12 levels planned and 12 months of production scheduled.  During development your team implements some cool technology that allows every piece of non ground geometry to be destroyed or have holes blown in it.  This is a great new addition but it creates a problem.  It doubles the amount of effort required to build a level.&lt;br /&gt;&lt;br /&gt;How do we react to this?  The first problem is that we have to know the problem exists.  In many cases we don't do a proper job of measuring the production impact of design and technology changes.   We paint ourselves into the proverbial corner.  This is why demonstrating the cost of production should be a part of every release review.&lt;br /&gt;&lt;br /&gt;If we know that we will double the level production debt with a new feature developed, such as the destructible geometry feature, we can make solid decisions early.  Some choices would be:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Drop the feature because we can't afford it&lt;/li&gt;&lt;li&gt;Drop half the levels&lt;/li&gt;&lt;li&gt;Start production earlier&lt;/li&gt;&lt;li&gt;Extend production and ship date&lt;/li&gt;&lt;li&gt;Scale up production resources&lt;/li&gt;&lt;/ul&gt;Some of these choices are harder than others, but they are all better choices than the one that is usually taken: trying to stuff 24 months of production effort into 12 months of schedule.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to Measure Production Debt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The only way to measure production debt is to make a small set of production quality assets,  measure the effort and scale the measurement.  For our example, our release would demonstrate a small level with a couple of buildings that are destructible.  If we estimated that the demo level was 10% of an entire level we could say that the level asset debt would be 10 times the effort spent on the demo times the 12 levels we are planning.&lt;br /&gt;&lt;br /&gt;As mentioned this would be an inaccurate measurement in early releases.  We can't always make truly shipping quality demo levels early in a project.  Subsequent releases would get closer and the estimate more accurate. &lt;br /&gt;&lt;br /&gt;The good thing is that we can expect that we'll get more efficient at creating levels during production and that will free up time to incrementally improve the levels during that time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What Happens to the Production Date?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Publishers will rarely allow a team to tell them "we'll pick a production date when we know more".  It's OK to pick a production date with the caveat that the date will be refined per asset type every release.  Back the refinement up with higher quality asset demos every release.  Publishers and developers should have ongoing discussions of the questions raised above when it's clear that new features are impacting production debt.  Publishers rarely get good information about cost and benefit information about major features.&lt;br /&gt;&lt;br /&gt;Production debt (like every other debt it seems) always grows.  The problem with production debt is that we can't retire it in an ongoing was as other debts (design, technical, etc.) are.  Don't make your team attempt to pay it off with crunch.</description><link>http://www.agilegamedevelopment.com/2008/08/production-debt.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-7254688246201104339</guid><pubDate>Sun, 17 Aug 2008 23:14:00 +0000</pubDate><atom:updated>2008-08-18T22:41:48.630-07:00</atom:updated><title>Cooper Product Design applied to Video Games - Part 2</title><description>In &lt;a href="http://www.agilegamedevelopment.com/2008/08/cooper-product-design-applied-to-video.html"&gt;Part One&lt;/a&gt;, I described &lt;a href="http://www.cooper.com/"&gt;Alan Cooper&lt;/a&gt;'s model on how agile fits in with his Goal Driven Design process.  It made a lot of sense to me and it bears examining  if it can be applied to game development.&lt;br /&gt;&lt;br /&gt;As discussed, Cooper doesn't shy away from applying phases to product development...something that many agilists do.  However his phases are more integrated and overlap their responsibilities throughout the entire project. So rather than calling them phases, he refers to them as "stages".&lt;br /&gt;&lt;br /&gt;Comparing this to games, we typically have two distinct "stages" that be identified in game development: preproduction and production.  I added the concept stage in part one since games do not start iterating from a blank slate on day one.&lt;br /&gt;&lt;br /&gt;To better apply the Cooper design principles, I'd now like to divide up the pre-production stage into two stages: design and engineering.  These are not phases divided by time.  Both are intertwined, but they are answering two different questions.  Design is focused on "what" we are building.  Engineering is focused on "how" we are going to build it.  This would include the tools as well as the engine.  They are really both design stages, but the goals of what they are designing are a bit different, so I'll separate them here.&lt;br /&gt;&lt;br /&gt;Here are the four stages we are going to talk about:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid1.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;We ask questions of the first three stages and make a statement at the production stage:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid2.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The stages that ask questions seek correctness.  They want the right answers.  In the production phase, we seek to maximize efficiency while we are building.  We know the answers from the previous stage.  Entering production without these answers is one of the most common reasons for cost and schedule overrun.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid3.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The "toolsets" for each stage are different.  In the concept stage we use our intuition to determine which path to take.    In the design stage, we're focusing on player and stakeholder needs.  The engineering stage focuses on how these ideas are going to be realized and if it's possible to produce with the resources we have .  The production phase focuses on efficiency; how can be build things faster, better and more inexpensively.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid4.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;There are three different states of mind that for the four stages.  The two middle stages are where collaboration occurs among mixed discipline teams.  The concept stage is more solitary.  It's driven by vision and insight.  Consider visionaries such as Miyamoto.  Their major contribution comes from their vision and concept of game ideas.  You can't take a group of non-Miyamoto (lesser) game designers and expect them to scale their vision to his level.&lt;br /&gt;&lt;br /&gt;The production phase is not as collaborative either, especially in cases where we are trying to outsource production assets.   It's more about the flow of productive work and improving the flow.  This does require some collaboration, but it's not the same.  We shouldn't stop to discuss and change the goals with the customer at this point.  Changing genres when half your levels are produced is a bad thing.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid5.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid5.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, let's look at the procedural approaches we use in each stage.  In the concept stage, it's pure iteration.  New ideas are tried and old ones are discarded.  We have total freedom to explore in any direction necessary.  Insights are not incremental.&lt;br /&gt;&lt;br /&gt;The design and engineering stages are iterative and incremental.  We increment towards production through time-boxed iterations that improve value toward customer value (humans) and the means to provide it (technology).&lt;br /&gt;&lt;br /&gt;The production phases is incremental. We are not iterating on things we discovered in preproduction.  We're mass producing the assets and finding ways to incrementally improve how we create assets.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid6.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where does agile fit in?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The two center stages are the agile stages.  This is where fully collaborative cross-discipline teamwork takes place to push the product forward and achieve the best results.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid%20drw%20agile.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid%20drw%20agile.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The other stages Cooper refers to as the "fragile stages".  The concept stage is "magical" and unpredictable.  It's hard to know when it is successful.  You can't create a large team do it faster.  The production state is fragile because of its size, length of time and potential for waste.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid%20drw%20fragile.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid%20drw%20fragile.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However with the production stage, we can apply Lean principles which are largely derived from product manufacturing (e.g. Toyota).  These focus on eliminating waste and focusing on where value is added.  It focused on a constant set of incremental improvements that do support collaborative work but also work standards for larger groups of people.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/images/grid%20drw%20lean.jpg"&gt;&lt;img style="cursor: pointer; width: 600px;" src="http://www.agilegamedevelopment.com/images/grid%20drw%20lean.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I feel this model has some value.  Over the past five years, I've considered &amp;amp; discussed a couple of the issues with adopting agile for video game development:&lt;br /&gt;&lt;br /&gt;- Game development is a combination of product development (preproduction) and manufacturing (production).  Applying the same Scrum practices to both is not ideal.&lt;br /&gt;&lt;br /&gt;- Our one release model for large scale games isn't an ideal fit with the regular release model of other products where agile is more commonly applied.  We can't get proper customer feedback for our iterations.  Focus/play testing is not enough.  We need visionaries.&lt;br /&gt;&lt;br /&gt;Stages seem a good fit to describe what we do on an agile game project.  Cooper's breakdown adds value in discussing the practices, tools and goals of each stage.  Stages also address the problems of phases by not handing off responsibility between them.&lt;br /&gt;&lt;br /&gt;Scrum is a good fit for the design/engineering stages.  Based on production experiences, Lean is an ideal process for the production stage.  Many studios do the concept stage, but as Cooper says: "it's magical".  How did Apple create the concept for the iPod?  What practices do we create for the concept stage that allows many ideas to be inspired and filtered?  How do we know when we are done?&lt;br /&gt;&lt;br /&gt;Cooper's model is a step forward is defining that.</description><link>http://www.agilegamedevelopment.com/2008/08/cooper-product-design-applied-to-video_17.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-3389282389141982919</guid><pubDate>Sun, 17 Aug 2008 20:15:00 +0000</pubDate><atom:updated>2008-08-17T13:19:59.896-07:00</atom:updated><title>Article - How to fail with agile</title><description>Better Software Magazine just published an article that Mike Cohn and I wrote called "How to Fail with Agile".  It's a tongue-in-cheek set of advice for those seeking to fail at agile.&lt;br /&gt;&lt;br /&gt;You can find it &lt;a href="http://www.agilegamedevelopment.com/Articles/HowToFail.pdf"&gt;here&lt;/a&gt;.</description><link>http://www.agilegamedevelopment.com/2008/08/article-how-to-fail-with-agile.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-6464554807955118496</guid><pubDate>Sun, 17 Aug 2008 17:26:00 +0000</pubDate><atom:updated>2008-08-17T10:39:03.831-07:00</atom:updated><title>Certified!</title><description>After months of review, I've finally been approved as a Certified Scrum Trainer by the Scrum Alliance!&lt;br /&gt;&lt;br /&gt;What does this mean?  It means I can "officially" train Scrum Masters anywhere.  It means that every Scrum Master I train is certified through the Scrum Alliance and has full access to the resources there.  It also gives me valuable feedback and instruction on what and how I teach these courses. &lt;br /&gt;&lt;br /&gt;Having access to members of the SA such as Ken Schwaber, Mike Cohn, Jeff Sutherland, etc has been a huge benefit to me as it will be to every CSM I teach who automatically becomes a member.&lt;br /&gt;&lt;br /&gt;Plus I get to use this nifty logo:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/uploaded_images/ScrumTrainer-480-729375.jpg"&gt;&lt;img style="cursor: pointer;" src="http://www.agilegamedevelopment.com/uploaded_images/ScrumTrainer-480-729352.jpg" alt="" border="0" /&gt;&lt;/a&gt;</description><link>http://www.agilegamedevelopment.com/2008/08/certified.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-6219138701406098497</guid><pubDate>Wed, 13 Aug 2008 19:25:00 +0000</pubDate><atom:updated>2008-08-13T12:49:09.001-07:00</atom:updated><title>Cooper Product Design applied to Video Games - Part 1</title><description>One of the keynotes at &lt;a href="http://agile2008.org/"&gt;Agile 2008&lt;/a&gt;  was by Alan Cooper on his views on agile.   Alan is an agile proponent who has differences with some of the other popular "agilists".   Alan a more design and interface driven approach to product development.  I feel that Alan's approach to design and construction as necessary stages of product development, surrounding an iterative and incremental core, mesh well with what I have experienced in game development.&lt;br /&gt;&lt;br /&gt;When we talk about the waterfall methodology these days, we're usually not talking about the original definition of waterfall defined by &lt;a href="http://en.wikipedia.org/wiki/Waterfall_model"&gt;Winston Royce in 1970&lt;/a&gt;.  We're talking about projects that are mostly planned up front (using &lt;a href="http://en.wikipedia.org/wiki/Big_Design_Up_Front"&gt;BDUFs&lt;/a&gt;) and designed/optimized/tuned at the end.  The issue we have with this is that the documents &amp;amp; schedules created up front are usually wrong and we end up with a poor product or blown schedule and budget.&lt;br /&gt;&lt;br /&gt;Conceptually, waterfall looks like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/uploaded_images/Waterfall-752866.jpg"&gt;&lt;img style="cursor: pointer;" src="http://www.agilegamedevelopment.com/uploaded_images/Waterfall-752863.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The arrows are hand-offs from one stage (or phase) to another.  Alan refers to these as not only hand-offs of work, but hand-offs of responsibility.  The difference with agile is that responsibility is not handed-off, but continues throughout the project.&lt;br /&gt;&lt;br /&gt;The popular opinion is that agile does away with these stages or at least mixes them up every iteration.  While this may work for mostly software driven projects that have regular and frequent releases to customers, I don't believe it's ideal for games.  A typical console game has one release in 2+ years and has a large content component that must be mass-produced at the end.&lt;br /&gt;&lt;br /&gt;In 2002, I read about the &lt;a href="http://www.gamasutra.com/features/slides/cerny/index.htm"&gt;Cerny Method&lt;/a&gt; for making games.  This was a major inspiration for how games should be developed.  Later, when reading about agile, I felt that an agile model for development could support the Cerny Method very effectively.&lt;br /&gt;&lt;br /&gt;The Cerny Method identifies that the goals of preproduction and production should be entirely different and managed differently.  Preproduction should be exploratory and minimally planned up front.  The goal of preproduction is to find the fun of the game and produce a few shippable levels which would answer all the major questions of cost and quality for the production phase.  The production phase would be entirely planned against the knowns from preproduction and executed to that plan.&lt;br /&gt;&lt;br /&gt;What agile does is provide a framework for these stages.  Preproduction is iterative and incremental and can be based more on the Scrum practices.  Production is mostly incremental and can leverage the lean production practices.  Production is less iterative due to the cost of iterating on a large number of produced assets.  For example, we don't want to iterate on the jump height of a platform game after we have created a dozen level with hundreds of platforms based on the previous jump height!&lt;br /&gt;&lt;br /&gt;I've left concept phase in to represent the idea that we don't start creating incremental value on day one.  Concept is purely iterative phases where we develop our "big ideas" about the game before pre-production.  A opposed to production, concept is where we are meant to throw out most ideas.  Concept could be very short, but the responsibility of the designers in concept does not end when the project moves to preproduction.&lt;br /&gt;&lt;br /&gt;If we look at the stages with Cooper and Cerny in mind, the responsibility for the concept of the game continues throughout the entire project.  This doesn't mean that the concept will iterate throughout the project, but that there will be collaboration and overlap between the the groups.  It also means that the boundaries are a bit fuzzy.   The same goes for preproduction.  We're not going to finish pre-production on Tuesday and start production Wednesday on all assets.  We're also going to encourage refinement and incremental improvements during production.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.agilegamedevelopment.com/uploaded_images/Phases1-752888.jpg"&gt;&lt;img style="cursor: pointer;" src="http://www.agilegamedevelopment.com/uploaded_images/Phases1-752885.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In the next part, we'll look at how the tools and techniques  differ for each of the three stages.</description><link>http://www.agilegamedevelopment.com/2008/08/cooper-product-design-applied-to-video.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-3301487075544287804</guid><pubDate>Mon, 11 Aug 2008 16:28:00 +0000</pubDate><atom:updated>2008-08-11T20:32:56.291-07:00</atom:updated><title>Warnings from Chris Deering</title><description>From &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=19780"&gt;Gamasutra&lt;/a&gt; this morning, from former Sony Europe boss and current Codemasters chairman Chris Deering:&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Despite all this growth, however, Deering warns that current development costs, currently in excess of $10 million for major titles, are unsustainable, given that less than 3 out of 10 games actually recover their costs.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; Moreover, he says software sales may decline even as hardware proliferates. "Traditional revenue sources will not be sufficient to fund games development," he says. "Especially as global retail sales will be 20 percent lower in 2011 than in 2008."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;We're still a hit-driven industry (where a profitable game will pay for a larger number of unprofitable ones), but the margins of profit for the hits are declining.  This is due to higher development costs and what he refers to as a decline in software sales.&lt;br /&gt;&lt;br /&gt;I hadn't considered the decline in software sales part, but if fewer games are made that leads to fewer choices for the consumer which leads to the consumer buying fewer titles overall then that makes sense.</description><link>http://www.agilegamedevelopment.com/2008/08/from-gamasutra-this-morning-from-former.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-5802488094462994633</guid><pubDate>Sat, 09 Aug 2008 19:55:00 +0000</pubDate><atom:updated>2008-08-09T13:02:22.018-07:00</atom:updated><title>IGDA Leadership Forum</title><description>The IGDA has recently opened up registration for the upcoming &lt;a href="http://www.igda.org/leadership/"&gt;Leadership Forum&lt;/a&gt;.  This is the second year of this forum.  Last year's event was a bug success and very worthwhile.  Any producer or leader should sign up quickly before they fill up.  I suspect it's going to sell out quickly again.&lt;br /&gt;&lt;br /&gt;I'll be presenting a talk called &lt;a href="http://www.igda.org/leadership/?page_id=75#Scrum"&gt;The Myths of Scrum&lt;/a&gt;.  We're going to have some fun with this topic!</description><link>http://www.agilegamedevelopment.com/2008/08/igda-leadership-forum.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-4260340045651813196</guid><pubDate>Sat, 09 Aug 2008 16:01:00 +0000</pubDate><atom:updated>2008-08-09T09:38:59.041-07:00</atom:updated><title>Agile 2008 Conference</title><description>Just returned from the&lt;a href="http://www.agile2008.org/"&gt; Agile 2008 Conference&lt;/a&gt; in Toronto.  This is a great conference that applies the agile principles in its organization and execution.  Lot's of impromptu "knowledge jam sessions" and even an area for the musically talented to get together and play.  It's can be a bit chaotic, but not dull.&lt;br /&gt;&lt;br /&gt;The conference had ~ 1600 attendees.  It's been growing pretty steadily since it was formed from merger of two smaller conferences about five years ago (including an XP conference).  Many popular agile, XP, Scrum and classic CS authors were there.  Most were very approachable and friendly. &lt;br /&gt;&lt;br /&gt;The attendees were divided up equally between coaches, developers using agile and people new to agile.  There were about ten tracks and about 40-50 talks going on at any one time.   The sessions dived deeply into agile problems, developments and successes.   I gave a 90 minute presentation on agile game development and participated in a CTO panel run by Jim Shore and Dianna Larsen. &lt;br /&gt;&lt;br /&gt;The conference was very lightly attended by game developers.  I believe there were only three of us, but we smelled each other out soon enough.  The other two were a couple of developers from a large company that makes "computerized gaming machines" in Nevada.  We had a great conversation over some tasty Indian food about their challenges and stories of making video gaming machines for casinos.&lt;br /&gt;&lt;br /&gt;My focus at the conference was attending sessions on building and facilitating great teams.  There were plenty of sessions on this topic.  I received an overwhelming amount of information on  theory, team practices and coaching in the area of hyper-productive teams.  You just can't fully appreciate the value of a daily scrum until you've heard about the decades of research on group theory and complex adaptive behavior systems that reinforce the practice.  :)&lt;br /&gt;&lt;br /&gt;Toronto is a great place for conferences like this, as long as it's in the summer.  There are plenty of after hours things to do and great places to eat.  All the city dwellers take full  advantage of the perfect summer climate.  Due to it's terrible winter weather, there are many malls below street level that you can get to quickly for lunch or a quick Starbucks fix.&lt;br /&gt;&lt;br /&gt;Next year the conference will take place in Chicago.  Hopefully more game developers will attend (think great food and Rush street).</description><link>http://www.agilegamedevelopment.com/2008/08/agile-2008-conference.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-4703428112939829731</guid><pubDate>Sun, 03 Aug 2008 15:06:00 +0000</pubDate><atom:updated>2008-08-03T08:13:16.069-07:00</atom:updated><title>Scrum experience at Nokia</title><description>Interview with Scott Foe,  Producer at Nokia: &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=19210"&gt;http://www.gamasutra.com/php-bin/news_index.php?story=19210&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Quote:&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;You said you're using Scrum.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;SF: That's the project development methodology that we've employed. You know, Scrum is - especially with the recent [Game Developer magazine] article from, I believe, last year, “Scrum Rising” - a hot topic in the games industry of late.&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;People have strong opinions.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;SF: People have strong opinions. I definitely have my own strong opinions. It's definitely not a silver bullet, nor is any development methodology. I mean, for example, yes, Scrum leads to greater team communication and cooperation, but if one of your team members is an axe-wielding barbarian, then that might necessarily be a good thing.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;But there is certainly, in publishing minds, this kind of idea that Scrum is this evil dragon that - “Oh, if we don't have a waterfall project planned with everything mapped out in detail, then this project is just going to go way overboard, and way over budget.”&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;I have to say that if you're doing a quality-driven title - so I'm basically separating the universe of game projects into release-date driven, and quality-driven; release-date being, “We gotta get it out by this date,” and quality driven being, “It's gotta be out when it's ready” - for a quality-driven product, using an iterative development model like Scrum is excellent for bringing that home, and for revisiting issues, and making sure that everything is just perfect.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;For a release-date driven model, Scrum is excellent because, at the end of every sprint - Scrum project cycles are broken down into a number of sprints - you have something which could conceivably go to quality assurance. So if your due-date has to be - cannot miss! - this certain date, then at the end of every sprint you have something that you can conceivably ship with. Whether that's good or not, that's in debate. But you could theoretically launch it.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;From the publishing side, Scrum has very few artifacts, so when you go into a Scrum product development methodology, instead of having, like, oodles of Microsoft Project files and Excel files, and this and that, what you have is the product backlog. People take product elements off the product backlog, the team puts it in the sprint backlog, they complete it, then they give you a sprint report and a playable build. The sprint report and the playable build are probably the best visibility into how the health and well-being of the development project of any of the corporate artifacts that come from the different development methodologies out there.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;So, for example, if you're at a publisher, and you really want complete visibility into how is the team doing, what are they accomplishing, you have that sprint backlog and can see, at the end of each sprint, what the team did, what they failed at, and why.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;You can't get more clear-cut than that. Having the actual sprint review build, that build of the game, to be able to take around internally and say, “Here, look. This is what the game is about. This is how we're doing. This is how we're going.” There's no better feel for how a project is going, instead of waiting however long for a given milestone build.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;From the contractual side? I mean, it requires flex. Say you're doing a release-date driven title, and you're making a contract, and you know the team is operating on a Scrum development methodology. Well, it's easy to say, “This is the due date. These are the payments. And go. These are the number of people you have, and we'll be out on this date.”&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Now when you go for a quality driven title, contractually it becomes a bit more sticky, in that you either have to, one, plan on going back to amendments to the contract to say, “Okay, we need two more sprints. We need three more sprints. We need this many more sprints.” Or actually building into the contract the possibility of approving and paying out more sprints on an as-needed basis. And of course, most business development people, and people who write the contracts in the publishing arms of organizations everywhere are probably not familiar with this, and very married to the standard way of doing things, which, of course, causes friction within the publishing organization.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Again, not a silver bullet, but I definitely couldn't see myself using any other development methodology that's in current practice today. I definitely am a huge Scrum fan.&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;I imagine that kind of heavily iterative method would be particularly suited to a game like this, where you've got fairly disparate gameplay styles that you're bringing together. I suspect that took a lot of trial and error.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;SF: Most definitely. I mean, a piece of paper is never fun. Right? First person shooter is easy. Well, easier. You've got a point of reference, you know you're going to need some weapons, and some enemies, and maybe you're going to do an amazing narrative structure, and blow everything else out of the water. But for the most part, you know what you're aiming at.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;For something where you are planting the flag, and you are running out ahead of everybody, and there are rocks, it does take time and iteration, and polish to get the jetpack to be as fun as the jetpack could be, or to make sure that the princess-rescuing is satisfying.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;One other point, going back to the transparency, I don't think it's really part of the standard Scrum development methodology, although I may be incorrect about this, but one of the things we found really useful on this project is doing our burn-downs by discipline, so you have a burn-down chart which is basically, here's all the work that needs to be done on the project, and you watch it burn-down as elements are taken out of the product backlog.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;When you burn-down by discipline, and you see the velocity of how the project is going, you can say, “Oh, we need more artists, or we need more designers, or we need more programmers.” And it becomes more obvious, sooner, although, again, that might already be written down somewhere. I haven't read all the Scrum books. That might be out there.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://www.agilegamedevelopment.com/2008/08/scrum-experience-at-nokia.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-6175835008795600053</guid><pubDate>Wed, 30 Jul 2008 21:23:00 +0000</pubDate><atom:updated>2008-07-30T14:33:27.692-07:00</atom:updated><title>Hyper-productive Teams</title><description>A hyper-productive team is a phrase often used in Scrum literature to identify teams that have achieved a state of ownership, commitment and collaboration that allows them to be far more productive in creating “product value” on a regular basis.&lt;br /&gt;&lt;br /&gt;I view hyper-productive teams as independent of Scrum.   There are many examples of teams  that have been hyper-productive independently of the process they’ve used.   I’ve been on several in my career from the defense industry to the games industry.   They are the highlights of my career.   I never worked harder and never had more fun than when I was on those teams.&lt;br /&gt;&lt;br /&gt;The first was the &lt;a href="http://en.wikipedia.org/wiki/YF-23"&gt;YF-23&lt;/a&gt; avionics integration team that I worked on for 10 months in 1990 at the McDonnell Douglas plant in Saint Louis.    We were led by a retired F-14 Tomcat squadron commander.   We actually had 10-15 minute stand-up meetings every morning to go over the issues and daily goals.   He called it the huddle.  We were a team under siege in a hostile environment as contractors working the midnight shift.&lt;br /&gt;&lt;br /&gt;Another hyper-productive team was the &lt;a href="http://en.wikipedia.org/wiki/Midtown_madness"&gt;Midtown Madness One&lt;/a&gt;  team.   Most of the team (including me, the product director) had never worked on a game before.   However, we were given almost complete autonomy by Angel Studios (and largely by even Microsoft) to build the game we wanted.   I recall all of us stopping work to play the game at 6 PM every night and then stopping at 9 PM to drink beers in the conference room and discuss ways of improving the game.   I would arrive some mornings to find that members of the team had reworked the rendering engine or vehicle dashboard models overnight to greatly improve a weak part of the game.   We didn’t use Scrum either, but we had some TDD like practices and even posted burndown charts which visibly tracked key statistics such as polygon budgets for the level, etc.&lt;br /&gt;&lt;br /&gt;Hyper-productive teams are hard to define.   To paraphrase a common quote: “it’s like porn…you can’t define it, but you know it when you see it”.   In addition to talent, hyper-productive teams are the greatest contributors to the creation of a hit game.&lt;br /&gt;&lt;br /&gt;I try to define conditions that support, or are common to, hyper-productive teams.    In addition to educating teams on how to use Scrum, a main goal of mine is to facilitate teams on becoming hyper-productive.&lt;br /&gt;&lt;br /&gt;So what are the conditions that allow a hyper-productive team?  I’ll identify a few I feel are important:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Independence and a sense of ownership - The team needs to feel that they can contribute creatively and have some control over the game.  This isn’t necessarily total ownership, but some.&lt;/li&gt;&lt;li&gt;    Leadership - There needs to be one leader on the team who can communicate a vision between the team and the customers and keep the team focused.&lt;/li&gt;&lt;li&gt;    A core competency - Not everyone on the team needs to be an expert, but on the hyper-productive teams I have seen there have been at least one core expert.  This isn’t a lead position defined by a role, but by actions.  This person supports the vision with brilliance that the team can be confident in and rally around.&lt;/li&gt;&lt;li&gt;    Team collaboration - Teams grow into great teams organically.  There are countless articles and books written about how this happens (&lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFive-Dysfunctions-Team-Leadership-Fable%2Fdp%2F0787960756%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1217453474%26sr%3D1-1&amp;tag=wwwagilegamed-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325"&gt;here is one of my favorites&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=wwwagilegamed-20&amp;amp;l=ur2&amp;amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;).   This is where facilitation can help a team transform itself.&lt;/li&gt;&lt;/ul&gt;As mentioned, these teams form independent of process.   However, Scrum can support and nourish hyper-productive teams based on its practices and principles.   Team self-organization, Sprint goal ownership and commitment and a daily dose of visibility can support and grow hyper-productive teams.</description><link>http://www.agilegamedevelopment.com/2008/07/hyper-productive-teams.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-7521299722976880763</guid><pubDate>Mon, 28 Jul 2008 22:21:00 +0000</pubDate><atom:updated>2008-07-28T15:42:01.501-07:00</atom:updated><title>Product Owner as Pig?</title><description>Scrum defines two types of individuals associated with a project using Scrum; one type is  fully committed in a project, the other is merely involved.  A commonly referenced joke about the commitment of the pig and the involvement of the chicken in a ham-and-eggs dinner illustrates this and is used to name the roles.  The product owner is often referred to as a “chicken” because they aren’t committed to the work to be accomplished by the team every Sprint.  They are only involved with the outcome while members of the team are called “pigs” because they truly commit to the work of the Sprint.&lt;br /&gt;&lt;br /&gt;The product owner (PO) for a video game project can be compared to the role played by key visionaries such as Shigeru Miyamoto, Will Wright, Tim Schafer and Sid Meier on their projects.  A PO represents the ultimate customer during development: the player.  The PO has to foresee what the market will want up to three years in advance.  They have to know the mind and emotional responses of the player.  Pure iteration is not enough for video game development.  We typically have one true release to get things right.  Most of our games can’t slowly grow their feature sets and market simultaneously like other products.  This requires great vision.  This is unavoidable.&lt;br /&gt;&lt;br /&gt;You might ask “can’t we iterate and focus test our iterations?”.  I wish it were so, but over the years I’ve discovered it isn’t enough.  Focus testing will tell you how your game compares with the focus tester's current favorite games.  Additionally there is a huge discrepancy between the people you focus test and the people you have to impress to get market awareness (e.g. reviewers and hard-core-gamer-mavens).  That’s a bigger topic.&lt;br /&gt;&lt;br /&gt;Originally the Product Owner role was considered a “chicken” role.  That’s to say it was a role that required no commitment to the Sprint goals.  This has changed over the past as the product owner role has been identified as a key to success or failure of a project.  This is no more true that for game development.  As a result, many projects consider their POs as “pigs” (we used the terms “ninjas” and “pirates” for these concepts of commitment because, for some reason, people dislike the labels "pig" and "chicken").&lt;br /&gt;&lt;br /&gt;“PO as pig” is needed because we can’t always know what’s fun two weeks from now.  Questions about how “bouncy” a physics response should be or how “snappy” an animation transition needs to be, etc, etc are subjective and may need daily feedback from the visionary.&lt;br /&gt;&lt;br /&gt;The question this raises is “how can the team commit to Sprint goals if the PO is giving direction every day?”.  The answer is that they can’t commit to same level of detail.  They have to commit to higher level goals, especially when they are in pre-production.  This can be difficult for veteran Scrum teams to accept, but when the PO is a pig, the PO is making a commitment as well.  Their “skin is in the game” with the rest of the team.   They should commit to goals with the rest of the team.  Highly details Sprint goals are meant to improve communication between pigs and chickens, but if your #1 customer is on the team, then the communication problem is reduced.&lt;br /&gt;&lt;br /&gt;A PO can’t be a pig on 10 teams however.  Some games have a “hierarchy of POs” with the main product owner and a number of POs for major mechanics or functions reporting to them.  This is a common solution used in many industries adopting Scrum.&lt;br /&gt;&lt;br /&gt;One word of warning.  If you are working on a game (agile or not) without a single strong visionary who is clearly calling the shots about the features regularly and transparently, then you may have a problem.</description><link>http://www.agilegamedevelopment.com/2008/07/product-owner-as-pig.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-11401971.post-4809338661765438865</guid><pubDate>Tue, 15 Jul 2008 21:09:00 +0000</pubDate><atom:updated>2008-07-15T15:12:26.069-07:00</atom:updated><title>Feedback: "Top 10 Pitfalls Using Scrum Methodology for Video Game Development"</title><description>Gamasutra just posted an good article by Paul Miller called "&lt;span class="title"&gt;&lt;a href="http://www.gamasutra.com/view/feature/3724/top_10_pitfalls_using_scrum_.php"&gt;Top 10 Pitfalls Using Scrum Methodology for Video Game Development&lt;/a&gt;".  I found it interesting.  I agree with some points and disagree with others.  The article highlights some misconceptions and myths about Scrum.  Since they come from a person which has gone through a product cycle with Scrum, it's very useful to discuss them.&lt;br /&gt;&lt;br /&gt;I'll start from the top:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;10. A Game Design Document (GDD) isn't needed anymore because the backlog spreadsheet replaces it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is one of the biggest misconceptions of Scrum.  Agile does not eliminate documentation or planning.  It does focus more value on a &lt;a href="http://agilemanifesto.org/"&gt;working game over a design documen&lt;/a&gt;t, but that doesn't mean that we should eliminate all documentation.  It just means that we don't rely entirely on the GDD alone to define what the game will be.  GDDs can often become too detailed.  I've seen GDDs for shooters that try to define the number of bullets in a clip for a fictional shooter.  Why can't some of those things be decided while developing the game?&lt;br /&gt;&lt;br /&gt;On the other hand we should document what we know about the game.  You can't plan away uncertainty, but we should communicate what we are certain about.&lt;br /&gt;&lt;br /&gt;I assume that by "backlog" he means "product backlog".  If your product backlog is becoming too big to manage, then perhaps it is too granular for future releases.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;9. Interrupt what people are doing to have them come to the daily 15 minute stand up meeting.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This sounds like the "daily scrum is about tasks" smell.  The daily Scrum is for the &lt;a href="http://www.agilegamedevelopment.com/2008/06/im-often-asked-by-teams-starting-scrum.html"&gt;benefit of the team and the product&lt;/a&gt;.   If there are "&lt;/span&gt;&lt;span style="font-style: italic;"&gt;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&lt;/span&gt;"  then they should help mentor the others who don't have this experience. &lt;br /&gt;&lt;br /&gt;If the Scrum is starting late, then the Scrum Master should fix that.  Lateness to the Daily Scrum is an impediment because it wastes time.  It's the SMs role to fix impediments.&lt;br /&gt;&lt;br /&gt;It always amazes me to hear the argument that 15 minutes is too costly an amount of time to spend per day to insure that all 8-10 people on the team are on track.  Do companies track bathroom, coffee, lunch and web surfing breaks to insure that we don't waste 15 minutes or more per day?  It's not about the time.  It's about the resistance to collaborate.  As a former CTO I can clearly identify this issue as one which affects senior programmers quite often!  ;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;8. Moving all team members into a dedicated team room or team area does not cross-pollinate with cubicle assignments in the per-discipline-organized cubicle farm. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I agree.  One point is that when teams reach the proper level of collaboration, they drive this themselves.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7. A team member says "I'm not doing something right now because I was told there needs to be a task entered into the backlog and the task needs to be assigned to me by the project manager."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Teams should have total control over how they achieve the Sprint goals they've committed to.  The Sprint goals are increments of value for the customer.  I'd suggest to this team that:&lt;br /&gt;- They don't have project managers assign tasks (that's not Scrum).&lt;br /&gt;- They put the Sprint backlog on a task board (3x5 cards) and ditch the spreadsheet.&lt;br /&gt;- They take control of the execution order and creation of tasks within the Sprint.&lt;br /&gt;- Focus on release goals.  He mentions that the team is only focused on 2 weeks.  This is why there are 2-6 month releases where the team focuses on Big Hairy Audacious Goals (BHAGs).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6. Start managing stories and sprints before all the people are on the team. Decide that your Scrum stories and sprints are 100% completed months before the project even has a QA tester. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="title"&gt;Very good point! &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5. Scrum Pitfall: The 15-minute daily stand-up meeting degenerates into a daily go-around-the-table-and-each-person-give-a-status-report.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Many teams new to Scrum hit this issues and the result can often lead to managers saying "let's manage the team out of it".  There was a  &lt;a href="http://www.agilegamedevelopment.com/2008/06/why-daily-scrum-meetings.html"&gt;recent post&lt;/a&gt; on this topic.  It is very difficult for teams to achieve the collaboration to become hyper-productive.  Sometime the team is not formed correctly, sometimes managers won't let it happen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Make Scrum mandatory.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;He makes a very good point about management feedback.  One of the biggest problems I find is to get management to understand that each Sprint should show improved value and to have honest discussions about what is working and what is not.  Too many times, the "work in is in progress and we'll show more value someday" pattern remains after a team adopts agile.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Implement only two weeks' worth of work and write only the code based on what you currently know about the game design. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I agree.  Studies have shown that we solve problems best by a combined top-down and bottom-up approach.  I've never been very comfortable with XP's "do just what's needed for the next two weeks" philosophy.  Experienced developers will have more knowledge and can create farther reaching solutions.  However, the problem is that they usually go too far.  The opposite side of the problem is with programmers who only code for the current iteration and don't refactor constantly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. "Sprint Zero" is pre-production time.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I don't get this one.  Prototyping is for knowledge.  Knowledge has great value in building and refining the product backlog.  I won't limit prototyping to a set number of Sprints (much less one).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Start managing the project by prioritizing tasks and asking for time estimates even before any GDD is written. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So what does the team do while the GDD is being written?  If I know I'm going to be working on an FPS, I might want to get a camera and character controller working while the customers are trying to define the characters themselves.  Perhaps there are questions that come up in the GDD writing process that would benefit from some early prototyping?  This relates to #10, but it also reflects the impression that the GDD will answer all questions.  If they can honestly say that the games they ship completely match version 1.0 of the GDD, then power to them.  I've never seen it.&lt;br /&gt;&lt;br /&gt;I'm also getting the impression that their product backlog is a huge spreadsheet of tasks that is prioritized and assigned up front.  Tasks should only exist in the Sprint Backlog.  Let the team worry about the tasks and their estimates.  Estimate the Product Backlog in &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0131479415/wwwagilegamed-20"&gt;Story Points or Ideal Days&lt;/a&gt;.  Don't create too granular of a Product Backlog.  It becomes too difficult to manage.&lt;br /&gt;&lt;br /&gt;I'm really glad to see such articles written.  It reinforces what I've seen as a coach these past six months.  The issues that teams adopting Scrum are seeing have patterns.  Patterns can have solutions which can be shared.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://www.agilegamedevelopment.com/2008/07/feedback-top-10-pitfalls-using-scrum.html</link><author>Clinton.Keith@gmail.com (Clinton Keith)</author></item></channel></rss>