Over the years, I have become confident in my ability to estimate software costs and schedules. I guess that such confidence comes to us in the industry who have developed hundreds and hundreds of estimates. Of course, we have inserted mature processes, metrics and estimating models to accomplish this feat in a disciplined and repeatable manner. We have invested in data collection and tuned the processes, refined the metrics and calibrated the models in order to achieve our goals of predictability and control. During the past few months, I found a way to get rid of my self-assurance. It was simple; I tried to estimate the cost and schedule for a web development. Developers seem to generate software for the web using hypertext markup language (html), Java applets/script and visual programming languages in a flash of an eye. Actually, such projects defeat my processes, defy my models and make my size metrics obsolete. They generate and make thousands of web objects operational over periods of just a few months. As we move to the web and embrace electronic commerce business models, how do we estimate the software project costs and schedules? How do we examine the breakeven points and justify the investments needed to bring in the bounty from electronic commerce? More important, how do we adapt our existing processes, size metrics and models and make them work? The focus of this paper is to provide answers to these questions. I noticed a banner on my web site that announced that last year electronic commerce reached $3 billion in sales last year. That's a marvelous achievement. But, in good news there is also bad. And the bad news is that the headline heralds in a change to the way we go about developing software. Table 1 summarizes these changes. It highlights the move to component-based software development, systematic reuse and visual technologies. It identifies a move to quick paced developments. Instead of developing software from requirements via the waterfall, these modern web development projects glue building blocks and reusable components together using rapid application development methods and continuous prototyping. You will also notice that web developments seem deficient in the areas of process and estimating. That's because the momentum to move to the web is new and technology like the Software Engineering Institute's Capability Maturity Model (CMM) 3 has not been adapted to address such projects. In the area of estimating, you will also notice that Software Line Of Code (SLOC) and functionpoint estimating models like COCOMO 4 , PRICE-S 5 , SLIM 6 and SEER 7 are the mainstay tools used for traditional developments. The reasons for this are simple and include: § The phenomenology associated with development and the parameters that drive cost have been extensively studied, § Estimating models that take this phenomenology into account have been d eveloped, validated and commercialized over a period of 20+ years, and § The models have been calibrated using historical data to accurately predict cost and schedule. § Processes that incorporate the models into the planning and control processes firms use to manage their businesses have been developed, refined and optimized.
Reifer REF proposes the web objects size metric and an adaptation of the COCOMO II estimation model called WebMo for estimating the effort and duration of web applications.
Development: Estimating Quick–to-Market Software
IEEE Software
Computer Science