Considering Test Estimation and Negotiation
By: Paul Darby
What is estimation?
Test estimation is a forecast of the projected cost and duration of testing which is agreed upon between the testers and enterprise which requires testing. It is a means for discerning information which will need to be fed back in to the business. It is often said that testing is a Risk Mitigation exercise, but as the testing process itself cannot mitigate risk, it would be a truer statement to describe the testing function as a tool by which the business gleans information enough to mitigate risk. It’s likely that most of those reading this white paper will fall into the bracket of estimating in accordance with what should be done as a set of testing tasks. This is not incorrect; however, to only consider testing estimation against what one believes to be the correct list of testing tasks and depth of testing is an incorrect way of approaching test estimation.
Bearing in mind the previously-stated definition of risk mitigation (“the testing function is a tool by which the business gleans information enough to mitigate risk”), it is clear that estimation is guided by the business more than our own thoughts, and the following statement describing estimation becomes true: “Deciding the means in which the correct information can be provided to the business in order to mitigate risk.”
How long will testing take?
When a tester is asked this key question by a manager, all of the following things are going through their mind:
What does testing need to look like for this project?
How much time is really needed for testing?
How long would complete testing take?
What is the least amount of time we could allocate to testing?
Do we need to test?
What are the resource requirements?
What is the cost of the testing?
What is the value of the testing?
All of these questions are asked because management needs to form a project timeline and understand how much it will cost. The tester’s response to these questions should include the following:
A person-days estimate including a range of accuracy (+-%)
Supporting justification for the estimate
How to start
All testers will want to do as much testing as possible. In the eyes of a tester, a product or solution is guilty until proven innocent; given the mantra that testing can’t test everything, testers tend to want to test whatever they can in as much depth as possible for as long as possible. This is probably directly at odds with what the business wants which is "the correct answers and information as quickly and cheaply as possible."
Taking this point of view into estimating, the person starting the estimation process needs to first question the business on what the testing service is required to be. To understand this, a tester may want the following information:
Does the business want the testing team to use its experience to test outside the bounds of the requirements?
Does the business want the test team to provide specialist information (security, performance)?
Does the business want a test function that delivers messages to all management levels?
Does the business want a specific methodology to be used?
Does the business want testing to work throughout the entire lifecycle of the project?
In essence, the tester is discovering what it is the business wants so that they have an idea of what will be accepted and what will require further negotiation. Understanding the answers to questions like these will set the scene for what the expectations of the business are and will also provide a scheme for the estimation and negotiation process.
... to read more articles, visit http://sqa.fyicenter.com/art/