Of all the things to know about programming (or any engineering discipline) knowing not just ''how'' but ''how long'' is the most valuable. * Viability of any project is predicated on ''how long'' -- which may be a modifiable amount -- or not. * Sometimes you just can't shorten it with more people (putting another two women on the baby project will not get it done in three months instead of nine). * Sometimes the time factor and number of hands does not have a linear relationship. Organizational skills (or their lack) can directly affect it. * Real success in projecting the feasibility of a programming project, after you've determined that the technology is within reach, depends on the CorrectEstimationOfEffort. * It's not enough to know how long it would take ''you'' to do it, you have to be able to know how long it will take for ''them'' to do it. * This means you need to have to know people (or at least ''these'' people) as well as the technology. * Once you know ''how long'' you can say, "well, we could do it, but we'd all starve, so shelve it for now," and avert the kind of debacle that we all know so well. * Or, once an undertaking is embarked upon, the crew doesn't have to wonder "will we win?" A level of this skill that is consistently right is practically priceless. -- GarryHamilton