When it comes to jobs that require originality and creativity, a checklist is not going to be productive. In a job that is more operational, predictive and repetitive, then a checklist would help.
When it comes to software engineering, the job is semi-structural (you are bound by certain conventions, languages, computer science principles), and semi-creative (you can use your imagination in a lot of places).
For QA types, a checklist is a must. For pure new feature programing, a step by step checklist is basically a creativity killer. Crap in, crap out.
I personally distaste checklist, and try to avoid artificial constrains as much as I can.