I’ve just finished reading a cracker of a little book called The Checklist Manifesto (about $5 on Kindle).

Super interesting read about how a surgeon worked with the WHO to dramatically decreased post-operative complications and fatalities. The answer: a checklist!

I know what you’re thinking…

“Fine for noobs, useless for senior devs.”

And that’s the thing…

In their early observations that found experienced surgeons skipped a basic step of their normal mental checklist often. Often.

So people smarter than you who do these operations every day often skip basic steps that lead to people dying or having major complications. That’s a sobering thought! Your stakes are much lower. I wonder what are you skipping?

Key Idea: Checklists are not for noobs. They are for people who care about consistent, reproducible awesomeness.
 

(https://farm1.staticflickr.com/190/443737978_83a41823e2_z.jpg)](https://www.wylio.com/credits/flickr/443737978/) © 2007 Jeff Kubina, Flickr | CC-BY-SA | via Wylio

 

The Essence of Checklist

In the book, their final Operating Room checklist ran to 19 items. A good checklist has to be short. Theirs fit on one page. Some items were before anaesthetic. Some items were before incision. And some were when they finished.

It didn’t include things everyone does automatically (like washing your hands).

But they did include things everyone should normally do at the top of their game (like count the sponges before and after operating, confirm the patent history before anaesthetic, confirm which side of the patient we were operating on!).

It was basic stuff.

A developer checklist?

So what about software developers? What should be on our checklists?

There’s plenty of great advice about this in Uncle Bob’s Clean Code - but that can be a little overwhelming. So if you want to just “trial run” a basic dev checklist, why not start with Kent Beck’s Four Rules of Simplicity:

  1. Runs all the tests
  2. Contains no duplication
  3. Clearly expresses the intent of the programmer
  4. Minimizes the number of classes and methods
    You know this stuff. I know you do. But what if you ran that checklist across the code you wrote this morning? Or this arvo?

Ask yourself those questions out loud. It’s just a quick checklist after all.

Reconcile the sponges. It will level up your code for 2015!