I don't understand why we estimate how long software product takes to be ready. Other than for clients who want to know how long their cash will last. Software developers will of course add features to the product as long as you have cash to pay them.<p>Building software is not like building house. When you build a house you can easily calculate how many wooden blanks, bricks etc go into the house. From that you can calculate how long it will take to finish.<p>For simplified example I want to build a house 170 square meters in size. 3 meters high. I want the outer wall to be from planks and the indoor wall plasterboard and 100 millimeters of wool between them.<p>Lets say the 170 square meter area is divided to 5 rooms, kitchen, living room, large bathroom with sauna, two bedrooms. The kitchen is 30 squaremeters, the living room is 55 squaremeters, the bathroom is 25 squaremeters, both of the bedrooms are 40 squaremeters.<p>The wooden planks are 3 meters long, 10 centimeters wide and 22 millimeters thick. The whole outer wall will take 3400 wooden planks. I nail one in 10 minutes. It will take me about 600 hours to make the outer wall. Then I do the indoor walls by putting the wool. I place one wool in about 2 minutes and the wool is 600x600x100 millimeters in size. It will take me 49 hours to put the wool. 55 hours to put the 1,2x3 meter plasterboard. All of this can be calculated easily from the size of the building area and the size of the materials.<p>This does not work in software projects, because there exists so many ways to create one kind of software. Software is complex and it will get even more complex. We don't even have good estimation system for the size of software project, so how we are so focused on estimating how long it takes to create one?<p>Of course we can give estimates on how long the project will take to build from similar past projects though I never will estimate how long a specific project will take to build. I can tell a customers we will build it as long as they have cash to give me.