Strong opinions, weakly held

Rhino on Rails

Steve Yegge ported Ruby on Rails to JavaScript, line by line, over six months. Wow.

He has a post recapping his Foo Camp presentation here. Here’s one thing he mentions:

I hope you’re beginning to see, at least faintly, why I love working at Google. It’s because the code base is clean. And anything that takes more than a week of effort requires a design document, with specific sections that have to be filled out, and with feedback from primary and secondary reviewers of your choice. The net result is that for any significant piece of code at Google, you can find almost a whole book about it internally, and a well-written one at that.

Anyone seen an example of one of these documents? I’d love to incorporate such a process into my own work. In most cases, design documents are something that nobody uses. Are Google’s friendlier than most? What’s the scoop?


  1. I would love to see one of those docs. Failing to capture design decisions is one of my biggest frustrations at the moment.

  2. In most cases, design documents are something that nobody uses.

    Well, then, we must be outliers at my current job. We’re using agile. We start with very minimal/high-level acceptance criteria in our user stories. When we task out the user story at the beginning of the sprint, we create tasks for ‘create mini-spec’ and ‘review mini-spec’–which is a corresponding wiki page to capture any additional info about the feature.

    We do not have any formal criteria for the mini-spec. In fact, the criteria are intentionally vague in order to record whatever we think is relevant about that feature.

    This process works well for us: it’s very light-weight, and it keeps developers, QA engineers and the tech writer, literally, on the same page. It also leaves a small historical record if we ever need to refer back to it. In fact, I would argue that the reason this works is that the mini-specs must meet requirements set by the team–not requirements of a process or management.

    As for your ‘nobody’ comment, Rafe, throughout my career I’ve gravitated toward companies that have lightweight, effective processes in place or places where I’ve helped to put such processes in place), so you may be right that almost nobody uses design specs.

  3. Yegge is my hero. Not for this, just in general.

Leave a Reply

Your email address will not be published.


© 2019 rc3.org

Theme by Anders NorenUp ↑