<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Games from Within &#187; Project management</title>
	<atom:link href="http://gamesfromwithin.com/category/project-management/feed" rel="self" type="application/rss+xml" />
	<link>http://gamesfromwithin.com</link>
	<description>Indie iPhone game development</description>
	<lastBuildDate>Thu, 09 Sep 2010 19:59:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Indie Project Management For One: Tools</title>
		<link>http://gamesfromwithin.com/indie-project-management-for-one-tools</link>
		<comments>http://gamesfromwithin.com/indie-project-management-for-one-tools#comments</comments>
		<pubDate>Thu, 05 Aug 2010 22:45:11 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Project management]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[indie]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1076</guid>
		<description><![CDATA[
			
				
			
		
I&#8217;ve been making computer games in some form or another for just over 25 years now. At the very beginning, as a hobby (passion) and completely by myself (although not for lack of trying to get some of my friends involved). In the late 90s, when I finally left academia and started making games professionally, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve been making computer games in some form or another for just over 25 years now. At the <a href="http://computeremuzone.com/ficha.php?id=695&#038;sec=amstrad">very beginning</a>, as a hobby (passion) and completely by myself (although not for lack of trying to get some of my friends involved). In the late 90s, when I finally left academia and started making games professionally, teams were still relatively small, with a total of around 10-15 people per team. As we all know, budgets and scopes kept growing, and so did team sizes. At its peak, the largest team I worked at had around 200 people. That&#8217;s when I decided to go indie and started <a href="http://gamesfromwithin.com/tag/power-of-two">Power of Two Games</a>, which was obviously just two of us. Finally, now as <a href="http://www.snappytouch.com/">Snappy Touch</a>, I&#8217;ve gone full circle: It&#8217;s just me again.</p>
<p><img class="alignright size-full wp-image-673" src="http://gamesfromwithin.com/wp-content/uploads/2010/08/gears.jpg" alt="gears.jpg" border="0" width="295" height="196" />Development tools and hardware have changed quite a bit from the times I was writing in <a href="http://www.cpcwiki.eu/index.php/Hisoft_Devpac">straight Z80 assembly and saving the programs to a tape</a>. But I&#8217;ve also changed and learned a lot during all those years developing games, and even though I&#8217;m writing games by myself again, I&#8217;m doing things very differently from how I did them back at the start.</p>
<p>One thing that I&#8217;ve always done is to question everything. Why should I do things a certain way? Why is that the &#8220;accepted&#8221; way of doing something? And not surprisingly, at each step of the way, I&#8217;ve changed my development style to match my situation (often in ways that went against the &#8220;common wisdom&#8221;).</p>
<p>When it comes to solo development, I rely heavily on the concept of goals and iterations at multiple levels:</p>
<ul>
<li>Immediate (&lt; 1 minute): Prioritizing the ideas going through my mind. Writing tests. Writing code.</li>
<li>Short Range (&lt; few hours): Tasks that move the project forward in some way.</li>
<li>Mid Range (&lt; 2 weeks): &#8220;Stories&#8221; that define a self-contained, significant part of the project.</li>
<li>Long Range (full project, several months): Ship date, beta testing, etc.</li>
</ul>
<p>It turns out, I use a different set of tools to help me manage the items at each level of the development cycle.</p>
<h3>Immediate</h3>
<p>These are the actions I take and complete in less than a minute or two. Most of them are writing tests (with <a href="http://code.google.com/p/unittestpp/">UnitTest++</a>, of course), writing code to make those tests pass, refactor code, and check it into <a href="http://subversion.tigris.org/">Subversion</a>. I have my Subversion repository hosted on <a href="http://www.dreamhost.com/">Dreamhost</a> and I access it through SSH so it&#8217;s secure, accessible from anywhere with an internet connection (or 3G signal and <a href="http://appshopper.com/blog/2010/07/20/handy-light-tethering-app-camouflaged-as-flashlight/">HandyLight</a>), offsite, and easy to backup. And because Subversion works great offline (unlike Perforce), it&#8217;s not a problem to work without connection to the repository for a while.</p>
<p>I also need to manage my minute-to-minute thoughts, write down ideas and reprioritize them when the time comes. When I&#8217;m &#8220;in the zone&#8221;, I get way more ideas than I can execute with my fingers: This function needs to be moved to a different file, I really should be compacting that data over there, who was stupid enough to name this file this way?, that variable shouldn&#8217;t be cached, etc. If I don&#8217;t write things down, I will either forget them, or I&#8217;ll stress for hours until I finally get around to doing them. I could also do things as I think about them, but then I would be chasing a rabbit down a neverending hole and wouldn&#8217;t get any work done (I&#8217;m sure anybody who&#8217;s gotten lost browsing web pages can identify with that).</p>
<p>I used to do this the old-fashioned way, simply with paper and pencil (<a href="http://www.appsizematters.com/2010/08/tip-othe-day-3-use-lists-to-stay-focused/">like Bob described in his blog post</a>). However, I found that physical paper and pencil was just too limiting: I can type a lot faster than I can write, switching to writing requires moving away from the keyboard, and, most importantly, I need to bring the notes with me everywhere and it&#8217;s very difficult to rearrange, sort, or coalesce them in any way.</p>
<p>So instead, my tool of choice these days is <a href="http://selfcoded.com/justnotes/">JustNotes</a>. It&#8217;s perfect for jotting down thoughts in a matter of seconds without even interrupting my train of thought. I have JustNotes bound to a global key, so in the middle of typing a line of code, I can press that key, enter whatever I&#8217;m thinking about, press the key again, and finish the line of code. All in 4-5 seconds. Don&#8217;t laugh: The fact that I can do that in just a few seconds without moving my hands away from the keyboard means I can use it any time without much penalty. It&#8217;s amazing how many things I jot down that I wouldn&#8217;t do otherwise.</p>
<h3>Short Range</h3>
<p>To manage tasks up to a few hours in length, I use <a href="http://trac.edgewall.org/">Trac</a>. Trac is a fantastic issue-tracking tool: It&#8217;s free, it&#8217;s fast, it&#8217;s simple, and it&#8217;s configurable. In the past I&#8217;ve used anything from spreadsheets, to Bugzilla, to publisher-owned bug databases, and nothing comes close to Trac for my needs. It also scales very well to teams of more than one person (although it might not be good enough for hundreds of people).</p>
<p>Just like Subversion, I have Trac hosted externally, through my web hosting company. Sometimes it&#8217;s frustrating if I need to access it and the server is down, but again, the convenience of having it off site makes it well-worth it.</p>
<p>Any task that requires more than 10-15 minutes goes in Trac, and then I can easily prioritize tasks depending on their importance. Usually, if an item has been on my instant queue in JustNotes for about a day and I haven&#8217;t gotten around to it, it either gets deleted or it gets moved into a full item in Trac. The only way progress happens is by ticking off Trac tasks. In the end, my projects live and die by Trac.</p>
<h3>Medium Range</h3>
<p>User stories (to borrow terminology from Scrum/XP) are visible, relatively self-contained features of the final project. They&#8217;re made up of several tasks, and usually take a few days to a few weeks to implement.  A group of user stories make up a full iteration (sprint) of the game, which is usually between one and two weeks long. Sometimes user stories are complex enough (add a replay feature visible on the web site) that the full iteration is just the one user story.</p>
<p>I keep track of these stories in Trac as well. Trac is both an issue-tracking system and a wiki, so the wiki part is perfect to keep these user stories. In addition to that, I label tasks as belonging o a particular iteration. That allows me to separate what needs to be done for this iteration, from other tasks that I added for the future. At the start of each iteration, I decide on the user stories and either generate new tasks or label existing tasks as due for this iteration.</p>
<p>The wiki in Trac is extremely valuable for all sorts of other things: game design ideas, general brainstorming, gathering reference material, etc. </p>
<p>Trac ends up being the perfect mid-range vision of my project.</p>
<h3>Long Range</h3>
<p>User stories and tasks in Trac aren&#8217;t enough to cover a project that is potentially 3-4 months long. I need something that helps me with the longer view, otherwise I find that things creep up on me without realizing it because I&#8217;m so focused on the short and mid-range items.</p>
<p>The best tool I&#8217;ve found so far is very low-tech: <a href="http://www.printfree.com/Calendars.htm">A printable month-per-page calendar</a> covering the full length of the project. Right now I&#8217;m shooting for a November release of my current project, so I printed August, September, October, and November and pinned them to the corkboard on my office. It&#8217;s amazing the sense of urgency that seeing your ship date gives you. You realize that you only have a handful of weeks before shipping and makes it much easier to prioritize tasks (and chop off features or save them for an update).</p>
<p>I realize this long-term, calendar view isn&#8217;t very useful if you don&#8217;t have a set release date and you want to continue chipping at your game until it&#8217;s ready. But even if your release date is flexible, having this long-term view can help you keep budgets in perspective and manage them accordingly.</p>
<p>Finally, for an extra bit of motivation (or maybe this falls in the category of excessive pressure), I just started using <a href="http://www.apple.com/downloads/dashboard/status/countdowndashboardwidget.html">a countdown widget for the Mac OS Dashboard</a>. Just in case the calendar view wasn&#8217;t enough, here&#8217;s a countdown (down to the second) of the time left until release.</p>
<p><center><img src="http://gamesfromwithin.com/wp-content/uploads/2010/08/countdown.png" alt="countdown.png" border="0" width="324" height="114" /></center></p>
<p>Speaking of which, I think it&#8217;s time I get back to work. Only 102 days left!</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools&amp;title=Indie%20Project%20Management%20For%20One%3A%20Tools&amp;bodytext=I%27ve%20been%20making%20computer%20games%20in%20some%20form%20or%20another%20for%20just%20over%2025%20years%20now.%20At%20the%20very%20beginning%2C%20as%20a%20hobby%20%28passion%29%20and%20completely%20by%20myself%20%28although%20not%20for%20lack%20of%20trying%20to%20get%20some%20of%20my%20friends%20involved%29.%20In%20the%20late%2090s%2C%20when%20I%20fin" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools&amp;title=Indie%20Project%20Management%20For%20One%3A%20Tools&amp;notes=I%27ve%20been%20making%20computer%20games%20in%20some%20form%20or%20another%20for%20just%20over%2025%20years%20now.%20At%20the%20very%20beginning%2C%20as%20a%20hobby%20%28passion%29%20and%20completely%20by%20myself%20%28although%20not%20for%20lack%20of%20trying%20to%20get%20some%20of%20my%20friends%20involved%29.%20In%20the%20late%2090s%2C%20when%20I%20fin" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools&amp;t=Indie%20Project%20Management%20For%20One%3A%20Tools" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools&amp;title=Indie%20Project%20Management%20For%20One%3A%20Tools" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools&amp;title=Indie%20Project%20Management%20For%20One%3A%20Tools" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Indie%20Project%20Management%20For%20One%3A%20Tools&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Findie-project-management-for-one-tools&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/indie-project-management-for-one-tools/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>No Rest for The Indies</title>
		<link>http://gamesfromwithin.com/no-rest-for-the-indies</link>
		<comments>http://gamesfromwithin.com/no-rest-for-the-indies#comments</comments>
		<pubDate>Thu, 25 Dec 2008 01:51:46 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Project management]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=201</guid>
		<description><![CDATA[
			
				
			
		
You&#8217;d think that things would slow down around Christmas time over here. And that I would have lots of time to catch up and write about all the things I keep jotting down in my overflowing &#8220;to write&#8221; list. Right? Unfortunately that&#8217;s not the case.
I do want to catch up and share my iPhone development [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p>You&#8217;d think that things would slow down around Christmas time over here. And that I would have lots of time to catch up and write about all the things I keep jotting down in my overflowing &#8220;to write&#8221; list. Right? Unfortunately that&#8217;s not the case.</p>
<p>I do want to catch up and share my iPhone development experience with everybody, but it&#8217;s hard to make time, even during the holidays. To make things worse, I have a pretty hard deadline I set myself to have my iPhone app ready by early February.</p>
<p>It&#8217;s funny, I&#8217;ve worked more hours in the last year than any other year during my career, but it has never felt like work. Quite the opposite actually, and I find myself doing &#8220;work&#8221; instead of other things that used to be more fun and having a blast with it. For example, my game-playing time has gone waaay down. If I have an hour that I can do anything, I think &#8220;oh, maybe I can play a bit of World of Warcraft now&#8221; followed by &#8220;but it would be so much fun to finally add this other feature&#8230;&#8221; I let you figure out which one ends up winning in the end. If it wasn&#8217;t because of my weekly WoW session with <a href="http://www.tilander.org/aurora/">Jim</a>, <a href="http://www.hammerian.net/">Joey</a>, and Michael, I wouldn&#8217;t make any progress in the game!</p>
<p>Not only am I enjoying what I do immensely, but it&#8217;s very easy to spend lots of time doing it because I get to do it from the comfort of my own home. I never have to worry about getting to work by a particular time, so I can get in my morning runs or go grocery shopping when the stores are empty, I have all my stuff around me, my work area has an incredible view overlooking the whole of Mission Valley, and my kitchen is stocked up with <a href="http://www.uptontea.com">all my favorite teas</a>. It&#8217;s really easy to spend hours and hours working. A bit too easy actually.</p>
<p>Burnout is the evil flip side of fun work. Even with incredibly rewarding and fun work, doing something for many hours a day can burn me out pretty easily. The symptoms are obvious: I start to lose interest, I&#8217;m not as productive, my mind wanders, and I find all sorts of other things I&#8217;d rather be doing. Fortunately, I can recognize those symptoms early on, so just backing off a bit, or taking an afternoon off, allows me to walk the fine line between work and burnout and keeps me productive.</p>
<p>Initially I was a bit concerned about the thought of working full time from home. Would I miss the interaction with coworkers and the sparks and new ideas from seeing all sorts of stuff around me in a company. It turns out that it wasn&#8217;t anything to be worried about. Thanks to the Internet, it&#8217;s very easy to reach out and connect with other people. I regularly share my progress with some friends and family members, and I always enjoy hearing their comments and reactions (even the not so positive ones&#8211;especially those actually). I also meet in a semi-regularly basis with my friend <a href="http://www.davidfennema.com/">Dave</a>, who is doing all the graphic design for my app (and he&#8217;s the mastermind behind the Power of Two logo).  Those meetings are always very inspiring, and usually result in all sorts of new ideas flying around and a flurry of activity in the days following.</p>
<p>Having non-work related hobbies really helps to keep me from spending too much time on work. Training for half marathons (I keep saying that one of these days I&#8217;ll do a full marathon&#8211;we&#8217;ll see about that), or just getting back in shape to do a century on my bike require quite a time commitment and keep me in shape and in top mental shape.</p>
<p>I suppose this is exactly the feeling that some companies try to encourage in their employees. They hire people who are really passionate about their work, give them the means and the freedom to do it, and hope they pour their heart into it. They just have to hope that their employees are able to keep themselves from burning out. That might be easier if you&#8217;re forced to work from an office environment, totally separate from home. On the other hand, being away from your family for longs periods of time eventually takes a toll on happiness and morale.</p>
<p>That&#8217;s a totally different beast from the kind of crunch that is rampant in the games industry. I define crunch as having to mandate long work hours (either explicitly or through peer pressure&#8211;which is more sublte and infinitely more evil). In one case, you&#8217;re so passionate about what you&#8217;re doing that you can&#8217;t wait to go back to work on Monday morning. In the other case, you&#8217;re still stuck to your desk come Monday morning because you were forced to work the weekend and get a build ready for some marketing demo. One is a very rewarding life, the other is soul-draining. One results in happy, ultra-productive people and the other degenerates into a death march, people leaving, and projects being even more delayed.</p>
<p>So, even with the February deadline looming, I want to take a few more hours these next few days and get back into the wrting swing of things. Besides, with the app coming up so soon, I should start thinking about announcing it soon! First I need to wrap up the Game Developer Magazine column due on Monday, but after that, I&#8217;ll try to start posting regular updates.</p>
<p>Until then, happy holidays to everybody. I hope you&#8217;re taking some time off, or at least doing what you really love.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies&amp;title=No%20Rest%20for%20The%20Indies&amp;bodytext=You%27d%20think%20that%20things%20would%20slow%20down%20around%20Christmas%20time%20over%20here.%20And%20that%20I%20would%20have%20lots%20of%20time%20to%20catch%20up%20and%20write%20about%20all%20the%20things%20I%20keep%20jotting%20down%20in%20my%20overflowing%20%22to%20write%22%20list.%20Right%3F%20Unfortunately%20that%27s%20not%20the%20case.%0D%0A%0D" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies&amp;title=No%20Rest%20for%20The%20Indies&amp;notes=You%27d%20think%20that%20things%20would%20slow%20down%20around%20Christmas%20time%20over%20here.%20And%20that%20I%20would%20have%20lots%20of%20time%20to%20catch%20up%20and%20write%20about%20all%20the%20things%20I%20keep%20jotting%20down%20in%20my%20overflowing%20%22to%20write%22%20list.%20Right%3F%20Unfortunately%20that%27s%20not%20the%20case.%0D%0A%0D" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies&amp;t=No%20Rest%20for%20The%20Indies" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies&amp;title=No%20Rest%20for%20The%20Indies" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies&amp;title=No%20Rest%20for%20The%20Indies" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=No%20Rest%20for%20The%20Indies&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fno-rest-for-the-indies&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/no-rest-for-the-indies/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Day in the Life</title>
		<link>http://gamesfromwithin.com/a-day-in-the-life</link>
		<comments>http://gamesfromwithin.com/a-day-in-the-life#comments</comments>
		<pubDate>Sun, 05 Feb 2006 23:43:06 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Project management]]></category>
		<category><![CDATA[Software engineering]]></category>

		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=340</guid>
		<description><![CDATA[High Moon Studios is an unusual company in the games industry. We're applying agile methodologies for all of our development. My team in particular is using both Scrum (an agile management methodology) and Extreme Programming (an agile engineering methodology). And yes, that means we're doing pair programming, test-driven development, and all the other often controversial practices. I expect that in a few years, these practices will be a lot more common than they are today.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://highmoonstudios.com/">High Moon Studios</a> is an unusual company in the games industry. We&#8217;re applying agile methodologies for all of our development. My team in particular is using both Scrum (an agile management methodology) and Extreme Programming (an agile engineering methodology). And yes, that means we&#8217;re doing pair programming, test-driven development, and all the other often controversial practices. I expect that in a few years, these practices will be a lot more common than they are today.<span id="more-49"></span></p>
<p>This article was first published in the 2005 Career Guide issue of Game Developer Magazine.</p>
<p>I lead the R&amp;D team here, and my team&#8217;s primary responsibility is to come up with the technology that game teams use for different projects. Nowadays, that means putting a lot of middleware programs through their paces and choosing the ones that suit our needs. But it also means getting down and dirty and writing a lot of code for our engine and tools.</p>
<p>With that in mind, come on and follow me through a typical workday.</p>
<p><strong>8:10 AM</strong></p>
<p>I roll in to work on my bicycle like I do every day. Even though I&#8217;m an early bird, Jim, a programmer in my team, arrived a few minutes earlier and is already at his desk.</p>
<p>I quickly catch up with my email. I also notice that the PCLint pass on our codebase last night caught a couple of minor warnings, so I quickly fix those and check them in.</p>
<p><strong>8:20 AM</strong></p>
<p>Today is Tuesday and our two-week iteration ends on Friday. An iteration consists of a fixed period (usually two weeks in our case) during which the team commits to deliver a set of functionality described through customer stories. The customer (in our case the other internal teams in our company) creates and prioritizes a set of stories. My team then breaks down those stories into tasks and estimates how long they will take to complete (tasks vary between 1 and 8 hours).</p>
<p>Jim and I walk over to the &#8220;war room&#8221; (the room with all the task cards corresponding to user stories pinned to the wall) and we choose the task that reads &#8220;Blend ragdoll and animation,&#8221; which is part of the user story listed as &#8220;Throwing a rigid body at a character and seeing a hit reaction.&#8221; The task was originally estimated at 3 hours, but now that we know that the ragdoll system is a bit more complicated than we thought, we re-estimate it at 4 hours.</p>
<p><strong>8:23 AM</strong></p>
<p>In addition to our own personal desk areas, we have pair-programming stations in the R&amp;D lab, with two monitors, two keyboards, two mice, two chairs, and plenty of room for two people. All production code is written by pairs of programmers. We grab a station and start working on the task.</p>
<p>Since we&#8217;re using test-driven development, we first write a very simple unit test for what we want to do, and only then write the code to make it pass. In this case, our first test checks that we create a blender object without inputs and that it produces no output. Then we write the blender class and make the test pass. It&#8217;s a tiny step, but it&#8217;s a step in the right direction. The whole cycle of write test, write code to make test pass, refactor, takes only 5-10 minutes, and we do it over and over.</p>
<p><strong>8:39 AM</strong></p>
<p>We have implemented a small amount of functionality, and all the code builds and all tests pass, so we check it in source control. This is called continuous integration, and it requires that programmers work on the latest version in source control and check in their own changes many times throughout the day.</p>
<p><strong>8:50 AM</strong></p>
<p>Other people from the team roll in, grab other pair programming stations, and start going at it. On their way in we have a quick chat and find out what we&#8217;re all working on.</p>
<p align="center"><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/42_hms/highmoon1.jpg" alt="Work hard..." hspace="10" width="500" height="289" align="middle" /><br />
<span class="caption">Work hard&#8230;</span></p>
<p><strong>9:37 AM</strong></p>
<p>I overhear Joel and Gary discussing how they&#8217;re going to test something that requires updating the physics simulations. I just did that a couple of days ago so I jump in the discussion. It turns out they need to do something that is almost the same as what I already did, so I point them to what I wrote and they will modify it to suit their needs.</p>
<p><strong>10:05 AM</strong></p>
<p>Things are moving along very nicely. We&#8217;ve checked in four times already this morning. When a pair gets really going, they might check in as many as 20 or more times in a single day. At this rate we might be done sooner than the four hours we had estimated.</p>
<p><strong>10:14 AM</strong></p>
<p>We have the daily Scrum meeting at 10:15, so we head over to the war room. Scrum meetings are very short, standup meetings with the whole team (eight people plus Brian, our producer). We quickly go around the room discussing what people are doing to get everybody up to speed.</p>
<p><strong>10:23 AM</strong></p>
<p>During the meeting the topic of how we&#8217;re loading physics assets came up. So we return to the pair programming area and have a quick discussion with everybody involved. We draw some quick UML charts on a whiteboard, think about how the data is going to be passed around, and after ten minutes we reach an agreement and go back to work on our tasks.</p>
<p><strong>11:15 AM</strong></p>
<p>We got the blending working correctly. All the unit tests pass, although we haven&#8217;t implemented it in the demo yet. There&#8217;s another task card for that. We check the code in right away. The code definitely can stand to improve in a few places because we were just concentrating on getting things working, so we spend some time refactoring. We have lots of unit tests, so we&#8217;re confident our refactoring isn&#8217;t introducing any bugs.</p>
<p><strong>11:56 AM</strong></p>
<p>The code is now in a much better state. We check it in and wait a few minutes for the build server to report that everything built correctly and all tests passed. During that time we talk about what the next task should be.</p>
<p><strong>12:05 PM</strong></p>
<p>We have nice shoulder-high surf today, so I&#8217;m going out surfing at lunch with several of my teammates. If it&#8217;s not surfing, it&#8217;s a basketball game, cycling, running, or even yoga. If all else fails, there&#8217;s always a game of <em>Guild Wars</em> with the rest of the High Moon clan.</p>
<p><strong>1:10 PM</strong></p>
<p>Back at my desk I eat a quick lunch while I catch up on my email (which I haven&#8217;t read since this morning because I&#8217;ve been at the pair programming station). I read an email from a middleware developer in response to one of our queries earlier in the day and fire back a quick response.</p>
<p><strong>1:25 PM</strong></p>
<p>Sean stops by my desk. He&#8217;s ready to go back to work, but the programmer he was pairing with in the morning got pulled to work on some last-minute issues with <em>Darkwatch</em>, which is about to go gold and has priority over anything we&#8217;re doing.</p>
<p>Sean quickly brings me up to speed on what they had been working on that morning, which was to display the exact memory usage for our physics system. I remember them mentioning that in this morning&#8217;s Scrum meeting. I also worked on the physics system last week, so I&#8217;m pretty familiar with the code. In a couple of minutes we&#8217;re already making progress.</p>
<p align="center"><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/42_hms/highmoon2.jpg" alt="...rock hard" hspace="10" width="500" height="282" align="middle" /><br />
<span class="caption">&#8230; rock hard <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </span></p>
<p><strong>2:07 PM</strong></p>
<p>After writing several unit tests and implementing some functionality, we&#8217;re ready to add the memory display to the demo program. A couple of minutes later, we have a display in the demo indicating how much memory the physics system is using, and we see it go up and down as we add and remove rigid bodies from the demo.</p>
<p>But something is wrong. When we remove rigid bodies, the memory doesn&#8217;t come down to the same level it was before. We exit the demo and we see a long memory leak dump. First things first, we check in our changes, and then we dive in and look for the code that is leaking memory. It&#8217;s probably not caused by the code we just wrote, but we have &#8220;collective code ownership,&#8221; which means that everybody is expected to fix anything that needs fixing anywhere.</p>
<p><strong>2:12 PM</strong></p>
<p>The build just broke! The build server detected a failed build and notified us through a system tray application. I bring up the latest build log and I see that one of the unit tests failed in release mode. Tyson, who is sitting at the station next to ours, says &#8220;Oh yeah, I know what that is. I&#8217;ll fix it right now.&#8221; In less than 30 seconds he makes the change, and checks it in. A few minutes later, the build system reports a passing build and everything is back to normal.</p>
<p><strong>2:17 PM</strong></p>
<p>We found the memory leak. It was a misuse of reference counting. We first wrote a unit test that showed it failing, and then we fixed in the physics library. We check in our code.</p>
<p><strong>2:18 PM</strong></p>
<p>We go to the war room and grab the next task. This one has to do with being able to expose different variables and functions on the demo to tweak them through a GUI. We sign up for the task and start working on it.</p>
<p><strong>3:43 PM</strong></p>
<p>We&#8217;re totally in the zone. We&#8217;ve been writing tests and code like crazy and this task is going really well. We&#8217;ve done three check-ins for this task alone in the last hour.</p>
<p><strong>4:12 PM</strong></p>
<p>Another pair is discussing how to handle errors for some particular case. This is an important topic and it should be done consistently across all the code, so we have a quick discussion about it involving most of the team. Five minutes later we&#8217;ve made a decision and we all resume working on what we were doing before.</p>
<p><strong>5:40 PM</strong></p>
<p>We do our last check in for the day. We&#8217;re almost done with the task, but not quite there yet. Even though we could stay another hour and try to finish it, we&#8217;re both quite tired by now and we&#8217;re starting to not think as clearly and make some mistakes. We can wrap this up tomorrow morning as soon as we get in. The important part is that we got to a state where we could check in.</p>
<p>We have a rule that says nobody can check in code and leave. You have to wait for the build server to build the code successfully and pass all the tests. We keep build times short, so that usually means hanging around an extra 4-5 minutes. If anything breaks, you need to fix it or revert what you did, but there&#8217;s no excuse to leave with a broken build.</p>
<p>While I&#8217;m waiting for the build server to finish, I check the pile of email that accumulated in my inbox during the day.</p>
<p><strong>5:44 PM</strong></p>
<p>After a few minutes we get the green go ahead from the build server. Today was a pretty productive day, and at this pace we will definitely complete all the user stories by Friday. The demo we&#8217;re putting together is also starting to look very cool.</p>
<p>One of the things that agile development, and especially pair programming, does is to make each day very intense. There are no little breaks to read email, check a web site, or just goof around. We get a lot accomplished in a work day, but we can&#8217;t keep that pace for a long time, so it&#8217;s important to call it quits and go home. That leaves me with time at home to read technical books, prototype different ideas, or work on side projects in addition to unwinding, spending time with my family, and enjoying other hobbies.</p>
<p>I hop on my bike and head home with a big smile on my face.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life&amp;title=A%20Day%20in%20the%20Life&amp;bodytext=High%20Moon%20Studios%20is%20an%20unusual%20company%20in%20the%20games%20industry.%20We%27re%20applying%20agile%20methodologies%20for%20all%20of%20our%20development.%20My%20team%20in%20particular%20is%20using%20both%20Scrum%20%28an%20agile%20management%20methodology%29%20and%20Extreme%20Programming%20%28an%20agile%20engineering%20methodology%29.%20And%20yes%2C%20that%20means%20we%27re%20doing%20pair%20programming%2C%20test-driven%20development%2C%20and%20all%20the%20other%20often%20controversial%20practices.%20I%20expect%20that%20in%20a%20few%20years%2C%20these%20practices%20will%20be%20a%20lot%20more%20common%20than%20they%20are%20today." title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life&amp;title=A%20Day%20in%20the%20Life&amp;notes=High%20Moon%20Studios%20is%20an%20unusual%20company%20in%20the%20games%20industry.%20We%27re%20applying%20agile%20methodologies%20for%20all%20of%20our%20development.%20My%20team%20in%20particular%20is%20using%20both%20Scrum%20%28an%20agile%20management%20methodology%29%20and%20Extreme%20Programming%20%28an%20agile%20engineering%20methodology%29.%20And%20yes%2C%20that%20means%20we%27re%20doing%20pair%20programming%2C%20test-driven%20development%2C%20and%20all%20the%20other%20often%20controversial%20practices.%20I%20expect%20that%20in%20a%20few%20years%2C%20these%20practices%20will%20be%20a%20lot%20more%20common%20than%20they%20are%20today." title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life&amp;t=A%20Day%20in%20the%20Life" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life&amp;title=A%20Day%20in%20the%20Life" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life&amp;title=A%20Day%20in%20the%20Life" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=A%20Day%20in%20the%20Life&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fa-day-in-the-life&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/a-day-in-the-life/feed</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Book Review: Pair Programming Illuminated</title>
		<link>http://gamesfromwithin.com/book-review-pair-programming-illuminated</link>
		<comments>http://gamesfromwithin.com/book-review-pair-programming-illuminated#comments</comments>
		<pubDate>Wed, 18 May 2005 03:39:05 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Project management]]></category>

		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=332</guid>
		<description><![CDATA[Pair programming really needs to be experienced to be fully appreciated. Just a few years ago, I loved my single office and I was completely against the idea of spending all my time programming with somebody else sitting at the same computer. Today I advocated using pair programming at work and I gladly gave up my office to work in a pair-programming lab alongside the whole team. Funny how things change.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p>Pair programming really needs to be experienced to be fully appreciated. Just a few years ago, I loved my single office and I was completely against the idea of spending all my time programming with somebody else sitting at the same computer. Today I advocated using pair programming at work and I gladly gave up my office to work in a pair-programming lab alongside the whole team. Funny how things change.</p>
<p><span id="more-41"></span></p>
<p><a href="http://www.amazon.com/Pair-Programming-Illuminated-Laurie-Williams/dp/0201745763%3FSubscriptionId%3D02E5W5871AJF7PMMMS82%26tag%3Dgamesfromwith-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0201745763"><img src="http://ecx.images-amazon.com/images/I/51TXKD0A6VL._SL160_.jpg" alt="" /></a></p>
<p>For the last few months we&#8217;ve been doing <a href="http://pairprogramming.com/">pair programming</a> <a href="http://highmoonstudios.com/index.cfm">at work</a>. And not just pair programming, but full extreme programming with test-driven development, continuous integration, collective code ownership, customer-driven stories, team co-location, etc. It has been a fascinating experience and it has been working out better than I even imagined.</p>
<p>I felt that all the extreme programming books I had read just touched on the subject but were light on the specifics. What&#8217;s more, it&#8217;s one thing to read about it, and something completely different to actually do it. Once we started doing it, there were some very basic questions that immediately popped up: What do we do with an odd number of people? How often should we rotate pairs? How are pairs formed? How often should we be switching drivers? Is it normal to be exhausted after several hours of pairing? etc, etc, etc. With questions like that in mind, I decided to pick up a copy of <em>Pair Programing Illuminated</em>. I was hoping it would provide me with the tips and experience of veteran pair-programmers and jump-start our experience.</p>
<p>Unfortunately, it failed in that respect.</p>
<p>Pair programming really needs to be experienced to be fully appreciated. Just a few years ago, I loved my single office and I was completely against the idea of spending all my time programming with somebody else sitting at the same computer. Today I advocated using pair programming at work and I gladly gave up my office to work in a pair-programming lab alongside the whole team. Funny how things change.</p>
<p>First I started to warm up to the idea by observing how useful it was to sit down with someone and work with them on a piece of code, either debugging it or working through the initial design. Then it finally hit me when I realized that most of the problems that we have as programmers are not due to lack of skill or technology, but rather to lack of communication. Two programmers who communicate well and work very closely with each other will get a lot further than two people who shut themselves in their office, refuse to talk, and are hostile about anybody touching their code. When you only have a couple of people, it might not matter. But as teams grow and we have eight, ten, or more programmers, then communication becomes a much bigger issue.</p>
<p><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/35_pairprog/tandem.jpg" alt="tandem" width="201" height="154" align="right" /> But pair programming goes much further then just increased communication. It spreads knowledge through the team like wildfire. And that knowledge is not just of the code you&#8217;re writing, but also programming languages, design approaches, standards, tools, debugging techniques, etc.</p>
<p>Pair programming is also a key step towards having collective code ownership: code that everybody feels is his or her own and is willing to modify whenever it&#8217;s necessary. I&#8217;ve said it many times and I&#8217;ll say it again: the quality of a code base is directly related to how easy it is to modify. The more people feel that they know what&#8217;s going on, the more willing they will be to modify it whenever it&#8217;s necessary (and it&#8217;s much better to modify it in small steps than to take a huge hit and try to do a huge modification at once). The main ingredient of a healthy, easily modifiable codebase is unit tests, but that&#8217;s a whole other story.</p>
<p>Another consequence of pair programming is the reduction of sloppy or bizarre or just plain wrong code. It&#8217;s a lot harder for horrible code to happen when two people are at the computer writing something. Whenever the driver starts getting lazy and writing sloppy code, the other person immediately asks &#8220;What the hell are you doing? Shouldn&#8217;t we be doing this instead?&#8221; That&#8217;s usually enough to spur the driver into doing the right thing. Otherwise, he can always pass that keyboard and say &#8220;Fine, you do it.&#8221; I&#8217;ve been on both the giving and the receiving end of that situation, and it really works. In the end, you end up with a much better code base.</p>
<p>Finally, a consequence of pair programming that should not be underestimated is that it really fosters team spirit. Sometimes it&#8217;s hard to see that we&#8217;re all in the same team working towards the same goal. Extreme programming helps a lot in this regard, but pair programming helps a huge amount to get close and personal with your teammates and get to know them a lot better.</p>
<p>All right, going back to the book, where does it fit in? It has a fairly narrow focus, but somehow it tries to appeal to many people. In the introduction, they claim they are targeting developers who are thinking of trying pair programming (or convincing their bosses to do so), developers currently doing it, managers, QA, and even educators! I&#8217;m afraid that they over-reached a bit and spread themselves too thin on the ground.</p>
<p>The book is divided in four parts:</p>
<p><strong>Part 1: Benefits of pair programming and how to sell it to your bosses and organization.</strong> This is the best-developed part, and this is where the strength of the book really is. Unfortunately, that&#8217;s not what I was looking for since we had already sold the idea of pair programming, but it could be useful for people hoping to roll it out in their organizations.</p>
<p><a href="http://www.cenqua.com/pairon/"><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/35_pairprog/pairon.jpg" border="0" alt="pairon" width="200" height="131" align="right" /></a> Of most interest are the studies that make a business case for pair programming and show how it really is not a wasteful use of resources. Just recently I was telling a friend how I was doing pair programming at work and his first comment was &#8220;Wow! I can&#8217;t imagine us doing that for budget/time-constraint reasons, but that sounds interesting.&#8221; But the whole point of pair programming is that it&#8217;s supposed to be better in the long run (and &#8220;long run&#8221; can be as short as a few months, and certainly less than one project cycle). This part will give you ammunition to debate this point.</p>
<p><strong>Part 2: Getting started.</strong> This is what I really wanted to read a whole book about. It covers some things like the work environment and pair rotation. Unfortunately, it&#8217;s way too short and elementary. It covers a few of the basics and quickly moves on. This leaves the door wide open for another book on pair programming. If anybody knows of one that covers this topic, let me know.</p>
<p><strong>Part 3: Tips and tricks.</strong> This section is completely forgettable. The book spends almost 100 pages (out of a slim total 260 pages) discussing different pair personalities: introvert-extrovert, introvert-introvert, gender and race issues, etc. Frankly, I didn&#8217;t get a single thing out of this section, which is very disappointing.</p>
<p><strong>Parts 4 and 5: Miscellaneous stuff and case studies.</strong> I guess the book had to be bulked up a bit more, so it dedicates a chapter to extreme programming (go read <em><a href="http://www.amazon.com/exec/obidos/ASIN/0321278658/ref=nosim/gamesfromwith-20">Extreme Programming Explained</a></em> instead) and another to <a href="http://collaboration.csc.ncsu.edu/laurie/Papers/dissertation.pdf">Collaborative Software Process</a>. Not much else of interest here either.</p>
<p>Given the lack of literature in pair programming, the book is definitely worth a quick read if you&#8217;re thinking of rolling out pair programming in your company. Part 1 will give you some good arguments to discuss with your managers and ease their fears. Otherwise, if you&#8217;re already doing pair programming there really isn&#8217;t much of value. It&#8217;s maybe worth a quick leafing through, but that&#8217;s about it.</p>
<p>In any case, if you haven&#8217;t tried pair programming, I really encourage you to give it a try. You don&#8217;t need to make it a sanctioned activity in your company. As long as you have somebody else willing to try it, you can both try the experiment of doing pair programming with each other working on both your tasks. You might be surprised that you manage to do both sets of tasks in the same amount of time it would have taken before, but with better quality, and, most importantly, you had a really good time in the process.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated&amp;title=Book%20Review%3A%20Pair%20Programming%20Illuminated&amp;bodytext=Pair%20programming%20really%20needs%20to%20be%20experienced%20to%20be%20fully%20appreciated.%20Just%20a%20few%20years%20ago%2C%20I%20loved%20my%20single%20office%20and%20I%20was%20completely%20against%20the%20idea%20of%20spending%20all%20my%20time%20programming%20with%20somebody%20else%20sitting%20at%20the%20same%20computer.%20Today%20I%20advocated%20using%20pair%20programming%20at%20work%20and%20I%20gladly%20gave%20up%20my%20office%20to%20work%20in%20a%20pair-programming%20lab%20alongside%20the%20whole%20team.%20Funny%20how%20things%20change." title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated&amp;title=Book%20Review%3A%20Pair%20Programming%20Illuminated&amp;notes=Pair%20programming%20really%20needs%20to%20be%20experienced%20to%20be%20fully%20appreciated.%20Just%20a%20few%20years%20ago%2C%20I%20loved%20my%20single%20office%20and%20I%20was%20completely%20against%20the%20idea%20of%20spending%20all%20my%20time%20programming%20with%20somebody%20else%20sitting%20at%20the%20same%20computer.%20Today%20I%20advocated%20using%20pair%20programming%20at%20work%20and%20I%20gladly%20gave%20up%20my%20office%20to%20work%20in%20a%20pair-programming%20lab%20alongside%20the%20whole%20team.%20Funny%20how%20things%20change." title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated&amp;t=Book%20Review%3A%20Pair%20Programming%20Illuminated" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated&amp;title=Book%20Review%3A%20Pair%20Programming%20Illuminated" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated&amp;title=Book%20Review%3A%20Pair%20Programming%20Illuminated" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Book%20Review%3A%20Pair%20Programming%20Illuminated&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-pair-programming-illuminated&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/book-review-pair-programming-illuminated/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Book Review: Waltzing with Bears</title>
		<link>http://gamesfromwithin.com/book-review-waltzing-with-bears</link>
		<comments>http://gamesfromwithin.com/book-review-waltzing-with-bears#comments</comments>
		<pubDate>Fri, 31 Dec 2004 03:04:16 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Project management]]></category>

		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=319</guid>
		<description><![CDATA[Exactly a year ago today, I put up the first article on Games from Within. It was a review of Tom DeMarco's book Slack. I thought it would make for a nice, symmetrical bookend to wrap the year up with a review for another book by DeMarco: Waltzing with Bears.



As the subtitle indicates, Waltzing with Bears deals with managing risk in software development projects. Managing risk, not reducing risk, or removing risk. Do you think that low risk or even no risk is a good thing? Think again.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p>Exactly a year ago today, I put up <a href="http://www.gamesfromwithin.com/?p=4">the first article on Games from Within</a>. It was a review of Tom DeMarco&#8217;s book <a href="http://www.amazon.com/exec/obidos/ASIN/0767907698/ref=nosim/gamesfromwith-20"><em>Slack</em></a>. I thought it would make for a nice, symmetrical bookend to wrap the year up with a review for another book by DeMarco: <em>Waltzing with Bears</em>.</p>
<p>As the subtitle indicates, <em>Waltzing with Bears</em> deals with managing risk in software development projects. Managing risk, not reducing risk, or removing risk. Do you think that low risk or even no risk is a good thing? Think again. One of the central points of the book is that a project with no risk is not worth doing. Yes, you read that correctly. Intrigued? Go and read the book right now.</p>
<p><span id="more-30"></span></p>
<p><a href="http://www.amazon.com/Waltzing-Bears-Managing-Software-Projects/dp/0932633609%3FSubscriptionId%3D02E5W5871AJF7PMMMS82%26tag%3Dgamesfromwith-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0932633609"><img src="http://ecx.images-amazon.com/images/I/51-rl%2BHulCL._SL500_.jpg" alt="" /></a></p>
<p>I have to admit that the idea caught me by surprise as well. Maybe because I was used to the high-risk environment of game development, I always thought the best thing you could do for a project was to minimize the risk. But, as the authors point out, a project with no risk is not worth doing. It&#8217;s not going to enrich you in any way, and anybody can do it anyway. Their point is that risk and benefits are tied together. A project with a certain amount of risk will come with a certain amount of benefits.</p>
<p>Now that I&#8217;ve gotten quite a bit into playing poker, I see it very much like the analysis of expectation in poker. You want to bet when there&#8217;s a positive expected value, that is, when the potential benefits you&#8217;ll get from the bet outweigh the potential loss of money. As with poker, you can choose little risk and little benefit situations, or you can aim for high risk but huge potential payoffs (especially in no-limit poker). What you want to avoid are dead-end situations with high risk and very little payoff.</p>
<p>In particular, the authors single out <a href="http://www.yourdon.com/books/coolbooks/notes/dmsummary.html">death march projects</a> as being of extremely low value.</p>
<div class="quote">
<p>On a death march, unflinching sacrifice from each and every project member is absolutely required. The project demands abandonment of personal life, tons of overtime, Saturdays and Sundays in the office, estrangement from family, and so on. Nothing less than total dedication to the project can be accepted.</p></div>
<p>Sounds strangely familiar, doesn&#8217;t it? The book then goes on to say:</p>
<div class="quote">
<p>In our experience, the one common characteristic among death-march projects is low expected value. They are projects aimed at putting out products of monumental insignificance. The only real justification for the death march is that with value so minuscule, doing the project at normal cost would clearly result in costs that are greater than benefits. Only with heroic effort can one hope to make the pig fly.</p></div>
<p>Next time you&#8217;re deep into your third 60+ hour week in a row, think about those statements again and try to look at the big picture of your project in a new light. That just adds more fuel to the fire to <a href="http://www.gamesfromwithin.com/?p=24">my arguments against extended overtime and death march projects in general</a>.</p>
<p>There are some things you need to watch out for if you&#8217;re going to start directly managing risk in your organization. The biggest problem you might encounter is that to manage risk you need to be brutally honest about the current situation of the project and possible negative outcomes. In a company where risk management is not a usual activity, it may come across as being overly negative, and you might scare away developers or even upper management. It can be particularly dangerous to do in a company with a very macho, “can-do” attitude (also described in the book as testosterone-based decision making), which is unfortunately <a href="http://www.gamesfromwithin.com/articles/0405/000023.html">all too familiar in the games industry</a>.</p>
<p>One of the tools used throughout the book to describe projects and risks is probability curves. This emphasizes how things are not black and white. You don&#8217;t necessarily answer the question “when is the project going to be completed?” with a firm date, but with a probability curve. Looking at it tells you how likely the project is of being completed by a particular date (assuming the analysis was done correctly). The more “noise” and uncertainty there is in the project, the wider the curve is going to be. Unfortunately, it seems that it&#8217;s describing the games industry to a T again, because we tend to have a lot of uncertainty in our projects with moving technology targets and a somewhat whimsical market.</p>
<p>Another very interesting observation brought up in <em>Waltzing with Bears</em> is the concept of “early delivery.” Of all the games you worked on, how many of them were delivered early? Yeah, that&#8217;s what I figured. Same thing with me. Not a single one. Early delivery is seen as somewhat of a taboo. As if you didn&#8217;t work hard enough or you could have done a better job otherwise. So clearly, companies will never deliver a project earlier than the commit date. At best, they&#8217;ll do it by the exact deadline. At worst, the project will slip. As long as the two only possible outcomes are “on time” or “late,” then projects are very likely to keep being late. That&#8217;s some food for thought.</p>
<p>Later in the book, in the chapter about risk mitigation strategies, the authors make one very astute observation that I&#8217;ve seen repeated over and over in the projects I&#8217;ve worked on: projects that finish late are almost always projects that started too late. Truer words were never spoken. There are often very good reasons why a project can&#8217;t get started when it should (helping out another project, lack of funding, etc), but those weeks or months lost early on would be precious towards the end.</p>
<p>Perhaps it&#8217;s because I have a hopeless <a href="http://c2.com/cgi/wiki?BreadthFirstLearning">breadth-first personality</a>, but I hate when books try to cover every single insignificant detail from the very beginning before giving you the big picture. I would much rather get a couple of passes, each building on what I learned in the previous one. That&#8217;s exactly what <em>Waltzing with Bears</em> does, with the first 50 pages dealing with an introduction and motivation to risk management, and the remaining 140 pages covering the same material in more depth and giving it a more advanced treatment. More books should learn from that organization.</p>
<p>Just go ahead and read the book and then pass it on to your manager. It&#8217;s short and well worth the read. The important thing is that somebody in your project should be actively managing risk and balancing how much risk you take versus what the potential benefits will be. Otherwise you might run into some very ugly situations that might lead to the cancellation of the project itself.</p>
<p>May 2005 be everything you hope for, and may your projects be managed wisely, with just the right amount of risk. Happy holidays to everybody!</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears&amp;title=Book%20Review%3A%20Waltzing%20with%20Bears&amp;bodytext=Exactly%20a%20year%20ago%20today%2C%20I%20put%20up%20the%20first%20article%20on%20Games%20from%20Within.%20It%20was%20a%20review%20of%20Tom%20DeMarco%27s%20book%20Slack.%20I%20thought%20it%20would%20make%20for%20a%20nice%2C%20symmetrical%20bookend%20to%20wrap%20the%20year%20up%20with%20a%20review%20for%20another%20book%20by%20DeMarco%3A%20Waltzing%20with%20Bears.%0D%0A%0D%0A%0D%0A%0D%0AAs%20the%20subtitle%20indicates%2C%20Waltzing%20with%20Bears%20deals%20with%20managing%20risk%20in%20software%20development%20projects.%20Managing%20risk%2C%20not%20reducing%20risk%2C%20or%20removing%20risk.%20Do%20you%20think%20that%20low%20risk%20or%20even%20no%20risk%20is%20a%20good%20thing%3F%20Think%20again." title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears&amp;title=Book%20Review%3A%20Waltzing%20with%20Bears&amp;notes=Exactly%20a%20year%20ago%20today%2C%20I%20put%20up%20the%20first%20article%20on%20Games%20from%20Within.%20It%20was%20a%20review%20of%20Tom%20DeMarco%27s%20book%20Slack.%20I%20thought%20it%20would%20make%20for%20a%20nice%2C%20symmetrical%20bookend%20to%20wrap%20the%20year%20up%20with%20a%20review%20for%20another%20book%20by%20DeMarco%3A%20Waltzing%20with%20Bears.%0D%0A%0D%0A%0D%0A%0D%0AAs%20the%20subtitle%20indicates%2C%20Waltzing%20with%20Bears%20deals%20with%20managing%20risk%20in%20software%20development%20projects.%20Managing%20risk%2C%20not%20reducing%20risk%2C%20or%20removing%20risk.%20Do%20you%20think%20that%20low%20risk%20or%20even%20no%20risk%20is%20a%20good%20thing%3F%20Think%20again." title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears&amp;t=Book%20Review%3A%20Waltzing%20with%20Bears" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears&amp;title=Book%20Review%3A%20Waltzing%20with%20Bears" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears&amp;title=Book%20Review%3A%20Waltzing%20with%20Bears" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Book%20Review%3A%20Waltzing%20with%20Bears&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fbook-review-waltzing-with-bears&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/book-review-waltzing-with-bears/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>All Work No Play, Makes Jack a Dull Game Developer (Part 2)</title>
		<link>http://gamesfromwithin.com/all-work-no-play-makes-jack-a-dull-game-developer-part-2</link>
		<comments>http://gamesfromwithin.com/all-work-no-play-makes-jack-a-dull-game-developer-part-2#comments</comments>
		<pubDate>Mon, 06 Dec 2004 03:45:10 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Project management]]></category>

		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=314</guid>
		<description><![CDATA["Wanted: Young, skinny, wirey fellows not over 18. Must be expert riders willing to risk death daily. Orphans preferred. Wages $25 per week." Pony Express advertisement, 1860.



That would be a funny anachronism if it weren't still so true. In this second part f the article I argue that long hours in game development are not only something that could be avoided, but that they're actually detrimental to the project.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p><!-- All Work No Play, Makes Jack a Dull Game Developer (Part 2) --></p>
<div class="quote">
<p>“Wanted: Young, skinny, wirey fellows not over 18. Must be expert riders willing to risk death daily. Orphans preferred. Wages $25 per week.” Pony Express advertisement, 1860.</p></div>
<p>That would be a funny anachronism if it weren&#8217;t still so true. OK, so game companies are not asking potential candidates to risk death every day, but they surely are asking them to give up their lives to the company.</p>
<p><span id="more-25"></span></p>
<p>I really wish I had saved some of the truly horrible job listings that I have seen over the last few years to contrast it to the Pony Express one. Instead, the “best” one I was able to find on short notice was one with the following requirements:</p>
<div class="quote">
<p>“Be a self-starting, hard working individual capable of maintaining focus within a rigorous, deadline-driven production schedule. Have a passion for games.”</p></div>
<p>In itself, there&#8217;s nothing really wrong with those requirements. Heck, I consider myself to be a good fit based on that description. Unfortunately, this is more what the job listing is really looking for:</p>
<div class="quote">
<p>“Be a self-starting, hard working individual capable of maintaining focus in the face of massive crunch time and unrealistic milestones, and able to pull through with massive heroic efforts. Have a passion for games and nothing else, so you won&#8217;t mind spending all your time at the office. Not over 25. Singles preferred.”</p></div>
<p>In this second part I argue that long hours in game development are not only something that could be avoided, but that they&#8217;re actually detrimental to the project.</p>
<p><strong>Are long hours inevitable?</strong></p>
<p>I want to start by debunking fourth myths:</p>
<p><strong>Myth #1:</strong> There are lots of young kids out there willing to take our jobs.</p>
<p>That&#8217;s very true. However, most of those “kids” have no idea what the job is really about (hint, we&#8217;re not playing games all day long), and they&#8217;re hopelessly underqualified. So if a company decides to replace its staff with lots of young, inexperienced developers right out of college, well, that&#8217;s their choice. I doubt they&#8217;ll manage to create a decent game, and they surely won&#8217;t be able to make a second game with the same staff after burning everybody out. Ironically, this comes after the announcement that EA made in response to ea_spouse&#8217;s blog that they were planning to do 75% of their hires from developers straight out of college.</p>
<p>The modern version of this myth is offshore development. In some circles it has become quite a paranoia. It hasn&#8217;t hit us hard in the games industry yet, although art is the area seeing most jobs going abroad. I don&#8217;t want to get into an offshore debate here, but suffice to say that the jobs easiest to replace are those that can be done fairly mechanically, which are in turn the ones that can be done best during major crunch without a clear head.</p>
<p><strong>Myth #2:</strong> If you&#8217;re getting paid enough, you should be willing to work any amount of time.</p>
<p>So maybe this one is actually true. If someone is willing to pay me enough in one year that so that I don&#8217;t need to worry about money for the rest of my life, then sure, they can have my undivided attention 24/7 for a full 365 days. No questions asked. Most of the time though, we&#8217;re just talking about a few measly tens of thousands of dollars extra. Good money to be sure, but it doesn&#8217;t even come close to the value of spending time with my family, being outdoors, or just doing different activities.</p>
<p>So no, getting paid a good amount doesn&#8217;t entitle the company to my full devotion.</p>
<p><strong>Myth #3:</strong> If the company pays for overtime, then everything is OK.</p>
<p>Paying for overtime might be a good start, not because of the money (see myth #2), but because it would discourage companies from applying crunch time at the drop of a hat. Maybe they would start looking into alternatives (cutting features, delaying the release, changing design, etc).</p>
<p>But the point is, even if all the extra time is payed for, it won&#8217;t make people any more productive or make them do better-quality work. It&#8217;ll just make it so some of them don&#8217;t complaint so much. In the end though, most people would agree that receiving a lot of money and not having time to spend it is no way to live. It might be an OK short-term situation, but certainly not something to keep up indefinitely.</p>
<p><strong>Myth #4:</strong> We&#8217;re doing games because we love it, so we have to put up with any hours.</p>
<p>It&#8217;s true that most people are working in the games industry because they love what they do. Game development has been my hobby for as long as I can remember, and I&#8217;m currently as close to my dream job as I&#8217;m ever going to get. That doesn&#8217;t mean it&#8217;s not a job though. We&#8217;re professionals working for a company and getting paid to do a specific job. In the same way, I love cycling but it doesn&#8217;t mean I want to do it 12 hours a day every day (going out with the club on an hilly 80-mile Saturday ride is plenty, thank you <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>At the same time, it doesn&#8217;t mean that we&#8217;re counting the minutes before we can punch out at 5PM. Sometimes what we&#8217;re doing is fascinating and we want to spend some extra time. As long as people are still rested and motivated, that&#8217;s great.</p>
<p>So I claim that there&#8217;s nothing different about the games industry that makes long hours inevitable. The only remaining, and most important, question is whether long hours are actually useful and help ship a better product.</p>
<p><strong>Are long hours useful?</strong></p>
<p>I&#8217;m convinced that developing the technology for a game is like running a marathon. I really think that the analogy carries very far. Notice also that I qualified it as applying to the development of the technology, not the game as a whole. Design and art have some of that touchy-feely creative mystique that can be very bursty. Heck, some of the best art in the history of humankind has been done while under the heavy influence of drugs and totally altered psychological states. So for all I know sleep deprivation actually helps. I&#8217;m going to limit myself to talking about technology development, which is what I&#8217;m familiar with.</p>
<p>Just like in a marathon, you start out a project knowing that you have to accomplish something (ship a game), in a rough timeframe (2-3 years, or whatever the plan is). It&#8217;s true that in game development there are more unknowns and changes along the way (although there can be quite a few in a marathon as well—unexpected hills, cramps, dehydration, etc), but the same general principle applies.</p>
<p>The way game development seems to work is by snoozing through the initial gunshot. Instead of settling into an early even pace, we just doze off at the start line or do some stretching. Then, after a while, we start to leisurely walk down the course. We don&#8217;t worry because we&#8217;ve promised that we&#8217;ll hit the first timed spot by minute 30. As the clock rolls around to minute 25, we realize that we aren&#8217;t going to make it there by the time we promised at this pace, so we sprint for a couple of miles and manage to make it there in quite a heroic sprint. Mission accomplished for the moment. We sit down. Take a break. After all, we worked very hard. Then we repeat the same cycle, but each time less walking and more sprinting. Soon we start not meeting the times we wanted. Eventually, we&#8217;re faced with a situation that in order to complete the race in the time we wanted, we would have to sprint like hell for the rest of the course. So we actually go ahead and try it (knowing perfectly well that we&#8217;ve never been able to sprint like that for an extended period of time). Of course, we get really tired. We need to stop. We move back our estimates. We try it again. Eventually, if we&#8217;re lucky, we manage to make it to the finish line. Much later than we had hoped for, but we&#8217;re extremely proud of how much effort we put into it. “I gave it 120% percent in the last 5 miles, man!”</p>
<p>OK, enough of that story. The point is that the best marathons are run at a very constant pace. People who go too slow (or too hard) early on end up paying for it in the end.</p>
<div class="quote">
<p><strong>Edit:</strong> This is actually funny in an embarrasing kind of way. I had originally linked <a href="http://zhurnal.net/ww/zw?MarathonGraphs">some great plots of Marathon running times</a> that were supposed to support my theory of a steady pace winning at the end. Unfortunately, I read them backwards and they really were not helping any <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  I chuck that one to the runner not being a top-level athlete.</p>
<p>The following plot instead shows the times of some of the top positions in the <a href="http://www.bostonmarathon.org/BostonMarathon/108thMarathon.asp"> 2004 Boston Marathon</a>. It&#8217;s a much better example that the previous one because the data applies to top athletes and over the same course and the same day. The most important thing to notice is how constant the paces are. They&#8217;re almost perfectly linear for  runners 1, 8, and 15. Runner 21 on the other hand, is a good example of someone who was trying to push it too hard at the beginning and paid for it at the end. We&#8217;re still talking about world-class runners, so the differences are minimal, but it illustrates the point nicely.</div>
<div><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/marathon_1.png" alt="marathon" width="562" height="416" /></div>
<p>Fine. So &#8220;crunch time&#8221; doesn&#8217;t work for marathons, but what about for games? Does the snooze-and-sprint schedule pay off in game development?</p>
<p>From personal experience, I have to say the answer is absolutely not. I can totally feel how productivity starts dropping for me after 35-40 hours of work per week. There&#8217;s still some value in working about 60 hours because I will get more work done than in just 40 hours, but only about 10-20% more because the amount of work completed doesn&#8217;t scale linearly. After about 80-100 hours, productivity doesn&#8217;t just get slower, but it actually starts going down. Mistakes, bad decisions, and lousy quality quickly overwhelm any benefits from the extra hours.</p>
<p>So, is working 60-hour weeks best from a company point of view? Not really. If I try to keep the same schedule a second week in a row, productivity is much lower, and it drops off much more quickly. By the third week, we&#8217;re already in negative productivity territory after about 40-50 hours. The insane schedule from previous weeks takes its toll really quickly and it&#8217;s clearly felt. This is a rough plot of productivity vs. work hours. Keep in mind that I pulled the numbers out of thin air and they&#8217;re just based on personal experience.</p>
<div><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/hours_plot.png" alt="marathon" width="545" height="340" /></div>
<p>We also need to consider other consequences apart from pure productivity gains. We&#8217;re not machines (I&#8217;m not anyway). The third week in a row of crunch I&#8217;m basically working at half efficiency, and I really dislike that. I can&#8217;t think clearly. I see myself doing sloppy work. I just want to get done with stuff. All those things don&#8217;t make me any happier to have to spend countless hours at the office and take a big bite out of morale.</p>
<p>Am I alone feeling this way? <a href="http://c2.com/cgi/wiki?FortyHourWeek">Apparently not</a>. <a href="http://c2.com/cgi/wiki?OverTime">Plenty of other people seem to agree</a>. It seems pretty well documented that productivity plummets very quickly after a certain amount of hours. <a href="http://c2.com/cgi/wiki?KentOnWardOnSustainablePace">This quote</a> from the c2 Wiki summarizes it all for me:</p>
<p>The story that brought work hours home to me was one Ward tells. The C++ team was working nights and weekends, the Smalltalk team went home (tired) at 5 and rested all weekend. Management wasn&#8217;t happy with the results of either team, and pressured the Smalltalkers to work more hours. Ward&#8217;s response, &#8220;We would if it would help.&#8221;</p>
<p>Similar conclusions were reached in studies quoted in Tom DeMarco&#8217;s classic <a href="http://www.amazon.com/exec/obidos/ASIN/0932633439/ref=nosim/gamesfromwith-20"><em>Peopleware</em></a> and <a href="http://www.amazon.com/exec/obidos/ASIN/0767907698/ref=nosim/gamesfromwith-20"><em>Slack</em></a> books.</p>
<p>When I can work around 40 hours per week, I come in every day to work energized and looking forward to the day. I get tons accomplished. And when I get home, I actually spend quite a bit of time learning about related topics, working on different projects, or just letting my mind wander and do free associations. I tend to have most creative breakthroughs when I&#8217;m relaxing and doing something unrelated to work: riding my bike, showering, or even falling asleep (never go to bed without a notebook on the nightstand!). None of that happens as soon as the work hours start to increase. It might be a very small short-term gain, but a large long-term loss.</p>
<p>In conclusion, a short, focused, period of crunch time to reach a particular goal is probably fine and can be used to good effect. Anything longer than a week or two, and it starts having very negative consequences. In any case, you also need to make sure people get good rest afterwards, otherwise they won&#8217;t be able to go back to working at full efficiency.</p>
<p>Some people will argue that a two-week crunch every so often is good for the morale. I disagree with that. Who is going to be more proud of what they accomplished, the team who crunched for two weeks, or the one who didn&#8217;t have to do any crunch at all and met the same goals?</p>
<p><strong>How to avoid long hours?</strong></p>
<p>All this should be completely common sense, but I&#8217;ll reiterate here anyway.</p>
<ul>
<li>Don&#8217;t assume long hours are inevitable. Do what you can to avoid them.</li>
<li>Don&#8217;t waste time. Don&#8217;t re-write things you don&#8217;t have to. Don&#8217;t spend half the day talking by the coffee machine. Don&#8217;t play <em>Call of Duty</em> for 3 hours at lunch.</li>
<li>Don&#8217;t procrastinate. An hour of work now is just as precious and valuable as an hour before going gold. Do what you have to do now.</li>
<li>Prioritize your tasks (or get your manager/boss/designer to prioritize them for you). Be ready to drop the least essential tasks if you start running out of time.</li>
<li>Work with a sense of urgency. Large amount of pressure are no good and they tend to paralyze people or make them work in fear and make mistakes. On the other hand, no pressure at all tends to encourage people to take detours, and spend forever to get something perfect (as opposed to good enough to do what it needs to do). A small amount of pressure is perfect to keep the pace up.</li>
<li>Use agile development. It&#8217;s a great way to keep re-prioritizing your goals and hit moving targets.</li>
<li>Work hard for 40 hours. Play hard by going home at the end of the day. Maintain a <a href="http://c2.com/cgi/wiki?SustainablePace">sustainable pace</a>.</li>
</ul>
<p><strong>Conclusion</strong></p>
<p>The most important thing to keep in mind is not to do something you&#8217;re not happy with. Game development is a fascinating activity, but it doesn&#8217;t mean you have to give up the rest of your life to it. Anybody should be able to work in games and keep a reasonable life outside of work. If things are not reasonable at your company, bring up the subject and try to change it. Show them this article or some of the links mentioned here. If all fails, there are other companies out there that would be happy to have you.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2&amp;title=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%202%29&amp;bodytext=%22Wanted%3A%20Young%2C%20skinny%2C%20wirey%20fellows%20not%20over%2018.%20Must%20be%20expert%20riders%20willing%20to%20risk%20death%20daily.%20Orphans%20preferred.%20Wages%20%2425%20per%20week.%22%20Pony%20Express%20advertisement%2C%201860.%0A%0A%0A%0AThat%20would%20be%20a%20funny%20anachronism%20if%20it%20weren%27t%20still%20so%20true.%20In%20this%20second%20part%20f%20the%20article%20I%20argue%20that%20long%20hours%20in%20game%20development%20are%20not%20only%20something%20that%20could%20be%20avoided%2C%20but%20that%20they%27re%20actually%20detrimental%20to%20the%20project." title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2&amp;title=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%202%29&amp;notes=%22Wanted%3A%20Young%2C%20skinny%2C%20wirey%20fellows%20not%20over%2018.%20Must%20be%20expert%20riders%20willing%20to%20risk%20death%20daily.%20Orphans%20preferred.%20Wages%20%2425%20per%20week.%22%20Pony%20Express%20advertisement%2C%201860.%0A%0A%0A%0AThat%20would%20be%20a%20funny%20anachronism%20if%20it%20weren%27t%20still%20so%20true.%20In%20this%20second%20part%20f%20the%20article%20I%20argue%20that%20long%20hours%20in%20game%20development%20are%20not%20only%20something%20that%20could%20be%20avoided%2C%20but%20that%20they%27re%20actually%20detrimental%20to%20the%20project." title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2&amp;t=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%202%29" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2&amp;title=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%202%29" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2&amp;title=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%202%29" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%202%29&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-2&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/all-work-no-play-makes-jack-a-dull-game-developer-part-2/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>All Work No Play, Makes Jack a Dull Game Developer (Part 1)</title>
		<link>http://gamesfromwithin.com/all-work-no-play-makes-jack-a-dull-game-developer-part-1</link>
		<comments>http://gamesfromwithin.com/all-work-no-play-makes-jack-a-dull-game-developer-part-1#comments</comments>
		<pubDate>Sun, 05 Dec 2004 02:47:27 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Project management]]></category>

		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=313</guid>
		<description><![CDATA[It should be abundantly clear from past articles I've written (and from my rants

if you know me in person) that I feel very strongly about quality

of life issues in the games industry. It pains me to see rampant

overtime be commonplace, and the truly ironic part is, I'm

convinced it doesn't help the final game any. As a matter of fact,

it probably makes people be less productive and makes the game

suffer for it. Ah, but they crunched some impressive hours. They

have something they can feel proud of.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p><!--All Work No Play, Makes Jack a Dull Game Developer (Part 1) --></p>
<p>This article has been a long time coming. It should be abundantly clear from past articles I&#8217;ve written (and from my rants if you know me in person) that I feel very strongly about quality of life issues in the games industry. It pains me to see rampant overtime be commonplace, and the truly ironic part is, I&#8217;m convinced it doesn&#8217;t help the final game any. As a matter of fact, it probably makes people be less productive and makes the game suffer for it. Ah, but they crunched some impressive hours. They have something they can feel proud of.</p>
<p><span id="more-24"></span></p>
<p>In the meanwhile, people are finally starting to wake up and say enough is enough. As most people are probably already aware (after hitting Slashdot and all the major game news sites), a few days ago the brutally honest <a href="http://www.livejournal.com/users/ea_spouse/">blog entry from ea_spouse</a> caught everyone by surprise. To throw fuel in the fire, <a href="http://www.livejournal.com/users/joestraitiff/368.html">another great entry by EA ex-employee</a>, Joe Stratiff, quickly followed. Judging by the amount of attention they&#8217;re getting, people are clearly very interested.</p>
<p>It has since then made it to the national news, hitting the New York Times, the San Francisco Mercury, and many other national newspapers. I suspect the effects of these developments will be felt for the new few months with other follow ups in Game Developer Magazine and GDC presentations. There is even talk of a game development union. Whatever the direct results, those blog entires already accomplished a lot: raising the awareness of the working conditions of the industry. Putting an ugly truth in front of people&#8217;s faces.</p>
<p><strong>The state of the industry</strong></p>
<p>Those blog entries only dealt with EA. What about the rest of the games industry? EA is the major player in the games industry. They are the largest game development company, and they are one of the main publishers. In other words, they&#8217;re the big bully in the playground. If they do something, chances are it&#8217;s going to affect other people. Even worse, if they do something and it ends up being successful, other companies are quickly going to follow suit, or at least use it as a justification for their decisions.</p>
<p>But unfortunately rampant overtime and major crunch mode are not limited to EA. Most game development companies expect some level of crunch, usually about 65-80 hour weeks for up to a couple of months at the time. That&#8217;s not a one-time crunch either, but repeated multiple times during the development cycle.. What is worse, a lot of companies operate in a constant “crunch” mode, with 60-hour weeks being the norm. You can get all the detailed stats and lots of insightful commentary from the <a href="http://www.igda.org/qol/whitepaper.php">IGDA quality of life whitepaper</a>.</p>
<p>As is often the case, variety is good, and variety within companies in the games industry means that it is possible to find different working conditions depending of where you go. There are four types of companies with respect to crunch mode:</p>
<ol>
<li>On one end of the spectrum, we have companies like EA that just require overtime as a matter of fact. To be fair, not all EA studios operate under that mode. Apparently the one mentioned in the blogs was the LA studio. Several people are reporting that the situation is very different in EA Canada for example.</li>
<li>Some others will only require overtime when the project is in trouble of not meeting a milestone or a delivery, but of course, to anybody know knows how projects are run, that means that the project is in crunch for most of its development cycle.</li>
<li>Going further away from that, we have companies that don&#8217;t require overtime, although they certainly encourage it from their employees.</li>
<li>Finally, on the other extreme, some other companies either actively discourage people from working ridiculous hours, or they&#8217;ll accept it if somebody really wants to do it, but won&#8217;t encourage it in any way.</li>
</ol>
<p>If there is a silver lining to all this mess is the fact that this is bringing companies in the fourth category to the limelight. IGDA has identified several companies, including <a href="http://www.bluefang.com/">Blue Fang Games</a> and <a href="http://www.firaxis.com/">Firaxis</a>, as companies that respect their employees&#8217; lives and actively try to avoid crunch or overtime. Blue Fang has even been proudly advertising that fact in their job listings. I can only hope that more companies will stand out and identify themselves as being in the same category.</p>
<p>Perhaps that&#8217;s even something that IGDA can mediate, with game companies submitting their candidacy for the “quality of life IGDA seal of approval”, and IGDA can then send someone to verify their claims and add them to a publicly-available list of companies that avoid extended crunch time and meet all the quality of life requirements.</p>
<div><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/dali_2.jpg" alt="Dali clock" width="308" height="238" /></div>
<p><strong>Finding a good company</strong></p>
<p>Unfortunately, even though companies like that exist, they&#8217;re still far from the norm. You really have to dig deep to find companies in categories 3 and 4. Until IGDA creates an extended list, how do you go about finding one?</p>
<p>Word of mouth is a good approach. Network, find someone who knows someone who works there. Ask them about their work conditions, their typical work-week, how late people leave the office. You&#8217;ll find that most people are extremely open about it. One thing to watch out for is information that is several levels removed: If the roommate of their friend&#8217;s coworker had some bad things to say about a company, it might be greatly exaggerated by the time that information reaches you. Try to go with first-hand, or at most second-hand accounts.</p>
<p>Also, take anything that an ex-employee says with a grain of salt. Don&#8217;t ignore it by any means, just don&#8217;t base your whole decision on their opinion. People leave companies for all sorts of different reasons, and it often colors their opinion of the company as a whole.</p>
<p>If you don&#8217;t know anybody who works there directly, try asking in some of the industry forums. For example, if you&#8217;re already in the games industry, you might want to check out <a href="http://thechaosengine.com/">The Chaos Engine</a>. They have a whole forum called “About Company X” just for people to ask opinions about different companies. They have quite a large membership, so it&#8217;s very likely you&#8217;ll find someone who is currently working at that same company. But the usual dose of salt applies: The forum uses a semi-anonymous format, so anybody is free to say whatever they want without consequences.</p>
<p>Finally, assuming you liked what you heard so far about a company, you went ahead and applied there. If all went well and you got called in for an in-person interview, this is your time to be pro-active about it. You will meet a lot of people during the interview. They&#8217;ll ask you a lot of questions, but they&#8217;ll also let you ask a lot of questions as well (after all, interviews are a two-way street&#8211;you&#8217;re trying to find out as much about them as they are about you). Make sure you come prepared with a lot of questions, but make sure that one or two of them are aimed to find out more about their crunch habits. Some good warm-up questions are “What is your typical work week?” or “What is the usual time for people to arrive to work and leave for home?”. If you get fuzzy answers to that, or you suspect there&#8217;s more than what they&#8217;re saying, ask them straight out: “When was the last time you crunched?” “How long was it and how many hours a week was it?”.</p>
<p>Make sure you ask those questions to everybody you talk to. You&#8217;ll be surprised how different people will answer the same questions sometimes. Don&#8217;t be shy about asking those questions too. Any employer who thinks less of you for asking that probably won&#8217;t try to avoid crunch time, so you probably didn&#8217;t want to work there anyway.</p>
<p>I&#8217;ve already noticed that people are asking about crunch time a lot more frequently during phone interviews since the whole EA Spouse blog hit the news. If nothing else, that is already doing some good to the industry.</p>
<p><strong>Why does it happen?</strong></p>
<p>So, why is crunch time rampant in this industry? Is there something inherent to games that requires bursts of activity? Some people will argue that games are a creative activity, just like movies, hit or miss, entertainment industry, yadda, yadda, yadda. That might be true for the design part, but there&#8217;s no excuse in the engineering part.</p>
<p>The ugly truth is that crunch is simply a self-fulfilling prophecy. It happens because people walk into game projects fully expecting to spend half of it crunching. That also means they can goof off for the first half. Call it procrastination. Call it human nature. Call it whatever you want, but that&#8217;s really what happens. It&#8217;s ingrained in the game industry culture due to its cottage industry roots. About 20-30 years ago, games were all about two kids spending crazy hours in somebody&#8217;s basement. For some reason, the industry is having a hard time letting go of that image, and that&#8217;s hurting everybody: the people suffering those hours, and the projects suffering those burned-out, tired people.</p>
<p>The worst part is that it really is so ingrained in the culture, that not only do people expect it, but they feel proud of it after it&#8217;s done (if they forget about the 20 pounds they gained during that time, the fact that their kids are two years older than they remember, and that they need to go to the divorce court next Wednesday). I am disgusted every time I read a postmortem in <a href="http://gdmag.com/">Game Developer Magazine</a> or <a href="http://gamasutra.com/">Gamasutra</a> that lists “team pulled together and worked insane hours during months on end” under the “What Went Right” section.</p>
<p>As long as some people feel that way, it&#8217;s very difficult to break out of that mode. It&#8217;s very hard to walk out of the building when the rest of the team is in “hero” crunch mode, even if you know you&#8217;re not doing anybody a favor by staying more hours in the building. That&#8217;s particularly true when it&#8217;s your boss who thinks that crunch time is a natural part of the process and is essential to ship a quality game. Trying to keep sane hours can easily cost you raises, promotions, or even your job.</p>
<p>The million-dollar questions are, is crunch time really inevitable and does it really help a product? I&#8217;ll tackle those with my unpopular opinions and theories in <a href="http://www.gamesfromwithin.com/?p=25"> the second part of this article</a>.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1&amp;title=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%201%29&amp;bodytext=It%20should%20be%20abundantly%20clear%20from%20past%20articles%20I%27ve%20written%20%28and%20from%20my%20rants%0A%0Aif%20you%20know%20me%20in%20person%29%20that%20I%20feel%20very%20strongly%20about%20quality%0A%0Aof%20life%20issues%20in%20the%20games%20industry.%20It%20pains%20me%20to%20see%20rampant%0A%0Aovertime%20be%20commonplace%2C%20and%20the%20truly%20ironic%20part%20is%2C%20I%27m%0A%0Aconvinced%20it%20doesn%27t%20help%20the%20final%20game%20any.%20As%20a%20matter%20of%20fact%2C%0A%0Ait%20probably%20makes%20people%20be%20less%20productive%20and%20makes%20the%20game%0A%0Asuffer%20for%20it.%20Ah%2C%20but%20they%20crunched%20some%20impressive%20hours.%20They%0A%0Ahave%20something%20they%20can%20feel%20proud%20of." title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1&amp;title=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%201%29&amp;notes=It%20should%20be%20abundantly%20clear%20from%20past%20articles%20I%27ve%20written%20%28and%20from%20my%20rants%0A%0Aif%20you%20know%20me%20in%20person%29%20that%20I%20feel%20very%20strongly%20about%20quality%0A%0Aof%20life%20issues%20in%20the%20games%20industry.%20It%20pains%20me%20to%20see%20rampant%0A%0Aovertime%20be%20commonplace%2C%20and%20the%20truly%20ironic%20part%20is%2C%20I%27m%0A%0Aconvinced%20it%20doesn%27t%20help%20the%20final%20game%20any.%20As%20a%20matter%20of%20fact%2C%0A%0Ait%20probably%20makes%20people%20be%20less%20productive%20and%20makes%20the%20game%0A%0Asuffer%20for%20it.%20Ah%2C%20but%20they%20crunched%20some%20impressive%20hours.%20They%0A%0Ahave%20something%20they%20can%20feel%20proud%20of." title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1&amp;t=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%201%29" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1&amp;title=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%201%29" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1&amp;title=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%201%29" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=All%20Work%20No%20Play%2C%20Makes%20Jack%20a%20Dull%20Game%20Developer%20%28Part%201%29&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fall-work-no-play-makes-jack-a-dull-game-developer-part-1&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/all-work-no-play-makes-jack-a-dull-game-developer-part-1/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Agile Game Development: Dealing with Chaos in the Real World</title>
		<link>http://gamesfromwithin.com/agile-game-development-dealing-with-chaos-in-the-real-world</link>
		<comments>http://gamesfromwithin.com/agile-game-development-dealing-with-chaos-in-the-real-world#comments</comments>
		<pubDate>Sun, 07 Nov 2004 03:06:34 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Project management]]></category>
		<category><![CDATA[Software engineering]]></category>

		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=309</guid>
		<description><![CDATA[No plan survives first contact with the enemy. In game development, detailed milestones, complex schedules, and careful planning often go out the window as soon as the project starts. Agile development provides a set of techniques to steer the project in the right direction and embrace change.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p>No plan survives first contact with the enemy. In game development, detailed milestones, complex schedules, and careful planning often go out the window as soon as the project starts. Agile development provides a set of techniques to steer the project in the right direction and embrace change. Is your game not shaping up to be as fun as you thought? Has a game come out with features that you must match to remain competitive? Has your code degenerated into an unmanageable mess?</p>
<p><span id="more-20"></span></p>
<p>This talk discusses how agile development can help in all those scenarios. In particular we look at methodologies like XP and Scrum, and techniques such as test-driven development and pair programming.</p>
<p><a href="http://convexhull.com/articles/agile_development_html">Slides from the Montréal Game Summit 2004 talk</a> <a href="http://convexhull.com/articles/agile_development.pdf">(pdf format)</a></p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world&amp;title=Agile%20Game%20Development%3A%20Dealing%20with%20Chaos%20in%20the%20Real%20World&amp;bodytext=No%20plan%20survives%20first%20contact%20with%20the%20enemy.%20In%20game%20development%2C%20detailed%20milestones%2C%20complex%20schedules%2C%20and%20careful%20planning%20often%20go%20out%20the%20window%20as%20soon%20as%20the%20project%20starts.%20Agile%20development%20provides%20a%20set%20of%20techniques%20to%20steer%20the%20project%20in%20the%20right%20direction%20and%20embrace%20change." title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world&amp;title=Agile%20Game%20Development%3A%20Dealing%20with%20Chaos%20in%20the%20Real%20World&amp;notes=No%20plan%20survives%20first%20contact%20with%20the%20enemy.%20In%20game%20development%2C%20detailed%20milestones%2C%20complex%20schedules%2C%20and%20careful%20planning%20often%20go%20out%20the%20window%20as%20soon%20as%20the%20project%20starts.%20Agile%20development%20provides%20a%20set%20of%20techniques%20to%20steer%20the%20project%20in%20the%20right%20direction%20and%20embrace%20change." title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world&amp;t=Agile%20Game%20Development%3A%20Dealing%20with%20Chaos%20in%20the%20Real%20World" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world&amp;title=Agile%20Game%20Development%3A%20Dealing%20with%20Chaos%20in%20the%20Real%20World" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world&amp;title=Agile%20Game%20Development%3A%20Dealing%20with%20Chaos%20in%20the%20Real%20World" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Agile%20Game%20Development%3A%20Dealing%20with%20Chaos%20in%20the%20Real%20World&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fagile-game-development-dealing-with-chaos-in-the-real-world&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/agile-game-development-dealing-with-chaos-in-the-real-world/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cowboy Coders and the Hero Programmer Culture</title>
		<link>http://gamesfromwithin.com/cowboy-coders-and-the-hero-programmer-culture</link>
		<comments>http://gamesfromwithin.com/cowboy-coders-and-the-hero-programmer-culture#comments</comments>
		<pubDate>Fri, 14 May 2004 04:13:53 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Project management]]></category>

		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=303</guid>
		<description><![CDATA[Yeee-haaa! Get your compiler and debugger ready and saddle up,

pardner. We got some codin' to do.

There's no denying it: The games industry is full of cowboy

coders. Sure, other industries have their share as well, but

something about game development seems to attract them like flies

to honey.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p>Yeee-haaa! Get your compiler and debugger ready and saddle up, pardner. We got some codin&#8217; to do.</p>
<p><span id="more-16"></span></p>
<p><!-- Cowboy Coders and the Hero Programmer Culture --></p>
<h3>Cowboy coders</h3>
<p>There&#8217;s no denying it: The games industry is full of cowboy coders. Sure, other industries have their share as well, but something about game development seems to attract them like flies to honey. Maybe it&#8217;s living dangerously under the pressure of milestones, maybe it&#8217;s being able to surf the bleeding edge of technology, and maybe it&#8217;s because it&#8217;s the last refuge left for the rogue programmer. Whatever the reason, chances are you&#8217;ve worked with a cowboy coder or you&#8217;re one yourself (although that&#8217;s more doubtful if you&#8217;re reading this of your own will).</p>
<p><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/cowboy_1.png" alt="cowboy" hspace="20" vspace="10" width="180" height="217" align="right" /> No, a cowboy coder doesn&#8217;t live in a ranch in Texas and wear a funny hat. A <a href="http://c2.com/cgi/wiki?CowboyCoder">cowboy coder</a> is a certain type of programmer who prefers to work in isolation, sets his own rules, and usually dives straight into a problem without much thinking or design (hence the “shooting from the hip” expression).</p>
<p>But not everything about the typical cowboy coder is negative. He is usually very talented; he knows it, and he makes sure everybody around him knows it too. He usually has very little respect for everybody around him, and he&#8217;ll try to work by himself, with his own rules and schedules. He can sometimes do great feats and can handle some of the most complicated code in this side of the Mississipi. Just don&#8217;t expect anybody else to touch his code. Not only will he be horrified by the thought, but nobody else has enough “skillz” to be able to understand his beautiful code.</p>
<p>To him, speed is life. Getting things working as quickly as possible is all it matters, so he&#8217;ll be able to really quickly put enormous amount of code together that actually do something. Just don&#8217;t expect much in the way of maintainability, reliability, tests, standard-compliance or any of those boring things. It&#8217;s working, so what&#8217;s the problem, right?</p>
<p>Does it sound familiar yet? Unfortunately, I suspect it does.</p>
<h3>Hero culture</h3>
<p>So, why is the games industry so packed with cowboy coders? The analogy of flies and honey makes it sound too nice. I was going to use worms and rotting carcasses, but then I would really show my bias. I really need to step back a second. Are cowboy coders born or developed? It&#8217;s the old nature vs. nurture question. I&#8217;m going to stick my neck out and say it&#8217;s 90% nurture in this case. There might be a certain predisposition based on personality or character, but it&#8217;s mostly what the person is used to, what is comfortable doing, and what everybody lets him get away with.</p>
<p>Unfortunately, a predominant company culture in the games industry is the “<a href="http://c2.com/cgi/wiki?HeroCulture">hero culture</a>,” which seems to be the perfect breeding ground for those cowboys out there. A hero culture is one that values individual displays of effort above anything else. It&#8217;s a very human thing to do. Think about it, who got the poem written about him? The hero who rescued the princess from the clutches of the evil dragon in a bloody fight in front of the whole kingdom, or the one who quietly and efficiently destroyed the dragon eggs years before, ensuring many years of peace in the kingdom? Go figure. It&#8217;s the same thing with many companies in the games industry. Individuals who are willing to commit body and soul to a project (or at least stay long enough in the office to appear to be doing lots of work) are the ones who get rewarded and promoted.</p>
<p>While some might argue that such a culture provides a healthy dose of commitment, team building, and competition, it usually has very different effects. A hero culture fosters too much of a “can do” attitude. It&#8217;s a great thing to stay positive and be willing to do things. However, taking the “can do” attitude to the extreme leads to overcommitment and either to spectacular failures or an incredible victory against all odds (that happens to crash as soon as you look away, but it works, right?). Look at the track record of canceled, over time and over budget games, and then at how many shipped games that need patches and you can decide for yourself if that&#8217;s a prevalent attitude in the industry.</p>
<p>One of the other consequences of a hero culture is the lack of progress visibility. A programmer takes on an impossible task and disappears in his cubicle for a few weeks. He spends there nights and weekends (but no mornings or early afternoons) and when asked he reports that he&#8217;s 90% done. Only the day before the milestone is due he admits he&#8217;s having some problems getting that last bit done. Before you know it the task really needs another three weeks to be completed. I&#8217;m sure the publisher is going to appreciate such short notice.</p>
<p><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/cowboy_2.png" alt="cowboy" hspace="20" vspace="10" width="180" height="245" align="left" /> Tasks will also be consistently estimated (or guessed is more like it) way shorter than they should be because nobody is learning from past mistakes and everybody continues to provide ridiculous estimates. All of this leads to unrealistic expectations from the company, which gets passed along as promises to the publisher. From this to a canceled project is a very small step.</p>
<p>An interesting social dynamic created by this culture is that since the hero culture values individual effort above all else, it ends up preventing the team from gelling and working together. Instead, it remains a group of individuals more or less working on the same project. Sometimes less than more. Let&#8217;s not even go into burn out, what it does to individuals, and the cost of staff turnover.</p>
<p>If things are really this terrible, how did we ever get anything accomplished in this industry? Here&#8217;s the rub: A culture like that probably worked fine ten years ago. Actually, it might have been the ideal culture for a company then. Very small teams and small budgets. Dealing with complexity and large teams wasn&#8217;t as much of an issue as conquering the technology and packing stuff into tiny amounts of memory. Priorities were different.</p>
<h3>The future and now</h3>
<p>What about now? Is that an acceptable culture? Are cowboy coders the ideal game developer? My personal answer is a resounding no (like you haven&#8217;t guessed that by now). I really think that priorities have shifted and now there&#8217;s no room in the industry for cowboy coders or the hero culture.</p>
<p>A recent <a href="http://gdmag.com/"><em>Game Developer Magazine</em></a> article about <a href="http://www.everquest.com/"><em>Everquest</em></a> had a very telling message. <em>Everquest</em>, by its nature, has to be always up, and there&#8217;s no room for screw ups and heroics. Here&#8217;s an excerpt from the article:</p>
<div class="quote">
<p>[...] our experience has been that a solid professional eight hours a day delivers you far greater productivity than someone who works 14 hours a day every day.</p></div>
<p>That sounds like they&#8217;re choosing productivity over flash and individual effort and heroics. If we think of <em>Everquest</em> as the way many game projects are going to go in the future, that sounds like the death knell for cowboy coders.</p>
<p><a href="http://www.stevemcconnell.com/">Steve McConnell</a>, one of my favorite writers, has a great chapter in <a href="http://www.amazon.com/exec/obidos/ASIN/0321193679/ref=nosim/gamesfromwith-20"> <em>After the Gold Rush</em></a> (the second edition is titled Professional Software Development) about programmer personalities and heroics. Fortunately, <a href="http://gamasutra.com/">Gamasutra</a> has that <a href="http://www.gamasutra.com/features/19991222/mcconnell_pfv.htm">chapter online</a>. In particular, the closing thoughts are quite revealing:</p>
<div class="quote">
<p>As the current cohort of software workers grows older, the present hero-based approach to software development may naturally give way to an approach that relies more on working smart than on working hard. Software workers will become increasingly interested in the practices that allow them to complete their projects as promised and still be home in time for dinner.</p></div>
<p>It really sounds like it&#8217;s time to start thinking of different approaches to game development. Fortunately, some companies are already dealing with this, and hopefully that influence will slowly propagate to the rest of the industry.</p>
<p>What if you have such a talented cowboy coder that he&#8217;s single-handedly moving the company forward? Someone as talented as, say, <a href="http://www.webdog.org/plans/1/">John Carmack</a>. Is that still something to be avoided? If he really, truly is that talented and the difference between his productivity and everybody else&#8217;s is a factor of 100, then you&#8217;d probably do well to keep him on the payroll. Watch out for the proverbial bus that leaves you without your superstar though. On the other hand, don&#8217;t ask me to provide funding for a company with an unproven “superstar” like that. I&#8217;d rather take a solid team any day of the week.</p>
<p>In the end, it&#8217;s time for all the cowboy coders to realize that their time is over. Civilization is advancing even towards the game industry and team-based cultures are needed. The cowboy way of life is no longer advantageous. They should either adapt to a modern development approach, or head towards the new frontier of handheld games and ride into the sunset towards the wild territories.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture&amp;title=Cowboy%20Coders%20and%20the%20Hero%20Programmer%20Culture&amp;bodytext=Yeee-haaa%21%20Get%20your%20compiler%20and%20debugger%20ready%20and%20saddle%20up%2C%0A%0Apardner.%20We%20got%20some%20codin%27%20to%20do.%0A%0AThere%27s%20no%20denying%20it%3A%20The%20games%20industry%20is%20full%20of%20cowboy%0A%0Acoders.%20Sure%2C%20other%20industries%20have%20their%20share%20as%20well%2C%20but%0A%0Asomething%20about%20game%20development%20seems%20to%20attract%20them%20like%20flies%0A%0Ato%20honey." title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture&amp;title=Cowboy%20Coders%20and%20the%20Hero%20Programmer%20Culture&amp;notes=Yeee-haaa%21%20Get%20your%20compiler%20and%20debugger%20ready%20and%20saddle%20up%2C%0A%0Apardner.%20We%20got%20some%20codin%27%20to%20do.%0A%0AThere%27s%20no%20denying%20it%3A%20The%20games%20industry%20is%20full%20of%20cowboy%0A%0Acoders.%20Sure%2C%20other%20industries%20have%20their%20share%20as%20well%2C%20but%0A%0Asomething%20about%20game%20development%20seems%20to%20attract%20them%20like%20flies%0A%0Ato%20honey." title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture&amp;t=Cowboy%20Coders%20and%20the%20Hero%20Programmer%20Culture" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture&amp;title=Cowboy%20Coders%20and%20the%20Hero%20Programmer%20Culture" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture&amp;title=Cowboy%20Coders%20and%20the%20Hero%20Programmer%20Culture" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Cowboy%20Coders%20and%20the%20Hero%20Programmer%20Culture&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fcowboy-coders-and-the-hero-programmer-culture&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/cowboy-coders-and-the-hero-programmer-culture/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postmortems: Looking Back, Looking Ahead</title>
		<link>http://gamesfromwithin.com/postmortems-looking-back-looking-ahead</link>
		<comments>http://gamesfromwithin.com/postmortems-looking-back-looking-ahead#comments</comments>
		<pubDate>Mon, 12 Apr 2004 02:28:20 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Project management]]></category>

		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=299</guid>
		<description><![CDATA[
			
				
			
		
When starting a project, it is always a good idea to reflect very critically on your past projects. Think about what went right, and especially what could have been done better, and come up with a plan of attack for the new project. That&#8217;s the idea behind  project postmortems. To adapt the popular saying, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead&amp;source=snappytouch&amp;style=normal&amp;service=bit.ly&amp;service_api=R_185f898b3dec44c3a4de33e8fccadcf7" height="61" width="50" /><br />
			</a>
		</div>
<p>When starting a project, it is always a good idea to reflect very critically on your past projects. Think about what went right, and especially what could have been done better, and come up with a plan of attack for the new project. That&#8217;s the idea behind <a href="http://www.amazon.com/exec/obidos/ASIN/1578202140/ref=nosim/gamesfromwith-20"> project postmortems</a>. To adapt the popular saying, companies that do not conduct some form of postmortem are doomed to repeat the same mistakes.</p>
<p><span id="more-14"></span></p>
<p>However, that might not be enough. Every project is different; if they weren&#8217;t, we&#8217;d be all set, projects would run very smoothly, and I wouldn&#8217;t be writing this. Even if you&#8217;re just creating a sequel of a franchise game, you&#8217;re still going to come across many different issues and challenges you did not encounter before.</p>
<p>This article attempts to extract some common patterns by looking at recent game postmortems. A later article will deal with how to choose the right development methodology for a particular game project given what we find here. This is not by any means intended to be a comprehensive summary of postmortems; rather, I&#8217;m just looking at the issues listed under &#8220;What went wrong&#8221; and trying to look for interesting patterns.</p>
<table border="0">
<tbody>
<tr>
<td valign="top">For a more comprehensive study of earlier postmortems, check out the great summary by Simon Larsen on <a href="http://www.blackwood.dk/postmortem/postmortem/index.html">Gamasutra.com Postmortems</a> and his related thesis <a href="http://www.blackwood.dk/postmortem/PDF/PlayingTheGame-IE.pdf">Playing the Game: Managing Game Development</a>. I don&#8217;t agree with everything he says, but it&#8217;s a very interesting work anyway. Just the fact that people are finally starting to ask some pointed questions about the overall state of the industry and why so many game development efforts are total disasters is very encouraging.</p>
<p>To gather data for this article, I looked through my back issues of <a href="http://gdmag.com/">Game Developer Magazine</a> starting with April 2004 all the way back to October 2002 (which is where Larsen&#8217;s study left off). I excluded postmortems that dealt with subsets of the project (like tools, animation systems, sound systems, etc). Specifically, I selected 13 different postmortems:</p>
<ul>
<li>&#8220;Z-Axis&#8217;s <em>Aggressive Inline</em>&#8221; by Randy Condon (October 2002)</li>
<li><a href="http://www.gamasutra.com/features/20021204/greig_01.htm">&#8220;BioWare&#8217;s <em>Neverwinter Nights</em>&#8220;</a> by Scott Grieg, Ray Muzyka, James Ohlen, Trent Oster, and Greg Zeschuk (November 2002)</li>
<li>&#8220;Monolith&#8217;s <em>No One Lives Forever 2</em>&#8221; by Craig Hubbard (January 2003)</li>
<li>&#8220;Lost Toys&#8217; <em>Battle Engine Aquila</em>&#8221; by Ben Carter (April 2003)</li>
<li>&#8220;<a href="http://www.gamasutra.com/features/20030613/price_01.shtml">Insomniac Games&#8217; <em>Ratchet &amp; Clank</em></a>&#8221; by Ted Price (June 2003)</li>
<li><a href="http://www.gamasutra.com/features/20030627/train_01.shtml">&#8220;Big Huge Games&#8217; <em>Rise of Nations</em>&#8220;</a> by Tim Train and Brian Reynolds (July 2003)</li>
<li>&#8220;Harmonix’s <em>Amplitude</em>&#8221; by Greg LoPiccolo &amp; Alex Rigopulos (August 2003)</li>
<li>&#8220;<a href="http://www.gamasutra.com/features/20030910/rooke_01.shtml">Monolith&#8217;s <em>TRON 2.0</em></a>&#8221; by Frank Rooke (October 2003)</li>
<li>&#8220;Relic Entertainment&#8217;s <em>Homeworld 2</em>&#8221; by Geoffrey Thomas, Stephane Morichere-Matte, and Joshua Mosqueira (November 2003)</li>
<li>&#8220;Naughty Dog&#8217;s <em>Jak II</em>&#8221; by Daniel Arey (January 2004)</li>
<li>&#8220;Totally Games’ <em>Secret Weapons over Normandy</em>&#8221; by Morgan Gray (February 2004)</li>
<li>&#8220;Bizarre Creations’ <em>Project Gotham Racing 2</em>&#8221; by Garrett Young, Mario Rodriguez, and Chris Pickford (March 2004)</li>
<li>&#8220;Ubisoft&#8217;s <em>Prince of Persia: The Sands of Time</em>&#8221; by Yannis Mallat (April 2004)</li>
</ul>
<p>One word of warning: This is not nearly enough samples to get any sort of representative idea of what the big problems affecting game development really are. It&#8217;s also a very self-selected group of projects: not only did they choose to write a public postmortem, but all the projects actually managed to ship a game and were relatively successful.</p>
<p>However, what probably skews the results more than anything else is what the authors felt they could write in a public postmortem. Everybody had to be extremely cautious about what to say and how to say it, and I have no doubt that very important problems didn&#8217;t even get mentioned. Who would dare publish something along the lines of &#8220;our publisher had no clue what it was doing,&#8221; or &#8220;my boss is completely incompetent but we shipped the game in spite of him.&#8221; Still, I&#8217;m of the opinion that incomplete data is still better than no data at all in this case, so let&#8217;s proceed.</p>
<h3>Common patterns</h3>
<p><strong>Resources/time</strong></p>
<p>It is a fact of this industry that, <a href="http://www.idsoftware.com/">id software</a> and a <a href="http://www.3drealms.com/duke4/">few others</a> notwithstanding, we all have very hard deadlines. Most games commit to shipping by a particular date (Christmas or the Thanksgiving weekend being a couple of industry favorites) and have to do everything in their power to deliver or risk being canceled. It&#8217;s not surprising then that the number one problem listed in all the postmortems was that some features were not started until it was too late (<em>Prince of Persia</em>, <em>Project Gotham Racing 2</em>, <em>Tron 2.0</em>, <em>Ratchet and Clank</em>, <em>Battle Engine Aquila</em>, <em>No One Lives Forever 2</em>, <em>Neverwinter Nights</em>, and <em>Aggressive Inline</em>).</p>
<p>Just about every aspect of the game was brought up in this respect: technology, tools, design, art, etc. In some cases it meant those features fell short of expectations, but most of the time it severely affected other parts of the development. When crucial tools for content development or key technology pieces become available just a few months before the shipping date you know that something didn&#8217;t go right.</p>
<p>Two other postmortems (<em>Homeworld 2</em> and <em>Frequency</em>) listed the flip side of the same situation: not enough resources. At least in that case they identified the lack of resources and tried to deal with it as opposed to just finding out that things were taking longer than expected.</p>
<p>That means that 10 out of 13 postmortems brought up a similar problem. I wouldn&#8217;t be surprised if the other postmortems also felt the same problem but didn&#8217;t write a specific item in the postmortem about it. This is clearly a big problem in the games industry. When managing a project, you have three variables to play with: time, resources, and features; pick any two. Unfortunately it seems that people like to pick all three and deliver in none of them instead.</p>
<p><strong>Approval process</strong></p>
<p>The next most common issue that was identified as having gone wrong was the lack of an effective internal approval process (<em>Prince of Persia</em>, <em>Homeworld 2</em>, <em>Tron 2.0</em>, <em>Frequency</em>, <em>Ratchet and Clank</em>, <em>Neverwinter Nights</em>, <em>Aggressive Inline</em>). Some of the obvious examples of this problem are sub-par content making it into the game, or technology that appeared to be finished but wasn&#8217;t. But there were other manifestations of the same problem: feature creep that ruined the schedule, or overly ambitious designs that were not really feasible.</p>
<p>All those are signs that the project was working without sufficient visibility and feedback. If the planned game levels are too ambitious, it should become apparent right away, not two months before beta. If tools are not working as expected, it should be noted right away.</p>
<p>Closely tied to this problem was another common complaint: unnecessary rework. Several postmortems cited that as one of the causes for delayed schedules and massive overtime. When content was created on top of a piece of technology that had to be re-written, or based on some design that was changed, all that content had to be re-done from scratch. Nobody&#8217;s going to get things right the first time around, but there&#8217;s a not-so-fine line between useless rework and an iterative approach.</p>
<p><strong>Content pipeline</strong></p>
<p>So far I wasn&#8217;t too surprised by the patterns that were emerging, but this one caught me totally by surprise. A large number of the postmortems were complaining about inadequacies in their content pipeline (<em>Prince of Persia</em>, <em>Project Gotham Racing 2</em>, <em>Secret Weapons Over Normandy</em>, <em>Jak 2</em>, <em>Ratchet and Clank</em>, <em>Battle Engine Aquila</em>).</p>
<p>The issues with the content pipeline ranged from not being able to deal with so many assets, iteration time being too long for the content creators, or not having a fully automated system all the way to the CD/DVD burning process.</p>
<p>Interestingly enough, I wasn&#8217;t aware that other companies were struggling with this so much when I wrote the article &#8220;Optimizing the Content Pipeline&#8221; in the April 2004 issue of <em>Game Developer Magazine</em>. This is probably an area that will become more important in the near future and it would pay off for companies to explicitly define their content pipeline and streamline it as much as possible.</p>
<p><strong>Large teams</strong></p>
<p>Some projects clearly had trouble coordinating the efforts of their team members (<em>Prince of Persia</em>, <em>Project Gotham Racing 2</em>, <em>Jak 2</em>, <em>Neverwinter Nights</em>). Most often this was in the form of rework, as mentioned earlier. It seems that resources were often being put in areas before they were fully ready to go, or, alternatively, some areas didn&#8217;t have enough resources before full production started.</p>
<p>Interestingly only one postmortem explicitly mentioned communication being an issue (<em>Battle Engine Aquila</em>). I would have expected that to be a much more common complaint. Either my experience is very different from those projects, or it was one of those taboo areas that people were not allowed to write about.</p>
<p>As a point of reference, these are the sizes of the development teams that brought up team coordination as an issue:</p>
<ul>
<li><em>Prince of Persia</em>: 65 (peak, excluding testers)</li>
<li><em>Project Gotham Racing 2</em>: 40 (core team), 102 (peak, including testers)</li>
<li><em>Jak 2</em>: 48 (full time)</li>
<li><em>Neverwinter Nights</em>: 75 (peak), 40 QA, 5 sound, 20 translators.</li>
</ul>
<p>We can&#8217;t compare those figures directly against each other (because they all count team size in slightly different ways), but clearly, those are some pretty heavy-weight teams. Most of the teams in the other postmortems were significantly smaller. Is this the way of the future? We better start getting used to it.</p>
<p><strong>Crunch time</strong></p>
<p>Why does this always come up when I write anything related to game development? It&#8217;s a very important topic to me, but I&#8217;ve tried putting it aside and only bringing it up a few times. Try as I might, it keeps rearing its ugly head every time someone in the room whispers the words &#8220;game development&#8221;.</p>
<p>Surprisingly, only a few postmortems clearly identified crunch time and employee burnout as a negative aspect they had to go through (<em>Secret Weapons Over Normandy</em>, and <em>No One Lives Forever 2</em>). However, most of the other postmortems acknowledged that there was a fair amount of crunch time involved. The really scary part is that it usually showed up in the &#8220;what went right&#8221; section, pointing out how dedicated the team was, or how macho they all were that they pulled through it.</p>
<p>Until the industry grows out of this basement coder mentality, we&#8217;ll continue having the same problems. I&#8217;ll spare you the lengthy rant and refer you to the wonderful job the <a href="http://igda.org/">IGDA</a> folks have done putting together the <a href="http://www.igda.org/qol/">Quality of Life Whitepaper</a>. Draw your own conclusions from that and think about who will be making games five years from now.</p>
<p><strong>Other</strong></p>
<p>The rest of the issues brought up in the postmortems varied quite a lot. Surprisingly, several projects had trouble with localization. I thought that was a solved problem by now, although it&#8217;s probably a lot more complicated in dialogue- and movie-heavy games, or in games where sentences are created on the fly.</p>
<p>A few of the other issues mentioned included QA problems (either bad testing or not enough), being side-tracked by demos, have unexpected events come up in the middle of the development cycle, or not having a clear objective for where the game was heading.</p>
<p>One of the most insightful comments was brought up in the <em>Battle Engine Aquila</em> postmortem, where they pointed out that their engine was too flexible as a negative point. Having been there, I completely sympathize with that point. Even though it sounds like a great feature on paper, having a completely flexible engine also usually means not having an exceptional engine in any particular front. It also makes narrowing down the design constraints very difficult unless you have a very talented art and design team.</p>
<h3>Notably absent</h3>
<p>So far we&#8217;ve seen what common points were identified as being problematic. Now let&#8217;s have a look at all the interesting things that they didn&#8217;t tell us about.</p>
<p><strong>Technology/performance</strong></p>
<p>Considering the amount of time, effort, and trouble that programmers go through coming up with the most clever algorithms, optimizing inner loops, and trying to out-do each other with fancy technology, hardly anybody mentioned technology or performance being an issue. The only mention in the postmortems was when multiplatform development was involved (<em>Secret Weapons Over Normandy</em>, <em>Battle Engine Aquila</em>).</p>
<p>Is it because people were too proud to say their technology let them down, didn&#8217;t do what they wanted, and was generally too slow? Or was it because there is too much emphasis placed on technology and performance to start with? Maybe we should concentrate on making our tools crash less frequently and our content pipelines be more robust, and just accept a slightly lower particle count. It will probably make for a better game.</p>
<p><strong>Team problems</strong></p>
<p>Is this another taboo area that public postmortems can&#8217;t touch? Probably. Only one postmortem mentioned having team problems (<em>No One Lives Forever 2</em>), and even then, it only referred to the hiring process and a few bad hires. Maybe everybody else had the perfect team where everybody got along great and worked together in perfect harmony. Suuuuure. I haven&#8217;t seen anything even close that mythical beast though. I guess you can&#8217;t call your boss&#8217; wife ugly, but they could at least admit to some general problems.</p>
<p><strong>Quality and bugs</strong></p>
<p>Nobody complained at all about the quality of the code produced. They didn&#8217;t complain much about bugs either (other than mentioning bad QA process). I&#8217;m afraid this might be one of those things that the games industry takes for granted. I&#8217;d like to think that good code quality leads to very few bugs, very little (if any) overtime, and to a much better overall game because features could be tested and experimented easily with until the last moment.</p>
<p>I&#8217;m convinced that a step in the right direction is to use automation as much as possible to test everything as frequently as possible, from unit tests that get executed every time any code is compiled, gameplay balance tests, random tests looking for crashes, or tests verifying that all objectives can be completed.</p>
<h3>What does it all mean?</h3>
<p>By taking a step back and looking at the problems most of these games were facing, we can actually see the cause for all those problems: complexity.</p>
<p>I suspect that just a few years ago a lot of the problems would have been technical issues. Now we&#8217;re past that. We&#8217;re the whale that has difficulty breathing due to its own weight but we don&#8217;t yet fully admit it.</p>
<p>Games are reaching a point of complexity where they require a huge team, which produces a huge amount of assets, needs to communicate and coordinate its efforts effectively, and create a great game in the end. Oh yeah, did I mention ship in time for Christmas?</p>
<p><strong>Edit</strong>: Ken Williamson emailed me with feedback about this article and brought up an excellent point that I had managed to completely overlook: Publisher interference.</p>
<p>He writes: &#8220;<em>The one thing I was surprised that didn&#8217;t come up was Publisher interference. By that I mean unreasonable and often misguided demands by publishers during development which derail production schedules and directly result in the crazy hours &#8211; and inevitably the nasty crunch times &#8211; common to games. I like to call this the &#8220;run faster&#8221; factor. In my experience these demands are the single most damaging aspect of the monolithic publisher/developer paradigm which the games industry seems to have followed the movie and music industries into. Money realities aside, it&#8217;s one of the reasons I think there just must be a better way to structure development.&#8221;</em></p>
<p>I completely agree with Ken that publisher interference is a big issue that most teams have to deal with. Changing requirements, feature creep, and trying to copy the latest successful chart-topper are all too common occurrences. Unfortunately, this also falls in the category of taboo subjects that can&#8217;t be brought up in a postmortem. Companies have a hard enough time already securing funding and a publisher for their games, so they&#8217;re not about to bite the hand that feeds them.</td>
<td valign="top"><img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2002-10.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2002-11.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-01.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-04.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-06.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-07.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-08.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-10.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-11.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2004-01.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2004-02.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2004-03.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2002-10.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2002-11.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-01.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-04.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-06.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-07.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-08.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-10.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2003-11.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2004-01.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2004-02.jpg" alt="gdmag" /><br />
<img src="http://www.gamesfromwithin.com/wp-content/uploads/old_images/gdmag-2004-03.jpg" alt="gdmag" /></td>
</tr>
</tbody>
</table>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead&amp;title=Postmortems%3A%20Looking%20Back%2C%20Looking%20Ahead&amp;bodytext=When%20starting%20a%20project%2C%20it%20is%20always%20a%20good%20idea%20to%20reflect%20very%20critically%20on%20your%20past%20projects.%20Think%20about%20what%20went%20right%2C%20and%20especially%20what%20could%20have%20been%20done%20better%2C%20and%20come%20up%20with%20a%20plan%20of%20attack%20for%20the%20new%20project.%20That%27s%20the%20idea%20b" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead&amp;title=Postmortems%3A%20Looking%20Back%2C%20Looking%20Ahead&amp;notes=When%20starting%20a%20project%2C%20it%20is%20always%20a%20good%20idea%20to%20reflect%20very%20critically%20on%20your%20past%20projects.%20Think%20about%20what%20went%20right%2C%20and%20especially%20what%20could%20have%20been%20done%20better%2C%20and%20come%20up%20with%20a%20plan%20of%20attack%20for%20the%20new%20project.%20That%27s%20the%20idea%20b" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead&amp;t=Postmortems%3A%20Looking%20Back%2C%20Looking%20Ahead" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead&amp;title=Postmortems%3A%20Looking%20Back%2C%20Looking%20Ahead" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead&amp;title=Postmortems%3A%20Looking%20Back%2C%20Looking%20Ahead" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Postmortems%3A%20Looking%20Back%2C%20Looking%20Ahead&amp;body=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead" title="email"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fgamesfromwithin.com%2Fpostmortems-looking-back-looking-ahead&amp;partner=sociable" title="PDF"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/postmortems-looking-back-looking-ahead/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
