In order to be have a successful testing project and proper execution of testing tasks, the test estimation process plays an important role in software development life cycle. While I can go in a lot of detail, explaining the different test estimation techniques that can be used, like the Delphi Technique, work breakdown structure, or three point estimation approach, it is easier to just have a diagram with simple steps that everyone can use to improve their test estimation process.
*** You can download the diagram as PDF file here.
Develop the work-structure and estimated schedule
Every testing estimation process should start by decomposing the whole test project into smaller phases. Each of these phases will in turn be decomposed afterwards into activities. Each activity will be decomposed into smaller tasks and subtasks (at the lowest level of composition).
As a test manager, you should define the accepted lowest level of composition for each task. The criteria of decomposition for a project can have the following bullet points:
- each task should have a measurable status
- each task has a clearly defined enter and exit criteria
- each task can be delivered independently
- each task has estimations of resource requirements, effort, duration (and maybe cost)
- each task is defined so that it has a short duration
- each task is independent of the other project tasks
- each task relates to one or more testing actions
- each task has a defined ownership (a responsible person)
After decomposing the project into the lowest level of decomposition, it is important to document everything including also the dependencies and resource assignments. These documents will be then used to check again the durations and efforts at every level of the project (subtask, task, …). In this phase the decomposition is reviewed and possible discrepancies are resolved, or obstacles are documented. It is important to involve the whole testing team in this phase, so that every expert available can come up with new input/ideas for the project.
Use the work-structure and schedule to develop a budget
This is the phase in which you, as a test manager, are creating a complete list of resources needed for the project. It is also important to determine if resources will be shared across different test phases. If yes, then estimating the percentage allocation of each resource to each phase is critical.
A review of this list will give a good estimation about the budget needed. It is also possible to amortize the budget by using long term investments, for example selecting a tool that can be used for multiple projects/future projects.
Obtain management support for the estimated schedule and budget
As a final step in this phase, it is important to obtain management support for the estimated schedule and budget. In order to obtain this, as a test manager, you will need a good presentation of the benefits of the test projects. You can do this by showing the time and money commitment required to receive the benefits.
Of course, as in any project, there will be objections, so it is of great importance to understand these objections and to try to resolve them.