Estimation in software engineering
Encyclopedia
The ability to accurately estimate the time and/or cost taken for a project
Project
A project in business and science is typically defined as a collaborative enterprise, frequently involving research or design, that is carefully planned to achieve a particular aim. Projects can be further defined as temporary rather than permanent social systems that are constituted by teams...

 to come in to its successful conclusion is a serious problem for software engineers
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

. The use of a repeatable, clearly defined and well understood software development process
Software development process
A software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...

 has, in recent years, shown itself to be the most effective method of gaining useful historical data that can be used for statistical estimation. In particular, the act of sampling more frequently, coupled with the loosening of constraints between parts of a project, has allowed more accurate estimation and more rapid development times.

Methods

Popular methods for estimation in software engineering include:
  • Analysis Effort method
    Analysis Effort method
    The analysis effort method is a method for estimating the duration of software engineering projects. It is best suited to producing initial estimates for the length of a job based on a known time duration for preparing a specification. Inputs to the method a numeric factors which indicate Size ,...

  • COCOMO
    COCOMO
    **********************************************************************************************The Constructive Cost Model is an algorithmic software cost estimation model developed by Barry W. Boehm...

     (This model is obsolete and should only be used for demonstration purposes.)
  • COCOMO™ II
  • COSYSMO
    Cosysmo
    The Constructive Systems Engineering Cost Model was created by Ricardo Valerdi while at the University of Southern California Center for Software Engineering. It gives an estimate of the number of person-months it will take to staff systems engineering resources on hardware and software projects...

  • Evidence-based Scheduling
    Evidence-based Scheduling
    Evidence-based Scheduling is a software estimation approach created by Joel Spolsky, a commentator on software engineering principles.One of the core ideas of Evidence-based Scheduling, that adds to the normal estimation practices, is the idea of including all time spent, regardless of...

     Refinement of typical agile estimating techniques using minimal measurement and total time accounting.
  • Function Point Analysis
  • Parametric Estimating
    Estimation theory
    Estimation theory is a branch of statistics and signal processing that deals with estimating the values of parameters based on measured/empirical data that has a random component. The parameters describe an underlying physical setting in such a way that their value affects the distribution of the...

  • PRICE Systems
    PRICE Systems
    PRICE Systems was founded in 1975 as a business within the RCA Corporation. It is generally acknowledged as the earliest developer of parametric cost estimation software....

     Founders of Commercial Parametric models that estimates the scope, cost, effort and schedule for software projects.
  • Proxy-based estimating
    Proxy-based estimating
    PROxy-Based Estimating is an estimating process used in the Personal Software Process to estimate size and effort.Proxy Based Estimating , is the estimation method introduced by Watts Humphrey...

     (PROBE) (from the Personal Software Process
    Personal Software Process
    The Personal Software Process is a structured software development process that is intended to help software engineers understand and improve their performance, by using a "disciplined, data-driven procedure"...

    )
  • Program Evaluation and Review Technique
    Program Evaluation and Review Technique
    The Program ' Evaluation and Review Technique, commonly abbreviated PERT, is a statistical tool, used in project management, that is designed to analyze and represent the tasks involved in completing a given project...

     (PERT)
  • SEER-SEM
    SEER-SEM
    SEER for Software is an algorithmic project management software application designed specifically to estimate, plan and monitor the effort and resources required for any type of software development and/or maintenance project...

     Parametric Estimation of Effort, Schedule, Cost, Risk. Mimimum time and staffing concepts based on Brooks's law
  • SLIM
    Putnam model
    The Putnam model is an empirical software effort estimation model.The original paper by Lawrence H. Putnam published in 1978 is seen as pioneering work in the field software process modelling....

  • The Planning Game (from Extreme Programming
    Extreme Programming
    Extreme programming is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements...

    )
  • Weighted Micro Function Points
    Weighted Micro Function Points
    Weighted Micro Function Points is a modern software sizing algorithm invented by Logical Solutions in 2009 which is a successor to solid ancestor scientific methods as COCOMO, COSYSMO, maintainability index, cyclomatic complexity, function points, and Halstead complexity...

     (WMFP)
  • Wideband Delphi
    Wideband delphi
    The Wideband Delphi estimation method is a consensus-based technique for estimating effort. It derives from the Delphi Method which was developed in the 1940s at the RAND Corporation as a forecasting tool...

  • The Use Case Points method (UCP)
  • CETIN
    ITK method
    Methodology to evaluate complexity and cost of developing and maintaining application software for creating information systems - this is an algorithmic model assessment value software, developed by a consortium of Kazakh IT companies: Kazakhstan Association of IT-companies Company System...


See also

  • Software development effort estimation
    Software development effort estimation
    Software development efforts estimation is the process of predicting the most realistic use of effort required to develop or maintain software based on incomplete, uncertain and/or noisy input...

  • Software metric
    Software metric
    A software metric is a measure of some property of a piece of software or its specifications. Since quantitative measurements are essential in all sciences, there is a continuous effort by computer science practitioners and theoreticians to bring similar approaches to software development...

  • Project management
    Project management
    Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...

  • Cost overrun
    Cost overrun
    A cost overrun, also known as a cost increase or budget overrun, is an unexpected cost incurred in excess of a budgeted amount due to an under-estimation of the actual cost during budgeting...

  • Risk
    Risk
    Risk is the potential that a chosen action or activity will lead to a loss . The notion implies that a choice having an influence on the outcome exists . Potential losses themselves may also be called "risks"...

  • Comparison of development estimation software
    Comparison of development estimation software
    A comparison of notable Software development effort estimation software.-See also:* Software Sizing* Software metric* Software development effort estimation* Software parametric models* Cost estimation models...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK