Software development is a lot like completing the Boston Marathon only to be yanked over to the train tracks and asked to fix the rail and getting it fixed just in time for the train to run you over then it jumps the tracks anyway and you have to get it back on the tracks before the next train to run you over hits the first train.