A blog by Gary Bernhardt, Creator & Destroyer of Software

My Startup Talk From NWPD 2010

06 May 2010

A few months ago, I posted one of my talks from Northwest Python Day 2010: Python vs. Ruby: A Battle to The Death. This is the other talk I gave, "A Brief History of BitBacker, A Startup", which shares its name with a blog post from 2009. This new talk is mostly about the technical details, whereas the original blog post was a higher-level chronology about what we did from founding in 2006 until the doors closed in 2009.

Like the Python vs. Ruby talk, this one hits many different topics: a lot of testing (of course), a smattering of technical lessons learned, and a couple of business lessons. There's one very notable artifact in the talk: I show BitBacker's 510 unit tests executing in about a second. I also show one of the acceptance tests executing – firing up the full suite of back-end components as well as the app itself, then driving the whole system programmatically. I've talked about these things to various people, but never shown them in public. For this talk, I went through the trouble of recording videos of BitBacker's tests in action, so now you know that I'm not making things up!

A Brief History of BitBacker, A Startup from Gary Bernhardt on Vimeo.

Here are a few clarifications on things that I say in the talk:

  • Dingus is a test double library for Python. Technically, dinguses are both stubs and test spies. Many people would call it a mocking library, but that's not quite correct.
  • London-style TDD is a style that uses test doubles extensively, with mocks or spies verifying interactions. Classes are generally TDDed in isolation, interacting only with test doubles – never real collaborators with their own behavior. It sounds crazy; it's not.
  • Corey Haines gave me much of my early coaching on testing. We'd talk about it once every month or two; other than that, I read a lot and just kept hurting myself accidentally until I understood where the pain was coming from.
  • I do know that a third of 17,000 is not 4,000!

I hope you enjoy the talk. If you have feedback, you can find my contact info at the bottom of this page. I'd appreciate hearing it!