In this chapter we've seen that, unlike when building a house, when it comes to software it's almost impossible to know what you want. And even if you did know, it would be impossible to know how long each part would take to do. And even if you did know the theoretical length of each task, it would be impossible to work out the amount of time it would take an actual team of a specified size to do it. Which goes some way to explaning the sordid catalogue of failure that is the history of software projects over the last fifty years.
— Patrick Gleeson
itproject-managementsoftware