An aeroplane is one of human beings greatest achievements. Flying one of this beasts is a complex endeavour. Yet air travel remains one of the safest modes of transport, have you ever wondered how they do it?
A key factor in airline success is the preflight checklist.
Before any flight the cockpit crew go through a rather bizarre ritual. The copilot calls out each control on his list and the pilot makes sure each the switch is where it needs to be. No matter the years of experience or knowledge of the plane, this ritual is still carried out.
You see the checklist is not there to tell the pilot what to do. That is the work of the aviation school. Rather it is to ensure that nothing is missed.
Before we launch our own projects into production, we need a similar list.
Below is the list I use myself, I literally have it pinned on my wall, hope you find it useful
Look for and remove dd tags
In laravel there exists a special method called dd short for dump and die. This is an extremely useful debugging tool. This checklist item should remind me to actively look for and remove all debugging aids in my code.
Ya ain’t gonna need it
The truth is that you are not likely going to complete all the features you set out to do before the next client presentation/deployment. This item reminds me to gracefully shutoff paths to this features. Perhaps redirecting to a In progress page or logging stats of how many times users tried to access the feature.
I find it counter productive to spend too much time fixing a bug. So at times I push it back to the backlog to be worked on at a later time, when my subconscious has had sometime to chew on it. Before launch however this checklist item reminds me to definitively deal with the bug.
How fast can you go
Now is the time to see if your app can handle a thousand hits a second or the equivalent of such a load. This can be as simple as writing a curl script to bomb the staging server. For more advanced projects, a profiler like newrelic will be an invaluable tool.
Fake it till you make it
Sometimes some pages just have to return fake data or a really watered down version of the original feature. Now is the time to make that call. Also Ya ain’t gonna need it is always an option.
This is the time to go through user facing documentation to ensure the English does not betray my kindergarten teacher. A spell check through the view files also comes in handy at this point.
Do you have a project completion checklist?
Share it with my on my twitter @ jchex or on the comment section below.