Web 2.0 Effort Estimation

Web 2.0 Effort Estimation

Emilia Mendes (The University of Auckland, New Zealand)
DOI: 10.4018/978-1-60566-384-5.ch025
OnDemand PDF Download:
$30.00
List Price: $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 potentially 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 within the context of Web 2.0 applications.
Chapter Preview
Top

Introduction

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. Recently, the standards from Web 1.0 enabled the implementation of new technologies that allowed the use of the Web as originally envisaged by Tim Berners-Lee, making it a social Web. This represented a paradigm shift where the authoring of content moved from being controlled by just a few (and read by many), to the collaborative authoring where all participate (Anderson, 2007). The applications and services that provide functionality that “aims to facilitate creativity, information sharing, and, most notably, collaboration among users” fall under the banner of Web 2.01.

Regardless of being under the banner Web 1.0 or Web 2.0, the reality is that 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 entails many challenges to those who develop/propose such applications, technologies and services.

Complementary to the abovementioned scenario, there are many small to medium Web companies worldwide, all bidding 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)

  • 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’.

Key Terms in this Chapter

Bayesian Networks: A technique that enables the construction of a model that supports reasoning with uncertainty due to the way in which it incorporates existing knowledge of a complex domain (Pearl, 1988). This knowledge is represented using two parts. The first, the qualitative part, represents the structure of a BN as depicted by a directed acyclic graph (digraph). The digraph’s nodes represent the relevant variables (factors) in the domain being modelled, which can be of different types (e.g. observable or latent, categorical). The digraph’s arcs represent the causal relationships between variables, where relationships are quantified probabilistically (Woodberry et al., 2004). The second, the quantitative part, associates a node probability table (NPT) to each node, its probability distribution. A parent node’s NPT describes the relative probability of each state (value)

Regression Analysis: A technique where, using a dataset containing data on past finished projects, an Equation is generated, representing the relationship between size, cost drivers, and effort. Such Equation is generated using a procedure that determines the “best” straight-line fit to a set of project data that represents the relationship between effort and size & cost drivers

Web 2.0: Set of new technologies, implemented using as basis the standards from Web 1.0, that allow the use of the Web as originally envisaged by Tim Berners-Lee, making it a social Web. This represented a paradigm shift where the authoring of content moved from being controlled by just a few (and read by many), to the collaborative authoring where all participate (Anderson, 2007). The applications and services that provide functionality that “aims to facilitate creativity, information sharing, and, most notably, collaboration among users” fall under the banner of Web 2.04

Effort Estimation: Process employed to predict the necessary amount of labour units to accomplish a given task, based on knowledge of previous similar projects and other project characteristics that are believed to be related to effort. Project characteristics (independent variables) are the input, and effort (dependent variable) is the output we wish to predict

Expert-Based Effort Estimation: Represents the process of estimating effort by subjective means, and is often based on previous experience from developing/managing similar projects. This is by far the mostly used technique for Web effort estimation. Within this context, the attainment of accurate effort estimates relies on the competence and experience of individuals (e.g. project manager, developer)

Web Effort Estimation: Process employed to predict the necessary amount of labour units to accomplish a given task, based on knowledge of previous similar Web projects and other Web project characteristics that are believed to be related to effort. Web project characteristics (independent variables) are the input, and effort (dependent variable) is the output we wish to predict. Typical inputs are the number of Web pages to be developed, number of scripts to be programmed, number of new images and animations

Case-Based Reasoning: A technique that assumes that similar problems present similar solutions. It provides estimates by comparing the characteristics of the current project to be estimated against a library of historical information from completed projects with a known effort (case base).

Complete Chapter List

Search this Book:
Reset