10 reasons software projects are slower than we expect

Despite efforts to re-engineer software development with new methodologies and tools, projects still warp time lines thanks to bureaucracy, new demands, and the nature of code.

10 reasons software projects are slower than we expect
track5 / Getty Images

Douglas Hofstadter, longtime computer programmer and author of Gödel, Escher, Bach, summed up his experience in the computing trenches with this eponymous law: It always takes longer than you expect, even when you take into account Hofstadter's Law. 

Yet organizations, stakeholders and project managers the world over still put timelines on software projects. Even programmers themselves. Is Hofstadter’s Law more self-evident to programmers, who must grapple firsthand with the fussy literalness of machines, or to project managers, who must try to lead everyone through the slog? Project managers count on the API to save two months of work, but it’s the developer who discovers that the API has 129 options — except the one the company needs. Getting your code to build is difficult, but so is managing eight programmers who are all struggling with different bugs that stop the code from building.

From the outside, project sponsors drum their fingers on conference room tables, impatiently. Meanwhile, the suits and project managers see programmers frantically paddling and getting nowhere, and the coders see only taskmasters who can’t understand how strong the current is.

Long ago, someone tried to be scientific about measuring productivity and counting lines of code. Fredrick Brooks tore that theory apart in 1975 with The Mythical Man-Month, a book that made it clear that all those mathematical models and assumptions of linear progress just don’t apply. 

To continue reading this article register now

Survey says! Share your insights in our 19th annual State of the CIO study