 Estimating
◦ The process of forecasting or approximating the time and cost of
completing project deliverables.
◦ A rough calculation of the value, number, quantity, or extent of
something.
 Types of Estimates
 Bottom-up (micro) :require more effort to develop & rely upon those who
understand the work to estimate specific work activities
 Top-down (macro) :derived from experience to estimate project duration and
total cost. Could be made by a manager with no direct experience of the
processes to complete the project.
 Software cost and effort estimation will
never be an exact science.
 There are too many parameters, e.g.,
human, technical, environmental, and
political parameters, that affect the actual
estimation making it almost impossible to
have considered all cases.
 Resources: Resources are required to carry out any project
tasks. They can be people, equipment, facilities, funding,
or anything else capable of definition required for the
completion of a project activity.
 Times : Time is the most valuable resource in a project.
Every project has a deadline to delivery.
 Human Skills : Human skills mean the knowledge and
the experience of the Team members. They affect to your
estimation. For example, a team, whose members have
low testing skills, will take more time to finish the project
than the one which has high testing skills.
 Cost: Cost is the project budget. Generally speaking, it
means how much money it takes to finish the project.
List of Software Estimation Techniques
 Top-down Methods
 Bottom-up Methods
 Work Breakdown Structure
 3-Point Software Estimation Technique
 Function Point Analysis
 Multiplication Method
 Analogy Method
Scoping:
”Project scope is the part of project planning that involves
determining and documenting a list of specific project goals,
deliverables, features, functions, tasks, deadlines”
 You need first to scope the project even if you do
not have the full detailed requirements but you can
assume some of them.
 Decomposition:
 Break your software into smaller components and functions,
 This is similar to work breakdown structure but only for the software
components not all the working activities for the software.
 You may also collect different data from the project team or the
customer to ensure that you have listed all functionalities.
Sizing:
 In this step the actual estimation will be done for each component
alone
There are different techniques which you can apply
to estimate the effort for tasks but we use 3-Point
Software Estimation Technique to calculate total effort.
 Three-Point estimation is one of the techniques that could be used to
estimate a task
 The simplicity of the Three-point estimation makes it a very useful
tool for a Project Manager that who wants to estimate.
 In three-point estimation, three values are produced initially for every
task
Let’s see how to use the above three values in the following example.
 The best case: To complete this task is 120 man-hours (around
15 days). In this case, you have a talented team, they can finish the
task in smallest time.
 The most likely case: To complete this task is 170 man-hours
(around 21 days). This is a normal case, you have enough resource
and ability to complete the task.
 The worst case: To complete this task is 200 man-hours (around
25 days). You need to perform much more work because your team
members are not experienced.
 In the above estimation, you just determine a possible and not
a certain value, we must know about the probability that the
estimation is correct. You can use the other formula.
 In above formula, the SD mean Standard Deviation, this value could
give you the information about the probability that the estimation is
correct.
 To complete the task , you need 166.6 ± 13.33 Man-hour (153.33 to
179.99 man-hour)
 After initial estimate, you will need at some point to ask for
expert opinion for some new functionalities you may not
aware off, or for considering a review from your peers that
you have done the correct estimation.
 Just to ensure that you are on the correct path.
 This can be considered the final step as you
aggregate all the estimations from all
components and function.
 You can go another round across the process
until reaching the correct estimate which will
be approved by the Project team and the
Management as well.
 Performance Models
 Optimal Performance

Basic Software Effort Estimation

  • 3.
     Estimating ◦ Theprocess of forecasting or approximating the time and cost of completing project deliverables. ◦ A rough calculation of the value, number, quantity, or extent of something.  Types of Estimates  Bottom-up (micro) :require more effort to develop & rely upon those who understand the work to estimate specific work activities  Top-down (macro) :derived from experience to estimate project duration and total cost. Could be made by a manager with no direct experience of the processes to complete the project.
  • 5.
     Software costand effort estimation will never be an exact science.  There are too many parameters, e.g., human, technical, environmental, and political parameters, that affect the actual estimation making it almost impossible to have considered all cases.
  • 9.
     Resources: Resourcesare required to carry out any project tasks. They can be people, equipment, facilities, funding, or anything else capable of definition required for the completion of a project activity.  Times : Time is the most valuable resource in a project. Every project has a deadline to delivery.  Human Skills : Human skills mean the knowledge and the experience of the Team members. They affect to your estimation. For example, a team, whose members have low testing skills, will take more time to finish the project than the one which has high testing skills.  Cost: Cost is the project budget. Generally speaking, it means how much money it takes to finish the project.
  • 10.
    List of SoftwareEstimation Techniques  Top-down Methods  Bottom-up Methods  Work Breakdown Structure  3-Point Software Estimation Technique  Function Point Analysis  Multiplication Method  Analogy Method
  • 12.
    Scoping: ”Project scope isthe part of project planning that involves determining and documenting a list of specific project goals, deliverables, features, functions, tasks, deadlines”  You need first to scope the project even if you do not have the full detailed requirements but you can assume some of them.
  • 13.
     Decomposition:  Breakyour software into smaller components and functions,  This is similar to work breakdown structure but only for the software components not all the working activities for the software.  You may also collect different data from the project team or the customer to ensure that you have listed all functionalities.
  • 14.
    Sizing:  In thisstep the actual estimation will be done for each component alone There are different techniques which you can apply to estimate the effort for tasks but we use 3-Point Software Estimation Technique to calculate total effort.
  • 15.
     Three-Point estimationis one of the techniques that could be used to estimate a task  The simplicity of the Three-point estimation makes it a very useful tool for a Project Manager that who wants to estimate.  In three-point estimation, three values are produced initially for every task
  • 17.
    Let’s see howto use the above three values in the following example.  The best case: To complete this task is 120 man-hours (around 15 days). In this case, you have a talented team, they can finish the task in smallest time.  The most likely case: To complete this task is 170 man-hours (around 21 days). This is a normal case, you have enough resource and ability to complete the task.  The worst case: To complete this task is 200 man-hours (around 25 days). You need to perform much more work because your team members are not experienced.
  • 19.
     In theabove estimation, you just determine a possible and not a certain value, we must know about the probability that the estimation is correct. You can use the other formula.
  • 20.
     In aboveformula, the SD mean Standard Deviation, this value could give you the information about the probability that the estimation is correct.  To complete the task , you need 166.6 ± 13.33 Man-hour (153.33 to 179.99 man-hour)
  • 21.
     After initialestimate, you will need at some point to ask for expert opinion for some new functionalities you may not aware off, or for considering a review from your peers that you have done the correct estimation.  Just to ensure that you are on the correct path.
  • 22.
     This canbe considered the final step as you aggregate all the estimations from all components and function.  You can go another round across the process until reaching the correct estimate which will be approved by the Project team and the Management as well.
  • 23.
     Performance Models Optimal Performance