… too tight a schedule will inevitably lead to the temptation to take shortcuts. These shortcuts might succeed in getting the system working on time – but only if everything goes right, which it rarely does.
Gerald Weinberg The Psychology of Computer Programming Silver Anniversary Edition p68
The Psychology of Computer Programming was originally published in 1971 but remains a great read and very relevant even in a very different computing world. I have the silver anniversary edition which reprints the original with additional commentary at the end of each chapter – what Weinberg calls “wisdom of hindsight remarks”. Weinberg’s comments – 25 years on – about the above quote state:
The wisdom of age has made me ashamed of this statement. “Rarely” is pussy footing; something always goes wrong. Shilly-shallying like this by authors like me has perpetuated the myth of the “optimistic” estimate – how long a project would take if everything went right. Such “estimating” might just as well be based on the assumption that the Laws of Thermodynamics will be repealed during the project.
Gerald Weinberg The Psychology of Computer Programming Silver Anniversary Edition 5.i
I think I read that book. Did it include a story about the boss who, after clamping down on office supplies to the point that they were only available for one hour a day, and sharing and hoarding were prohibited, found a programmer sitting idle in the hallway because both his pens had run out of ink, he was not allowed to share anyone else’s, and the keypunch operators wouldn’t accept pencil?
It does indeed include that story (p79), a story that is completely believable (I once worked at a company that did something very similar), although Weinberg’s version does include one detail that seems false to me:
I have never worked for a bad manager who realized how bad they were – it’s the Dunning-Kruger effect in action.
See also this classic Dilbert strip.
I wonder if it would be interesting to produce a list of computer-related and electronic books which would make interesting reading today, either from a practical standpoint (Knuth’s Art of Computer Programming) or a historical standpoint. It would be nice if such lists were made available to places like used bookstores, so that instead of automatically rejecting computer/electronic books over a certain age, they would know that certain books from decades past should be considered “timeless”.
Perhaps we should start our own list. I would add:
The Mythical Man-Month
Programming Pearls
It would also be interesting to come up with a list of recently published books that will still be worth reading in 20 years time. My first candidate for that list is:
The Elements of Programming by Stepanov and McJones