GDC 2017 was my first GDC ever. So, I figured “Why not be an asshole about it?” and signed up to give two presentations. 6’ish months later I found myself at GDC, sweating bullets and shitting bricks. I should also mention that the longest presentation I’d ever given was about 10 minutes, and had signed up for a total of 90 minutes of speaking time. Anyhoo, both presentations went well and nobody died. And then, a month and half’ish later, my compiled speaker feedback arrived. It was largely positive. But, of course, there were a few people (4 in each session, based on the reviews) who took umbrage with ol’ Justy. And some of the negative comments bothered me. Not because people disagreed with me (that’s to be expected, after all) but because I couldn’t respond. But then I realized that not only could I respond (having a blog and[…]
Game Planning With Science!
On January 28th, 1986, seven astronauts boarded the Challenger for its tenth launch into space. Its previous missions had included the first space walk and, at various times, the first American woman, African-American, Canadian and Dutchman in space. 73 seconds after lift-off, the Challenger broke apart, killing the entire crew. Why? Because the fuel tank exploded. So, the solution, of course, is to send the next shuttle up with a fuel tank that doesn’t explode, right? Only if you assume that the exploding fuel tank was a 100% isolated incident, completely unrelated to any other events. If that sounds fishy to you, it should. And this is where root cause analysis comes into play, a practice colloquially known as “the five whys”.
A commonly held belief is that it’s best to batch work – to handle similar tasks in large, consolidated chunks. The notion makes intuitive sense. It allows you to focus on one activity at a time and avoid so-called switching costs of switching activities. But as with so many other instances of unverified intuition, this particular notion is flat-out wrong. Batching may avoid switching costs, but it greatly protracts flow time, which, in the long run, can end up being far more expensive. Which is why the Toyota Production System introduced the concept of heijunka – “leveling”.
One of the more interesting characters I’ve encountered in my wanderings through the internet is a man by the name of Jocko Willink. He’s the author of Extreme Ownership and a business consultant. Oh, and an ex-Navy SEAL and a black-belt in jiu-jitsu. So, the man knows a thing or two about getting shit done under arduous circumstances. And his personal mantra is “Discipline equals freedom.” And the more I study operation science and the more I learn about software development, the more I see his point. So, in this post, I’m going to walk you through a multi-step process for testing code and how a little QA discipline can avail a lot of freedom.
As a developer, you’re almost perpetually flat to the boards. There is always too much to do, too many fires, too many needed fixes. You can’t create more time in the day, or more days in the week. But you can do the next-best thing: eliminate repetitive tasks using automation. Welcome to the wonderful world of jidoka.
The word “kanban” sometimes comes up in software and game development circles. But, when it does, it’s usually within the context of agile and scrum. And the interpretation of the term usually begins and ends with “It’s like scrum, but without sprints.” This is a massive oversimplification. You see, when I was a freshly minted scrum master, I often told folks that I was all about scrum, but I would happily kick it to the curb as soon as I found a better framework. Kanban is that framework.
You remember that time you plugged your HDMI cable into your PS4 upside-down and fried it’s video card? Or that time you clamped your ski-boots into your skis backwards and almost killed yourself on a black diamond slope as a result? Or that time you put a k-cup into a Keurig machine sideways an sprayed hot coffee all over the kitchen? No, you don’t. Because you can’t do any of those things. Those products are all designed so that they can only be used in the proper manner. The grooves on the HDMI connector, the specific clamps and catches on skis and boots, and the tapered design of Keurig k-cups mean that the proper application of the product is as obvious as its improper use is impossible. Welcome to the world of poka-yoke (poh-kah yo-kay).
1947. Japan, still reeling from the Second World War, lies in economic ruin. And a little company called Toyota finds itself in a highly undesirable strategic position. It’s headquartered in a nation in tatters, and competing with companies in the world’s newest economic super-power: ‘Merca. How could it possible compete against companies with such amazing access to capital, resources and cash-rich customers? Well, necessity, as they say, is the mother of invention. And the necessities of Toyota’s strategic realities gave birth to one of the most remarkable feats of management ever achieved: the Toyota Production System. Or, more generically, “lean” development.
How can we wrap our heads around the chaos of game development? By understanding that the famous phrase “find the fun” implies something important: discovery. How do you manage the creative process? By acknowledging the latter word of the phrase: process. If you can understand how those terms related – and where they differ – you can appreciate something vital to effective production. That nothing we do in game development is completely devoid of process. And, if you can learn to separate the process from the discovery, then science becomes a weapon against the dark forces of development hell.
Sunk-Costs and Ugly Babies: On The Value of The Scientific Method – Game Planning With Science! Part 8
It struck me one day that “Game Planing With Science” has a glaring omission: the value of scrapping a plan. The goal of “Game Planning With Science” is to forecast, not predict. It’s to estimate and understand, but not to codify. You can’t codify the creative process, or the future for that matter. Just as important is the fact that life doesn’t care about your plans. Reality is going to be what it’s going to be. You can’t change reality to fit your plan, so modifying your plan to fit reality is the only path forward. As Dwight Eisenhower, one of the most immensely quotable people ever, once said, “Plans are useless, but planning is everything.”