Test Estimation Techniques


Published on

Published in: Business
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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
  • 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.
  • 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
  • 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
  • Test Estimation Techniques

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