Review on Cost Estimation Techniques for Web Projects [Part 2]



Review on Cost Estimation Techniques for Web Projects

Prepared by Sayed Mohsin Reza

Part 2

Source Book: Cost Estimation Techniques for Web Projects
Book Author: Emilia Mendes University of Auckland, New Zealand

Table of Contents


  • Web Effort Estimation Using Regression Analysis. 2
  • Web Effort Estimation Using Case-Based Reasoning. 3
  • Web Effort Estimation Using Classification and Regression Trees. 4
  • How to Improve Your Company’s Effort Estimation Practices. 4




Web Effort Estimation Using Regression Analysis

Data Source: Industrial Web projects, from 133 online Web forms aimed at giving quotes for Web development projects
Technique:Regression Analysis
For regression analysis,Suggestion is provided the following steps -
1.      Data Validation: first screening of the data that have been collected, understanding what the variables are, descriptive statistics (e.g., the mean, median etc.)
2.      Variables and model Selection
a.      Preliminary Analysis: create variables based on existing variables, discard unnecessary variables, and modify existing variables.
b.      Model building: construct an effort estimation model based on our data set and variables.
3.      Model Inspection: verify, at each stage of the stepwise process, the stability of the effort model.
4.      Extraction of Effort Equation
5.      Model Validation: uses a cross-validation mechanism to assess the prediction accuracy of an effort model.
Terms:
Cross Validation:Cross-validation represents splitting the original data set into training and validation sets.
Training Set: It is used to build an effort model
Validationsets: The projects in the validation set are used to obtain effort estimates for each of the projects in this validation set, which once measured, are compared to their corresponding actual effort.

My Findings:
·         Provide mechanism for Web Company to construct and validate its own effort estimation model.



Web Effort EstimationUsing Case-Based Reasoning

Data Source: Industrial Web projects
Technique:Case-based Reasoning (CBR)
Terms:
Case-based Reasoning (CBR): CBR provides effort estimates for new projects by comparing the characteristics of the current project to be estimated against a library of historical data from completed projects with known effort (case base).
The six parameters that can have a bearing on the estimations obtained using CBR are as follows
1.      Feature subset selection: It involves determining the optimum subset of features that yields the most accurate estimation
o   brute-force algorithm: searches the solution domain for all possible feature subset combinations looking for the one that provides the best results
2.      Similarity measure: measures the level of likeness between different cases
o   Unweighted Euclidean distance
o   Weighted Euclidean Distance:
3.      Scaling: represents the transformation of feature values according to a defined rule
4.      Number of analogies: represents the number of most similar cases that will be used to generate an effort estimate
5.      Analogy adaptation
6.      Adaptation rules



Web Effort EstimationUsing Classification andRegression Trees

Technique: Classification and Regression Trees (CART)    
Terms:
CART: CART is a technique where independent variables (predictors) are used to build binary trees where each leaf node either represents a category to which an estimate belongs or a value for an estimate. The former situation occurs with classification trees and the latter occurs with regression trees;
Classificationtree: If predictors are categorical (e.g., Yes or No), the tree is called a classification tree.
Regressiontree:If predictors are numerical, the tree is called a regression tree.


How to Improve YourCompany’s EffortEstimation Practices

Terms:
Expert-based effort estimation: It represents the process by which effort for a new project to be developed is estimated by subjective means, and is often based on previous experience from developing or managing similar projects.
In general a software development process produces a software life cycle

  1. Requirements analysis
  2. Design
  3. Implementation (or coding)
  4. Testing
  5. Installation
  6. Maintenance


Models:

  • The Waterfall Model
  • Extension to the Waterfall Model
  • Collaborative Web Development
  • Agile Web Engineering Process








To improve simple project management practices, we should do –

  • Process model identifying phases
  • Gantt chart development. It is a time-charting technique where horizontal bars are used to represent project activities, and the horizontal axis represents time using dates, weeks, and so forth
  • Critical path analysis
  • Continuous feedback and continuous improvement

Comments