There is Always a Box

Embrace constraints. Your app will be better for it.

a geek trapped in a cool guy's body presents an article by Jason Kemp 2016-07-07

In the ‘Battle of the Bastards’ episode, we see Jon Snow and his army against Ramsay Bolton and his; it’s one of the best episodes of the season, maybe the whole series. Since the show, and the story, are unsympathetic to major characters, watching it for the first time you’re not really sure who will remain when the episode is over.

There was no CGI. Battle scenes were close and visceral, tense. I’m very rarely on the edge of my seat, literally or figuratively. But this episode…oh, man.

You might like it even better once you learn what you saw on screen wasn’t what was planned. And the situation will be familiar to any developer.

According to this interview, just getting the right amount of time to shoot was difficult.

The other real challenge was the schedule. After I first read the outline (we didn’t have a script yet) and we went to take a look at the location, a privately owned piece of land called Saintfeld in Northern Ireland. The producers asked me to ballpark the number of days I thought it was going to take to shoot it. After a few hours and a fair bit of guesswork we said 28. They said we had 12.

Eventually — probably a few months later — we ended up with 25 days, including the parlay on the battlefield prior to the actual battle and all the scenes in Winterfell in the aftermath of BOB. Reaching that number was the biggest challenge. Finding a way to cram in and organize everything so that we would use every single minute well in order to squeeze every ounce we could out of our time was the most logistically complicated thing I’ve ever been involved in.

I’ve been in that situation on software projects too many times. It’s not healthy, long term.

Let’s get back to our anecdote, though, the story is not quite done. Miguel Sapochnik, the episode’s director realized, in the middle of shooting the battle, that he wasn’t going to finish on schedule if he followed the script. He knew he needed a change, but had to ask the producers for it. Fully expecting a lecture, he got his approval.

I think that this section of the fight — in which Jon is almost buried alive by a stampede of panicking wildings — turned out as one of my favorite little moments in the sequence. No VFX, no fighting, just Kit giving a stellar performance and a crazy top shot as he pushes his way back out (we affectionately called it the “rebirthing” shot). The other reason I liked it is because of what it meant to be allowed to follow my gut and go for it.

The filming of the episode makes a great story, even. I recommend you read the whole interview, too. It’s a great example of the logistics influencing the outcome.

There are constraints in software projects, tons of them. Some are inherent in the problem itself.

Kapowski, for example, deals with a very intimate issue for many people: their vanity. We’re providing a tool that aids them while they change their appearance. Without the discipline to constrain the design with compassion and restraint, I might write an app that’s annoying and finicky to use. Then no one uses it for long. Then nobody wins.

There are artificial constraints as well. Any software project ever has a ship date.

I’ve done that exact thing with Kapowski. I’m not worried.

If the scope doesn’t change to make the date, which is often the case, then nobody gets what they want. The software is a soupy mess. The developers are burned out. The client or business resents the project. Nobody uses it.

And yet, I’ve done my best work when there’s a date looming. It provides the focus required to see what truly matters. If everyone is on board with making the date—reducing scope, timely decisions, working longer—you usually can.

It’s rarely worth it to pick the date before you start an app.

But for Kapowski, I know the developer and trust him. He can follow his gut.