September 3, 2017

Checklists for software development




The checklist is one of the most high powered productivity tools ever discovered.
Brian Tracy

No wise pilot, no matter how great his talent and experience, fails to use his checklist.
Charlie Munger 

Introduction to Checklists

Big Picture  
   What is a checklist - Wikipedia
   The Checklist Manifesto, How to get things right - in depth, the best book about checklists
   To Do List vs. Checklist - what is the difference?
   Advantages of using checklists - from Quora
   Quotations about checklists from the Checklist Manifesto

Who needs checklists?
   We don't need no stinkin' checklists! - if you're like these guys, you can forget about it.

Origin of checklists
   How the Pilot's Checklist Came About - people have to die before anything changes

Poor Examples of Software Development Checklists

Any piece of software reflects the organizational structure that produced it. (Conway's Law)


Planning
   App Development checklist - from Enola Labs, What to consider before beginning
   20 Things to do before you build an app - from Blue Cloud Solutions, Mobile development

Design
   Usability checklist - from Stay in Tech, Catch common usability problems before user testing

Programming
   This is NOT a checklist; it is a list of Do and Don't, right and wrong, but not a checklist.
   This is a checklist. Not a great one, but you will notice the difference.

Testing
   US Department of Energy software testing checklist

Deployment
   Ultimate Checklist for App Deployment Success - from Stackify (Not app specific)

Build Your Own Checklists

   A checklist for building checklists - of course there is one of these!
   Checklist.com - very basic, free, and worth what you pay for it
   Checkli.com - very basic, free, and worth what you pay for it
   Process Street - better, freemium model, inexpensive
   Google Spreadsheets - free, basic yet very powerful, sharable, recommended


Checklist Secret Sauce by DoubleM

Research. Google for existing checklists to do what you need done. Modify to suit. No ego.
Begin it Now. Any checklist is better than no checklist, if continuously improved with feedback.
Delegate. Every team member has responsibility to create/use/improve checklists.
Manage. Team managers must approve changes, and for adherence to standards.
Reward. Recognition and rewards for excellence in checklist development, use, feedback.
Standardize. Add the following to your checklist for building checklists.
   
   Standard Heading at the top of every checklist 
      Checklist name
      Checklist number (Form number)
      Department
      Responsible Person - Who is the "owner" of this checklist
      Date last updated.
      Link to Change log - (Who made the change, When, What changed, Why)
      Signature of team member Who executed this checklist, When, and for What job.
   
   Sections. Break up the list for readability. Lots of white space.

   Standard Formatting
      Standard font, point size, colors, links, etc.
      Headings for sections. Indent items under sections.
      Keep it short. One line per item.  Maximum of 10 items per section. 
      Action verb to start each item, if possible. See above.
      Graphics, charts, photos. What is that about a picture is worth... how many words?
      Paginate.

----------------------