Building unsinkable software

The next time a client asks you to cut corners, or blames you for the the fallout of a late stage spec change, just remember Thomas Andrews.

Born in Comber in 1873 and a pupil at RBAI (Inst to locals), Thomas designed and project managed Titanic for the White Star Line, an impressive accomplishment in my opinion. During construction, his plans for additional life boats and extra safety features were overruled, resulting (or at least contributing greatly) to the loss of life and sinking of the ship on it’s maiden voyage on 14th April 2012.

Sadly Thomas Andrews died onboard Titanic when it sank. A telegraph after the tragedy reads “…ALL UNANIMOUS THAT ANDREWS HEROIC UNTO DEATH, THINKING ONLY SAFETY OTHERS…” What a legacy to leave behind; despite his warnings being ignored and the ship sinking fast, Andrews still thought of the passengers (users) first.

So how do we build “unsinkable software”? We can’t, that’s impossible, but we can try. Even if we don’t convince clients to do the right thing, then we should still do everything we can to help the user. Our code/designs will be the better for it and people will take notice.



Andrew Gribben @grib