I just read a fascinating history of HTML, up to HTML5 by Mark Pilgrim.
One sentence keeps repeating in this essay:
“The proposal was never implemented.”
Pilgrim’s point is that shipping software wins over specs and ideas. Or in his words, “The ones that win are the ones that ship.” (Although he points out that shipping code is necessary but not sufficient for success.) A number of times HTML was “retro-specced” to match what had already been implemented.
I like that. In 2006 I coined the term “Action-Oriented Programming” on a Joel on Software discussion board:
Regarding motivation to get started implementing a product idea once you have one:
Whatever you do, do something.
Us programmers, we tend to overanalyze things. Lots of up-front design, trying to decide if it’s the right thing to do, not sure if we have enough education yet, etc. But from what I’ve read about successful entrepreneurs, they are DOERS. They’re Action-Oriented.
So I’m inventing a new term:
Action-Oriented Programming: writing the damn program instead of thinking about writing it.
The HTML spec evolved through Action-Oriented Programming. Read the History of HTML essay and you’ll see why.
P.S. Hey, I know I didn’t invent the idea of favoring working code over detailed specs. But I like the name I gave it. 🙂 I’m pleased to see that Action-Oriented Programming has become popular with the rise of agile techniques and “Getting Real.”