The curse of plenty: what El Mariachi tells us about writing software

A musician arrives in a small Mexican town. He’s mistaken for a guitar-wielding killer. Assassins try to track him down and kill him. That’s the plot of El Mariachi, Robert Rodriguez’s 1992 film. It lacks some polish, but it’s a raw, gripping action film. It’s a better film than, say, Miami Vice.

Rodriguez spent $7,000 making El Mariachi. That’s less than Columbia TriStar spent on El Mariachi’s logo, and less than Michael Mann spent on Jamie Foxx’s private jet for Miami Vice.

So how did he do it? Rodriguez was both the editor and the photographer: he could make on-the-spot decisions about what to do. He used a single, hand-held camera. He used squibs made from condoms filled with corn syrup and food colouring. For the shoot-out scenes he borrowed a couple of guns from local policemen and gave water pistols to the rest of the cast. Local newscasters complained about people running down the street waving guns, so he put them in the film.

He still had a script though. Most importantly, he had a clear idea of what the film was going to be. He refused to get sucked into a spending spiral. He couldn’t: he had no money. In his own words, the key to making a low budget film is “You refuse to spend. Think of a creative way to get around your problem.”

Bill Buxton likens writing software to producing a film. What can we learn about software from Rodriguez? It tells us about the curse of plenty. If you have plenty of time, money and people then you use them. And the extra output isn’t always worth the extra input. Microsoft is a good example. They’ve got a lot of money, a lot of people, and a lot of time but they’d write better software if they didn’t. Last year, Moishe Lettvin wrote about how he spent a year on a feature that should have taken a week.

A couple of years ago, as Microsoft was desperately trying to get Visual Studio Team System out of the door, I asked the man in charge how he’d ship it faster. At the time, he had a team of 250 people, all working on this project. He said – and I don’t think he was joking – that he’d get rid of half of them. He was right. That would have been a good idea.

I see the curse of plenty at Red Gate too. We’ve just launched a new version of SQL Prompt, our code completion tool for SQL Server. We want a splash screen for the installer. We’ve already got a logo, so normally a developer would just stick it into, add a bit of text and use that. Now, however, we’ve got an in-house graphic designer so we ask him. He’s a fantastic designer, with lots of great ideas. Obviously he wants to do the best splash-screen possible, with alpha-blending so we aren’t stuck with a boring rectangle. The installer is written in C++, so that adds complexity. Eventually, reason wins and we just use the logo with some text. Boring, but does it really matter?

Writing software, like making films, is a compromise. And that’s the way it must be. Unless, of course, you can afford to never ship. As Robert Rodriguez says, “It’s such a big production when you make a big production out of it. Don’t.”

Next time you’re in a similar situation, ask yourself “What would Robert Rodriguez do?”

12 responses to “The curse of plenty: what El Mariachi tells us about writing software”

  1. Paul Pareti says:

    I know the scenario only too well. But we had a slightly different experience. We were spending a ton of cash on an ever lengthening list of out of house designers, monthly bills stacking up like pancakes. So we got us an in-house designer too. He’s quick, he’s talented, on message and he costs literally a tenth of what we used to fork out to guys who hadn’t a clue about our brand. No, the problem we have is that the developers now think they can show up a day before release and expect to jump straight to the top of the poor guy’s inbox.
    Your problem doesn’t sound like the curse of plenty. More like the curse of a developer rodeo. Get some spurs on and ride em Bronco!

  2. Matt Silb says:

    Not all that much of a correction, but the actual cost of _El Mariachi_ was quite a bit higher than the oft quote $7K. In fact he borrowed money and stuff and time from people. That is not a sustainable way to do things. Sure, you can do it once, but people are not likely to work for free or delayed payment after you first try hits it big. Some of the lessons from Rodriguez apply to all projects, some only to a first time start-up.
    That said, I love _El Mariachi_. And for _Spy Kids 2_ Rodriguez asked the studio to *cut* his budget so that he would not make the big budget mistakes.

  3. Matt Grommes says:

    The phrase I always liked from Mr. Rodriguez is “the money hose”. He talks about how it’s easy to just use the money hose to wash away your problems instead of thinking of interesting fixes like you talk about. That’s a concept that really sticks with people on teams I’ve been on after I explain it.

  4. blah says:

    The missing piece here is the implied payoff. Mr. Rodriguez was getting a film made that gave him enormous satisfaction and ultimately a huge payout.
    MS Serfs are salary slaves. They get paid the same regardless, and doubling their workload doesn’t make them better.
    The difference is motivation, not abundance of resources. If there’s an abundance of resources, give rewards for the production of the product.

  5. Barg Upender says:

    Great post. I love his “10-minute flick school” DVD extra material. We did a fun workshop at Agile 2006 conference last year.

  6. David Kane says:

    As Barg said, we had a discussion of Robert Rodriguez’s approach at Agile 2006 conference, and again this year. Sumaries of the discussions can be found at the 2006 conference wiki and 2007 conference wiki.

  7. Clay Nichols says:

    BTW, Rodriguez met with a potential buyer for his movie.
    The fellow asked how much it cost to make. Rodriguez slyly trippled the price to $21K.
    The fellow assumed he meant $21K on the TRAILER and said “wow, it usually costs us twice that much for our own trailers”. Rodriguez kept his mouth shut.
    BTW, the book about the making of his movie (from which this story comes) (I forget the name) was informative, inspiring, and engrossing.

  8. Steve Jones says:

    So what did you do at Red Gate w/ regard to the design? How do you keep teams small and more functional?

  9. Writing a book, play or screenplay can be a writer’s organizational nightmare. Creative writing software manages plot, character, settings and conflicts so all you have to do is create.

  10. maybe getting rid of the staff is the answer!! well perhaps not that extreme but certainly streamlining the staff and their processes improves efficiency no end.

  11. tie says:

    “Rodriguez spent $7,000 making El Mariachi. That

  12. Hi! As Barg said, we had a discussion of Robert Rodriguez’s approach at Agile 2006 conference, and again this year. Sumaries of the discussions can be found at the 2006 conference wiki and 2007 conference wiki.