Review on Software development effort estimation
Prepared by Sayed Mohsin Reza
Part 1
Source: WIKIPEDIA
Table of Contents
- Software development effort estimation
- History
- Estimation approaches
- Assessing the accuracy of estimates
- Project Management Software
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
|
COCOMO, SLIM, SEER-SEM, TruePlanning 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 poker, Wideband 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
Post a Comment