README Driven Development

4/30/2021

I recently stumbled upon a very old (circa 2010) blog post by Tom Preston-Werner (the founder of GitHub) on “Readme Driven Development”.

This was not a concept I’d ever heard of before in my career, but the general idea is:

  1. Do some planning about what you want to build upfront; first; before you write any code, tests, etc.
  2. Write it down!
  3. At the same time, don’t overdo it. Don’t over-plan.
    • If you try to make some very detailed / complicated specs, there’s no way it will end up being exactly correct once it meets reality.
    • As Mike Tyson once said, “Everyone has a plan until they get punched in the mouth”, and real life will punch your over-engineered, overly optimistic initial plans in the mouth.

Some benefits of this approach include:

All that said, I’ll leave you with this quote:

“There must be some middle ground between reams of technical specifications and no specifications at all. And in fact there is. That middle ground is the humble Readme.”

-Tom Preston-Werner

Sources

  1. https://tom.preston-werner.com/2010/08/23/readme-driven-development.html
  2. https://en.wikipedia.org/wiki/Tom_Preston-Werner

Like This?

for More in the Future

with Comments / Questions / Suggestions