The main question typically asked by those looking to have software developed is, “How long will it take and how much will it cost?” But the correct question is how much efforts will it take to do it?
First of all we need to make a distinction between effort and time. The effort is how many hours of work need to go into a project; Time is how long something takes from start to finish.
For example, 40 hours of effort can be put forth in 8 hours by having 5 developers divide the work in one day on a project. On the other hand, it could take far over 40 hours to get the same amount of work done if we are not able to dedicate the project to the full stack engineer. Or if we ran into external issues, like a client not granting access to a server and delaying work performance. In both cases, the effort is the same (40 hours of engineering time), but the timeliness are different.
So you should always understand how much effort and time the project that you are offered consists of. If you are told something will take “3 weeks”, is that 3 weeks from start to finish, or 3 weeks of effort? Now let’s see how to determine the cost of the project correctly.