Review on Software development effort estimation [ Part 1 ]



Review on Software development effort estimation

Prepared by Sayed Mohsin Reza

Part 1

Source: WIKIPEDIA

Table of Contents
  • Software development effort estimation. 2
  • History. 2
  • Estimation approaches. 2
  • Assessing the accuracy of estimates. 3
  • Project Management Software. 4


Software development effort estimation

Software development effort estimation is the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input. Effort estimates may be used as input to project plans, iteration plans, budgets, investment analyses, pricing processes and bidding rounds.
Published surveys on estimation practice suggest that expert estimation is the dominant strategy when estimating software development effort.

History

Software effort estimation models:


  • regression analysis
  • case-based reasoning
  • Classification and regression trees,
  • simulation, neural networks,
  • Bayesian statistics, lexical analysis of requirement specifications,
  • genetic programming,
  • linear programming,
  • economic production models,
  • soft computing,
  • fuzzy logic modeling,
  • statistical bootstrapping


Parametric estimation models


  • COCOMO,
  • SEER-SEM
  • SLIM
  • function points
  • use case points



Estimation approaches

Categorizing estimation approaches:
·         Expert estimation: based on judgmental processes
·         Formal estimation model: based on mechanical processes, e.g., the use of a formula derived from historical data.
·         Combination-based estimation: based on a judgmental and mechanical combination of estimates from different sources.


Estimation approach
Category
Examples of support of implementation of estimation approach
Analogy-based estimation
Formal estimation model
ANGEL, Weighted Micro Function Points
WBS-based (bottom up) estimation
Expert estimation
Project management software, company specific activity templates
Parametric models
Formal estimation model
COCOMOSLIMSEER-SEMTruePlanning for Software
Size-based estimation models
Formal estimation model
Function Point Analysis, Use Case Analysis, SSU (Software Size Unit), Story points-based estimation in Agile software development
Group estimation
Expert estimation
Planning pokerWideband Delphi
Mechanical combination
Combination-based estimation
Average of an analogy-based and a Work breakdown structure-based effort estimate
Judgmental combination
Combination-based estimation
Expert judgment based on estimates from a parametric model and group estimation

Assessing the accuracy of estimates


Most common measure of the average estimation accuracy is the MMRE (Mean Magnitude of Relative Error), where the MRE of each estimate is defined as

MRE= | actual effort - estimated effort | / actual effort

Similar symmetric measures:

  • Weighted Mean of Quartiles of relative errors (WMQ)
  • Mean Variation from Estimate (MVFE)



Project Management Software


1.      qdPM is a free web-based project management tool suitable for a small team working on multiple projects. It is fully configurable. You can easy manage Projects, Tasks and People. Customers interact using a Ticket System that is integrated into Task management.
2.      Feng Office is a Collaboration Platform that enables you to manage your projects and business services, collaborate with your team and your customers, organize and share documents and files. Feng Office is being actively developed.
3.      eyeOS is a disruptive desktop entirely usable from a web browser. It includes an office suite and some collaboration applications, as well as a full framework to develop new web apps as if they were desktop apps. Free and Open Source so you can host your own system, keeping all your data under your control.
4.      Collabtive is web-based project management software. Collabtive is intended for small to medium-sized businesses and freelancers. Collabtive is cloud based groupware easy and efficient for your projects.
5.      dotProject is a web-based project management application, designed to provide project layout and control functions. Project Management is about the structuring of a series of tasks and the schedule associated with those tasks, to achieve an outcome. dotProject aims to provide the project manager with a tool to manage tasks, schedules, communication and sharing.
6.      ProjectPier is a Free, Open-Source, self-hosted PHP application for managing tasks, projects and teams through an intuitive web interface. ProjectPier will help your organization communicate, collaborate and get things done Its function is similar to commercial groupware/project management products, but allows the freedom and scalability of self-hosting
7.      MantisBT is a free popular web-based bugtracking system. It is written in the PHP scripting language and works with MySQL, MS SQL, and PostgreSQL databases and a webserver. MantisBT can be installed on Windows, Linux, Mac OS, OS/2, and others. Almost any web browser should be able to function as a client.
8.      The Bug Genie Friendly issue tracking and project management. Issue tracking and project management never looked this good. Designed to be beautiful, powerful and friendly - The Bug Genie is an absolute treat - and it's all yours.
9.      PHProjektis a modular application for the coordination of group activities and to share informations and document via the web. Components of PHProjekt: Group calendar, project management, time card system, file management, contact manager, mail client and many other modules
10.  TaskFreak! Original is a simple but efficient web based task manager written in PHP. Originally created in September 2005, it has evolved over the years. It is now available in 24 languages.
11.  todoyu is the web-based way to get your tasks done. todoyu is all about bringing your team and clients together to work jointly on projects. todoyu is as simple as needed and focused on the most important: Enable your team to work as efficient as possible. Focus your work on your projects and let todoyu do the rest for you in one tool: time tracking, reporting, organizing, approving, controlling, discussing, billing and much more.
12.  Flyspray is an uncomplicated, web-based bug tracking system written in PHP for assisting with software development. It was originally conceived when the Psi Jabber client project couldn't find a bugtracker that suited their needs, and has been made available for everyone to use for their own projects.
13.  phpCollab is an open source internet-enabled system for use in projects that require collaboration over the internet. Those organizations, such as consulting firms, that rely on a division between firm-side and client-side information will benefit most from use of phpCollab.
14.  Traq is a PHP powered project manager, capable of tracking issues for multiple projects and multiple milestones, there is also a project timeline which displays events about tickets milestones and more.
15.  SiteDove Free is a powerful tool for beefing up the security of your website at NO COST. It includes a unique Burglar Alarm that shows you when changes are made to files on your site. If you're not sure who made those changes, you will want to investigate to see if your site has been hacked. In this way, SiteDove Free acts as an early warning system that can detect malicious attacks long before search engines and your readers encounter them.



Comments