Software projects aim to develop applications to meet specific needs, and accurate estimation of time, effort, cost, and resources is crucial for successful project management. Factors such as project complexity, size, and structural uncertainty can significantly impact estimation accuracy. Various strategies, including using historical data and decomposition techniques, can help improve the reliability of cost and effort estimates.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
14 views5 pages
Wa0008.
Software projects aim to develop applications to meet specific needs, and accurate estimation of time, effort, cost, and resources is crucial for successful project management. Factors such as project complexity, size, and structural uncertainty can significantly impact estimation accuracy. Various strategies, including using historical data and decomposition techniques, can help improve the reliability of cost and effort estimates.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5
MODULE-5
• Software projects are initiatives to
develop software applications, systems or solutions often designed to meet particular needs to solve a problem. • Software process estimation is the process of predicting time, effort, cost and resources needed to complete a software project. Estimates are critical for planning, budgeting, scheduling and managing a project to ensure it meets deadlines and quality standards. • Software cost and estimation will never be exact science. Too many things like human, technical, environmental, political can affect the software and efforts applied to develop it. Observations on Estimation • Project Complexity: Complexity is subjective and depends on familiarity and experience. For example, a first time developer of a sophisticated e-commerce application might consider to be exceedingly complex than an experienced team. • Project Size: As projects grow in size, the number of interdependencies between components increases, making it more challenging to break down the problem affecting the accuracy and efficacy of the estimates. • Degree of Structural Uncertainity: This refers to how well-defined the requirements are, how easily the functions can be isolated, and how organised the data flow is. Less structural certainity leads to higher estimation risks since it is hard to predict the effort and resources accurately. Software project estimation can be transformed from a black art to a series of systematic steps that provide estimates with acceptable risk. To achieve reliable cost and effort estimates, a number of options arise: 1. Delay estimation until late in the project. • If you wait until end you will know the exact costs and efforts. However it is not practical since estimates are needed at start for planning and budgeting. 2. Base estimates on similar projects that have already been completed. • Looking at the similar projects that has been done before, we can base our estimates on how those went, assuming the conditions and requirements are similar. For example, the customer, business conditions, software environment and deadlines. 3. Use relatively simple decomposition techniques to generate project cost and effort estimates. • We use divide and conquer technique, decomposing a project into major functions and related software engineering activities, cost and estimating each one separately. Adding these up gives an overall estimate. 4. Use one or more empirical models for software cost and effort estimation. • Some models rely on historical data to predict cost and effort. Historical information has a strong influence on estimation risk. A model based on experience and historical data takes a form: d=f(vi) where, d= one of the estimated values(effort, cost, duration). vi= selected independent parameters(LOC, FP). f(vi)=function that uses input variables to calculate outcome.