Test Estimation Techniques…
What is Estimation? Is it a Science? Is it art? A bit of both - Design...
What is an Estimate ? An estimate is a forecast or prediction. An Estimate is an approximation of what it would Cost.  A Rough Idea how long a Task would take to complete.  An Approximate calculation of Quantity or Degree or Worth.
How to measure - Estimate An Estimate is Effort required in terms of Time Cost An Estimate is based on  Past Experience/ Past Data Available Documents/ Knowledge Assumptions Calculated Risks
Why do we Estimate? Overshooting Budgets Exceeding Timescales Example of Overshooting Budgets and Timescales : A Standish Group survey of 8,000 software projects found that the average project exceeded its planned  budget  by  90 percent  and its  schedule  by  120 percent .  Several industry studies have reported that  fewer than half  of software projects finish within their allotted schedules and budgets.
Importance of Estimates Estimate  too high Estimate  too low Actual Schedule Estimated Schedule actual schedule = estimated schedule minimum actual schedule
Importance of Estimates Cont… A study conducted by KPMG Pete Marwick found these causes of software runaways: Project Objectives Not Fully Specified (51%)  Bad Planning and Estimating (48%)  Technology New to the Organization (45%)  Inadequate/No Project Management Methodology (42%)  Insufficient Senior Staff on the Team (42%)  Poor Performance by Suppliers of Hardware/Software (42%)
Questions to be asked Are the Requirements finalized? If not then, How frequently the requirements change? What are the Types of Testing required? Are Test Assets already available? If Test Assets are available, What Stage they are in ? Is the Infrastructure for Testing ready? Have the Assumptions/Risks been documented. Are the Responsibilities clear. Estimation for Testing
Steps involved in Estimation Work out elapsed time / critical path Is the total  reasonable Reassess  tasks  and / or effort Identify scope State assumptions Assess the tasks involved Estimate the effort for each task Calculate Total Effort No Yes Finish and Present the Estimate
Test Estimation Process Step 1  - Define Function Point Step 2  - Give Weightage to all Function  Points Step 3  - Define an Estimate Per  Function Point Step 4  - Calculate Total Effort Estimate
Function Point Method What is a Function Point ? Function points are a measure of the size of computer applications and the projects that build them.  The size is measured from a functional, or user, point of view.  It is independent of the computer language, development methodology, technology or capability of the project team used to develop the application. Function Point can be based upon Use Cases Test Scenarios/ Test Cases Code
Function Point Method – Step 1 Define Function Points Function Point is measured from a functional, or user, point of view.  It is independent of computer language, development methodology, technology or capability of the project team.  Based on Available Documents (SRS, Design etc.) Also Based on Application knowledge and Application Domain Can also be based upon Use Cases, Code, Test Scenarios
Function Point Method – Step 2 Give Weightage to all Function Points Complex API/ Low level Interactions Complex Batch Processes Medium Database Checks Simple Batch Processes Interaction between two or functionalities Simple GUI Involving only One Functionality
Function Point Method – Step 3 Define an Estimate Per Function Point Based on similar Projects Experience. Organization/Project Standards.
Function Point Method – Step 4 Total Effort Estimate  =  Total Function Points   *   Estimate defined Per Function Point
Function Point Method - Example Medium Complex Simple Total Function Point Total 120 4.15 498 Weightage 1 3 5 Function Points 35 20 5 35 60 25 Estimate defined Per Function Point Total Estimated Effort( Person Hours)
To Conclude - Few Tips Allow enough time to do a proper Project Estimate. Use documented data from similar past Projects.  Use Own Estimates. Use several different people to Estimate. Re-Estimate the Project several times throughout its lifecycle. Create a standardized estimation procedure. Focus some effort on improving organization’s software Project estimation process.
Define the scope State your assumptions Document your estimate Assess if estimate is reasonable Communicate - with requester and PM Check actual effort against estimate Use feedback next time Summary

