Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Estimation in software development is the process of approximating how much effort is required to accomplish a task. Estimation plays a significant role in software development to establish cost assessments and delivery schedules (Bilgaiyan et al., 2017), and a software project's success relies on estimations that reflect accurate effort prediction (Bilgaiyan, Mishra, & Das, 2016). Accurate effort estimations provide stakeholders with forecasting data for planning, budgeting, and project scheduling.

 

Multiple factors contribute to inaccurate effort estimations. Factors that adversely affect software development effort estimation are the uncertainty of the effort required to complete the task, software size, estimator experience, inconsistent and incomplete data, the dependency of the environment, and frequent changes in requirements (Sehra, Brar, & Kaur, 2016). Additionally, estimation models perform differently in different environments and development project types (Sehra, Brar, Kaur, & Sehra, 2017). Considering multiple factors, estimation of effort in software development can thus be difficult, and underestimation is problematic.

Multiple factors affect software development estimation. Influences that affect estimation accuracy are software size, the team’s experience, the team's skill, the number of nonfunctional requirements, the distribution of the team geographically, and the level of communication provided by the customer (Usman et al., 2017). Factors that affect accurate estimation are: requirements uncertainty, software size, the experience of the estimator, incomplete data, and changes in requirements. Jørgensen (2014) stated that the accuracy of estimates improves through the use of local context, the use of historical estimation error intervals, the avoidance of misleading estimation information, the use of a checklist, the conducting of a group-based approach, and avoidance of early estimation based on incomplete information.

Providing accurate effort estimates in software development can be problematic. Estimating effort in software development projects at the beginning of the lifecycle is more challenging due to the “cone of uncertainty” (Sehra et al., 2016). Delaying the estimation until the requirement specification phase can reduce inaccuracy, thus providing a more realistic and accurate estimation (Sehra et al., 2016). However, estimations many times are requested before the elaboration of requirements. As a project progresses, uncertainty decreases as knowledge increases regarding the product (Arifin, Daengdej, & Khanh, 2017). Estimations are predictions, and there is a level of uncertainty as each project is unique, and there are no two projects with the same requirements.

Software effort estimation is more challenging in agile projects due to changes in requirements and uncertainty experienced in the development process. Rahikkala et al. (2015) identified two factors associated with estimates that positively influenced project success. The first factor was that senior management ensures that a software estimate relies on facts rather than guessing or opinion (Rahikkala et al., 2015). The second was that senior management recognizes that estimates are critical to organizational success (Rahikkala et al., 2015). Accurate estimates increase the probability of project success; yet estimate accuracy remains an elusive target.

  • No labels