This document is my master thesis at the Institute of Informatics, University of Oslo. This is a multiple case study where the focus is estimating web based software projects. For consultants in the software industry, the bidding process is one of the most important processes. At this point the costumer chooses which supplier they want to develop the planned software. Two important parts of the suppliers offer are price and time. The supplier has to make an estimate as good and realistic as possible to become the one that is chosen. When the costumer is going to choose its supplier, the estimates are studied in detail and the objective of the customer is to receive the best system as fast and cheap as possible. This may lead to incorrect estimates both when time and money are concerned because of the competition between suppliers. It is useful to study a model of estimation, to help the customer understand the price and development time of the planned software. It is also useful to discuss which estimation approach that a costumer understands. Estimates are important when starting a software project. A costumer needs to know time and costs to see if they can afford the software. For suppliers estimates are important to calculate income and how long that project will take. This way they will also know when the developers will be ready to start new projects. Estimates are often based on the experiences of the experts. One challenge with these estimates are that they have to be done early, even before the suppliers know the details about the system. It is therefore important to know how to estimate when only the functionality described in the user specification is known. It is useful to study how the user specification, specially the functional requirements, can be used when estimating.
In May 2003 the Software Engineering group at Simula Research Laboratory began a research on the development of web based software. Four suppliers developed a research database, called “The Simula Database of Empirical Studies”, simultaneously as the researchers was doing a research on the development. This thesis looks at the estimation process in the development. The main focus is to study how an estimation approach, based on use case, may support both costumers and suppliers in the bidding process. The use case approach is based on a systems functional requirement written in use cases. There is a huge interest in the approach, but it is still necessary to adjust it to different kinds of projects. This thesis studies how an approach for use case based estimation may be used to estimate web based software by testing it on the projects and compare it to other more established methods. The chosen methods are Function Points, COCOMO II early design and WEBMO. The most important aspects discussed are; information requirements, how the approaches estimates compared to how experts estimates, actual effort, which quality the approaches plan and also when the approaches can be used and who to use them.
This study shows that the size measure in the use case point approach is easier to use for people without any technical knowledge, for instance a costumer in software projects, than function point. This predicts well structured use cases. This study suggests guidelines for use case structuring, when the use cases are very detailed from the beginning. Further, the study shows that cost drivers bound to quality of code like maintenance, reuse, documentation, complexity and experience affects the effort to a greater extent. The study looks at how such cost drivers can be used in web projects. In this case the estimation approaches estimated as good as, or better than the experts. This indicates that the use case point approach may support both costumer and developer in a bidding process where a use case model describes the functional requirements.