Test Estimation Techniques

  • 1.
  • 2.
    What is Estimation?Is it a Science? Is it art? A bit of both - Design...
  • 3.
    What is anEstimate ? An estimate is a forecast or prediction. An Estimate is an approximation of what it would Cost. A Rough Idea how long a Task would take to complete. An Approximate calculation of Quantity or Degree or Worth.
  • 4.
    How to measure- Estimate An Estimate is Effort required in terms of Time Cost An Estimate is based on Past Experience/ Past Data Available Documents/ Knowledge Assumptions Calculated Risks
  • 5.
    Why do weEstimate? Overshooting Budgets Exceeding Timescales Example of Overshooting Budgets and Timescales : A Standish Group survey of 8,000 software projects found that the average project exceeded its planned budget by 90 percent and its schedule by 120 percent . Several industry studies have reported that fewer than half of software projects finish within their allotted schedules and budgets.
  • 6.
    Importance of EstimatesEstimate too high Estimate too low Actual Schedule Estimated Schedule actual schedule = estimated schedule minimum actual schedule
  • 7.
    Importance of EstimatesCont… A study conducted by KPMG Pete Marwick found these causes of software runaways: Project Objectives Not Fully Specified (51%) Bad Planning and Estimating (48%) Technology New to the Organization (45%) Inadequate/No Project Management Methodology (42%) Insufficient Senior Staff on the Team (42%) Poor Performance by Suppliers of Hardware/Software (42%)
  • 8.
    Questions to beasked Are the Requirements finalized? If not then, How frequently the requirements change? What are the Types of Testing required? Are Test Assets already available? If Test Assets are available, What Stage they are in ? Is the Infrastructure for Testing ready? Have the Assumptions/Risks been documented. Are the Responsibilities clear. Estimation for Testing
  • 9.
    Steps involved inEstimation Work out elapsed time / critical path Is the total reasonable Reassess tasks and / or effort Identify scope State assumptions Assess the tasks involved Estimate the effort for each task Calculate Total Effort No Yes Finish and Present the Estimate
  • 10.
    Test Estimation ProcessStep 1 - Define Function Point Step 2 - Give Weightage to all Function Points Step 3 - Define an Estimate Per Function Point Step 4 - Calculate Total Effort Estimate
  • 11.
    Function Point MethodWhat is a Function Point ? Function points are a measure of the size of computer applications and the projects that build them. The size is measured from a functional, or user, point of view. It is independent of the computer language, development methodology, technology or capability of the project team used to develop the application. Function Point can be based upon Use Cases Test Scenarios/ Test Cases Code
  • 12.
    Function Point Method– Step 1 Define Function Points Function Point is measured from a functional, or user, point of view. It is independent of computer language, development methodology, technology or capability of the project team. Based on Available Documents (SRS, Design etc.) Also Based on Application knowledge and Application Domain Can also be based upon Use Cases, Code, Test Scenarios
  • 13.
    Function Point Method– Step 2 Give Weightage to all Function Points Complex API/ Low level Interactions Complex Batch Processes Medium Database Checks Simple Batch Processes Interaction between two or functionalities Simple GUI Involving only One Functionality
  • 14.
    Function Point Method– Step 3 Define an Estimate Per Function Point Based on similar Projects Experience. Organization/Project Standards.
  • 15.
    Function Point Method– Step 4 Total Effort Estimate = Total Function Points * Estimate defined Per Function Point
  • 16.
    Function Point Method- Example Medium Complex Simple Total Function Point Total 120 4.15 498 Weightage 1 3 5 Function Points 35 20 5 35 60 25 Estimate defined Per Function Point Total Estimated Effort( Person Hours)
  • 17.
    To Conclude -Few Tips Allow enough time to do a proper Project Estimate. Use documented data from similar past Projects. Use Own Estimates. Use several different people to Estimate. Re-Estimate the Project several times throughout its lifecycle. Create a standardized estimation procedure. Focus some effort on improving organization’s software Project estimation process.
  • 18.
    Define the scopeState your assumptions Document your estimate Assess if estimate is reasonable Communicate - with requester and PM Check actual effort against estimate Use feedback next time Summary

Editor's Notes

  • #3 Estimating isn’t an exact science - there is no magic formula so that you can feed figures in and get a neat answer out - although there is some element of this, using tables of figures garnered from previous experience of a similar situation Estimating isn’t an Art either - in no way can it be seen as an abstract activity So, it is more like design - some “creativity” given the requirements, the situation, the time scales etc but working within a set of rules and using models to provide consistency, whilst having to make assumptions about some of the unknowns so that the rules can be obeyed
  • #8 KMMG was formed in 1987 with the merger of Peat Marwick International (PMI) and Klynveld Main Goerdeler (KMG) and their individual member firms. Spanning three centuries, the organization's history can be traced through the names of its principal founding members - whose initials form the name "KPMG." K stands for Klynveld. Piet Klynveld founded the accounting firm Klynveld Kraayenhof & Co. in Amsterdam in 1917. P is for Peat. William Barclay Peat founded the accounting firm William Barclay Peat & Co. in London in 1870. M stands for Marwick. James Marwick founded the accounting firm Marwick, Mitchell & Co. with Roger Mitchell in New York City in 1897. G is for Goerdeler. Dr. Reinhard Goerdeler was for many years chairman of Deutsche Treuhand-Gesellschaft and later chairman of KPMG. He is credited with laying much of the groundwork for the KMG merger.
  • #9 Although for enhancements there needs to be some strategy on how the amendments are going to be unit tested As on-project estimator the PM will be looking to you to suggest a testing strategy. It may be as simple as saying “current testing procedures are sufficient for this enhancement”.. It is for you to identify if they are not. Supposing that nothing exists for use,, yet timescales are tight What would be a sensible approach? What tasks would you include? Exercise 2 - Produce program list
  • #19 Isolation Never feel that you are working on an estimate on your own if you’re not sure how to approach the estimate, talk to someone if you don’t know enough about hardware or software, talk to someone if you are running out of time agreed, tell someone before the deadline is reached if a project manager or sales person asks you to alter your estimate or is pressurising you into finishing it earlier than agreed, talk to someone Your Estimate is not sacrosanct When you have taken time and effort to complete an estimate, it is easy to think it is an important document in itself. However, remember it is only a tool . Do not take it personally when it is radically changed on walkthrough. Be confident that you have estimated the technical effort from experience and using guidelines and that you have documented your assumptions. if the management then want to amend it, that is their prerogative Exercise 4 - Aspects adding, plus final deliverable with contingency, staffing, elapsed time etc