Using Bayesian Networks for Web Effort Estimation

Using Bayesian Networks for Web Effort Estimation

Emilia Mendez
DOI: 10.4018/978-1-60566-758-4.ch002
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Web effort models and techniques provide the means for Web companies to formalise the way they estimate effort for their projects, and help in obtaining more accurate estimates. Accurate estimates are fundamental to help project managers allocate resources more adequately, thus supporting projects to be finished on time and within budget. The aim of this chapter is to introduce the concepts related to Web effort estimation and effort forecasting techniques, and to discuss effort prediction when the estimation technique used is Bayesian Networks.
Chapter Preview
Top

Introduction To Web Effort Estimation

The Web is used as a delivery platform for numerous types of Web applications and services, ranging from complex e-commerce solutions with back-end databases to on-line personal static Web pages, blogs and wikis. We currently have available a sheer diversity of Web application types, Web technologies and services, and such diversity is likely to continue growing. However, such diversity also entails many challenges to those who develop/propose such applications, technologies and services. One of these challenges relates to the management of Web projects, where the accurate estimation of effort for new projects is paramount to the proper allocation of resources (Mendes, 2007d).

Complementary to the diversity of Web technologies, application types, and services, there is also the issue associated with the characteristics of the companies that generally develop Web applications. They are mostly small to medium, and generally bid for as many Web projects as they can accommodate, delivering applications in domains often unfamiliar to developers (e.g. social networking applications, aggregation services, data ‘mash-ups’), and that use technologies and services with which these companies had no previous experience. This scenario only adds up to the current situation where most Web development projects suffer from unrealistic project schedules, leading to applications that are rarely developed on time and within budget (Reifer, 2000).

In essence, regardless of the existing number of different Web technologies, services and application domains, Web companies need to have sound effort estimation in other to manage projects in a way that enables them to be delivered on time and within budget.

The purpose of estimating effort is to predict the amount of effort (person/time) required to develop an application (and possibly also a service within the Web context), often based on knowledge of ‘similar’ applications/services previously developed. Figure 1 provides a general overview of an effort estimation process. Estimated characteristics of the new application/service to be developed, and its context (project) are the input, and effort is the output we wish to predict. For example, a given Web company may find that to predict the effort necessary to implement a new e-commerce Web application, it will need to estimate early on in the development project the following characteristics:

Figure 1.

Steps used to obtain an effort estimate (Mendes, 2007d)

978-1-60566-758-4.ch002.f01
  • Estimated number of new Web pages.

  • The number of functions/features (e.g. shopping cart, on-line forum) to be offered by the new Web application.

  • Total number of developers who will help develop the new Web application

  • Developers’ average number of years of experience with the development tools employed.

  • The choice of main programming language used.

Of these variables, estimated number of new Web pages and the number of functions/features to be offered by the new Web application characterise the size of the new Web application; the other three, total number of developers who will help develop the new Web application, developers’ average number of years of experience with the development tools employed, and main programming language used, characterise the project - the context for the development of the new application, and are also believed to influence the amount of effort necessary to develop this new application. The project-related characteristics are co-jointly named ‘cost drivers’.

No matter what the Web development is (application or service), in general the one consistent input found to have the strongest effect on the amount of effort needed to develop an application or service is size (i.e. the total number of server side scripts, the total number of Web pages), with cost drivers also playing an influential role.

Complete Chapter List

Search this Book:
Reset