ONA09 un-conference session proposal: The craft of making software — Anyone interested?

UPDATE — The folks at ONA have announced that they’ll provide rooms for un-conference talks! Woot! But if there’s more need than space, it’ll be up to a vote, so *please* get there early and vote me up! Hope to see you there!

The schedule for ONA09 is jam-packed with shiny stuff — social networks, mobile tech, they’ve even got Leo and Ev! Great. But the reality is that Twitter will not save the news, just like chrome rims can’t save General Motors.

We can talk about technologies, tools and innovators all weekend long, but it won’t help if news organizations don’t understand the basic principles of software development. So, if anyone out there is interested, I’d like to arrange an un-conference to talk about some un-shiny, boring-ass shit: software development methodologies.

Topics of import we might address:

  • Version control
  • Task and defect tracking
  • Goals, use cases and designing with your audience in mind
  • Working iteratively and being agile

Code is not something you can slap up like wallpaper. Making software is a craft. It requires discipline and skills far beyond a superficial awareness of the technologies available. At every moment of the process, from conception to release, there are right and wrong ways to make software.

Imagine a news organization with only writers, and no editors. They might manage to crank out some successful stories, but without editorial controls, the failure rate would be astronomical. From what I’ve learned in my (admittedly brief) time in this industry, this is the state of software development at newspapers — it’s failure-ridden, amateurish and ad-hoc.

Let’s do it the right way

Over the years, lots of clever people have studied the craft of software development, and come up with battle-tested tools, best-practices and processes to reduce the failure rate and better-ensure success. I learned a thing or two about these methods in my previous life, and would love to share.

So, I’d like to set up an un-conference session. We’ll get a room and a projector and talk process. Who’s interested in attending? What topics would you like to see addressed? Would anybody else like to present?

(If there’s no response, I’ll shut up and go back to work — but if I’ve convinced you, please leave a comment. No comments, no un-conference.)

Hacker journalism: Version control for campaign promises

The always outstanding Threat Level sez:

John McCain’s campaign published a side-by-side comparison of Barack Obama’s Iraq War policy web pages on Tuesday using a new automated online tracking service called Versionista.

Obama statements compared at Versionista

The Friday, July 11 version of the page says: “at great cost our troops have helped reduce violence in some areas of Iraq, but even those reductions do not get us below the unsustainable levels of violence of mid-2006.”

The Monday, July 14 version spidered by Versionista says: “Our troops have heroically helped reduce civilian casualties in Iraq to early 2006 levels. This is a testament to our military’s hard work, improved counterinsurgency tactics, and enormous sacrifice by our troops and military families.”

We (software dorks) have been doing this for years.  It’s how we tell who broke something:

Trac project, Changeset 7273 for trunk
Trac project, Changeset 7273 for trunk

Revision: 380, SoC
Revision: 380, SoC

Version control is an enormously powerful tool. If you’re making software without it, you’re nuts. (It’s also the primary reason I don’t use word processors to write – there’s no good way get a diff between two copies of a Word doc. Well, that… and Word sucks.)

I just wish a journalist had done this, instead of a campaign worker.

Ugh. Next time.