Great article, but one key difference missing from the software experience is that the person for whom you are installing the washing machine doesn't like it there, and wants it moved over to the others side of the utility closet so that when you open the door it is easier to put clothes from there into the dryer. Also, it's too noisy, we need utility closet doors that absorb more of the sound.
One primary driver of the unknowability of software estimation, is that the customer doesn't actually know, and perhaps CANNOT actually know, what they really want or need until they see something that isn't it. No amount of asking beforehand will bring out this information, and complaining afterwards that they didn't say that doesn't accomplish anything except souring the relationship.
Bill by the hour, and absolutely refuse to bill by the project. It's the only way.
One primary driver of the unknowability of software estimation, is that the customer doesn't actually know, and perhaps CANNOT actually know, what they really want or need until they see something that isn't it. No amount of asking beforehand will bring out this information, and complaining afterwards that they didn't say that doesn't accomplish anything except souring the relationship.
Bill by the hour, and absolutely refuse to bill by the project. It's the only way.