Interesting post by Kurt Leafstrand comparing software development to writing and publishing rather than engineering:

So, here's the insight I'm currently tossing around in my head: The problem is that software isn't built; it’s written. The final product is not like the Bay Bridge. It's like a novel.

Engineers are the authors. They start with an early draft (sometimes known as a prototype), an idea of the main characters (features) and the arc of the plot (use cases). They write a few chapters. They learn how the characters are acting and whether things are moving in the right direction. Then they go back and tweak the storyline a bit. They iterate.

Along that line of thinking, newspaper publishing is the original agile development method.