While I agree with the author with respect to some of the fundamental tasks that need to be performed prior to the coding cycle, its seems that individuals who have never written code in their life tend to believe that the preliminary steps are unnecessary. They tend to enter into a sales or bargaining position where they believe you are first asking for more then what is needed so they believe it is there job to bargain you down. In effect they are the cause of the demise of the project but insure the blame will be placed on the developers, planners, etc.. I think the author pointed this out at the end of the article. I constantly struggle with estimating. One problem is to get the money to even make the estimate. As an independent software development company, many customers believe that the estimating stage should be done for free. Yet many will pay an architect huge sums of money to plan how their custom house will be built.
My inhouse staff uses a home grown hourly tracking system for both billing and customer relations. I also use the system to arrive at estimation figures when repeating the development of similar modules. Its been helpful but when customers are faced with the reality of how long something takes they simply cant believe it and continue to seek consultants who will tell them what they want to hear instead of reality. I believe that this is the single most important factor that is ruining the image of professional developers and software architects.
In short your ideas are correct but it simply doesn't follow the reality of human beings who are put into positions to make decisions. This type of training needs to be directed more to the CEO and financial department rather then IT who already know the steps.
a 20 year software developer veteran.
Keep Up with TechRepublic