Software Development in the 21st Century

There’s nothing unusual about my experiences, but I wonder if people in other industries realize how fundamentally the Internet has changed how software is developed. In my case, it’s software for and on the Internet itself, so the development environment is also the distribution platform. (That wasn’t always the case. Yes, there was software before the Internet.) Just consider what happened this morning.

  • We released a new feature, Slideshows.
  • A few minutes later, Paul Figgiani reported a bug when using Safari. Instant QA.
  • I used Twitter to ask “Are there any tools for debugging JavaScript and the DOM under Safari?”
  • Phil Windley and Coty Rosenblath replied within three minutes.
  • With their suggestions, I found the problem five minutes later.
  • Not knowing why my code didn’t work on Safari, I asked The Google about “xml load in safari” and found an explanation seconds later.
  • I coded a fix, tested it and published it via Subversion to our public servers a few minutes later.

Elapsed time from bug report to fix: less that 20 minutes. Okay, so that’s not unusual. We’ve all fixed bugs that quickly. But I never opened a book. I used a tool (Safari developer tools) I’d never even heard of. I learned and deployed a workaround to a browser-specific issue I knew nothing about. And I had support from three other people located in different timezones in near real time and for free. Without the Internet, this process would likely have taken weeks and a relatively formal QA process: test, document, research — and how would I have ever found the solution? — fix, test, release. Rapid development is an understatement.

Leave a comment