Monday, February 16, 2009

Software is like Tic-Tac-Toe

We just taught our three-year-old son how to play tic-tac-toe. I was in the beginning stages of the very lengthy porcess of putting him to bed the other night, and we were taking turns drawing on a little refreshable drawing pad when I drew a tic-tac-toe board. We played a few games. Then it was his turn to draw and he decided to draw a "better" tic-tac-toe board with more lines on the playing board so you would have to get five in-a-row to win instead of three. I chuckled because I remembered doing the same thing as a kid. But it occurred to me that traditional tic-tac-toe where three in-a-row wins was, in fact, the best (and maybe only really usable) version of the game. There is an optimal point where you hit "enough" and putting more complexity into the game makes it worse and sometimes not even worth trying to play.

The company 37signals has been an advocate of this same idea in software for some time: a given application should be about getting certain things done. The developers should find the easiest, fastest, most intuitive way to do just that and stop. Adding more lines (in this case, lines of code) to the game does not make it better. It buries the core functionality so that the software becomes too complicated, too hard to find the function you need in all the drop down menus, too much of a hassle. And we wonder why user adoption is so hard. I think the winners are those, like 37signals, who find that point of "enough" on the curve and deliberately stop while they can.

Friday, February 13, 2009

24 is Agile

The director speaking in a short film from the bonus DVD of Season 2 of 24:

In that 12 hours I gotta figure out how I'm gonna achieve everything I need to achieve in blocks of two hours and three hours. We do what's called a timeline, and we give ourselves a certain amount of hours to work on every scene. And we need to try to get to those hours to make our day--to stay within our 12 hours of shooting time.

Then as the day goes on you're constantly changing--things aren't working out, you look for a shorter way. A sort of more economic way to shoot a scene.

Keifer Sutherland speaking in the same short film:

When you actually put something on its feet, logic issues will come with the physicality of the scene that might not come up when you're simply reading it. Stuff hopefully is continually changing until the very last moment until we shoot it, and I think your ability to adapt in those specific situations and certainly adapt at speed in many cases is the difference between your ability to do something well and not.