During my holiday I read “The Mythical Man-Month: Essays on Software Engineering” by Frederick Brooks.
Published in 1975 it might sound outdated for a IT book. It’s not, mainly because it’s focused on software engineering and project management, not programming. Reviews and summaries can be found anywhere, instead of that I’ll quote some recognizable parts.
When one hears of disastrous schedule slippage in a project, he imagines that a series of major calamities must have befallen it. Usually, however, the disaster is due to termites, not tornadoes; and the schedule has slipped imperceptibly but inexorably. Indeed, major calamities are easier to handle; one responds with major force, radical reorganization, the invention of new approaches. The whole team rises to the occasion.
But the day-by-day slippage is harder to recognize, harder to prevent, harder to make up. Yesterday a key man was sick, and a meeting couldn’t be held. [..] Snow, family problems, emergency meetings with customers, executive audits – the list goes on and on. Each one only postpones some activity by a half-day or a day. And the schedule slips, one day at a time. (Brooks, 1975)
First, my wife, my colleagues, and my editors find me to err far more often in optimism than in pessimism. I am, after all, a programmer by background, and optimism is an occupational disease of our craft. (Brooks, 1975)
This book is one reason why ageism will never truly win out over experience. Project management has bought off on the debatable fiction that software can be engineered, so they use processes that work for engineering. Why doe software projects fail? There are many reasons. One of the most overlooked is that “People are non-linear, first-order components in software development.” New approaches like Agile or SCRUMM, or Extreme Programming might be an improvement, but even those fail to fully learn the lesson.