| I would not call it 'complaining' to point out a business constraint, I would call it part of the job. To make it easier there really are only 2 business constraints: Time and Money. Everything can roll up to one or both of those. I'd also like to note that asking an engineer to estimate a project, is work. That work (creating the estimate) takes both time and money. The more time and money engineers spend on creating an estimate, the more accurate (and valuable) it will be. Here. This is an estimate for almost every business software project: Between $0 and $100MM. That took me no time and as a result, has no value. The other end of that spectrum is an estimate with perfect accuracy and full value. Meaning -- we know, to the penny, what it is going to cost. An estimate like that is going to be EXPENSIVE and might even eclipse the cost of the entire software project. Knowing that creating estimates take time and money, the question inevitably becomes "Well how much will it take to create the estimate?" The answer comes down to: How much do you want to invest in it? Or better put: How important is estimate accuracy to you? Business people decide the value of things, rely on that. "What is the dollar value of this to the business?" is a legitimate question to ask to a business person. If it's worth $1, then use my estimate above. If it's worth $1MM then the next question is: What percentage of that inevitable end value is it worth to spend on the estimate? Most of the time the number that comes back is not derived from some magical corporate formula, it's gut feel. Which by the way is essentially arbitrary, which I wouldn't call useless. But let's call it what it is, it's a number that is palatable to the business to lose. So, given that number, we now know how much time to spend. Your accuracy will directly reflect that amount. If we want to be more accurate, we'll have to spend more money. Business people are responsible for the money and engineers can not manufacture more time. Rely on both of those. |