How to estimate project tasks so as not to waste the budget and not kill the team. Advice from a QA lead

tekmatesIn our company we create digital products for business. In the previous article I mentioned what techniques we use to evaluate project tasks: testing, development, technical debt, architectural research, and others.

Having worked as a project manager for over three years and as a lead QA engineer for over a year, I have estimated tasks by completion time many times. And it was not always easy (and still is)…

In this article, I will use specific examples to consider why tasks need to be estimated, what difficulties can be encountered, and I will share estimation techniques. It will be useful for everyone involved in project work, but primarily for managers and leads of development, analytics, and testing teams.

Why estimate project tasks

Throwing tasks into a sprint without estimating

Throwing tasks into a sprint without estimating

The benefits of task evaluation may seem obvious, but nevertheless, tasks are sometimes not evaluated anyway (or they are evaluated incorrectly). Therefore, let's briefly discuss the advantages of task evaluation – you can use this as an argument for implementing an evaluation system in your company.

What does it allow you to do?

Why is this necessary?

Plan human, material and financial

resources

To complete tasks in a timely and high-quality manner. Lack of resources can lead to delays, and their excess – to unnecessary costs

Make a work schedule

To avoid delays, determine work deadlines, coordinate the project team, monitor progress and respond to deviations in a timely manner

Determine and allocate the budget for project stages

To more accurately indicate financial needs, identify and control costs and avoid overspending

Manage risks

To anticipate risks, minimize them and successfully complete the project

Monitor performance and improve efficiency

To identify and correct deviations from the plan, optimize processes and increase team productivity.

Decisions

The quality and speed of decisions increases if we use objective data through assessments. And by making the right decisions, we can quickly respond to changes and challenges.

Interact with stakeholders

To ensure a common understanding of the project goals and objectives among all stakeholders, avoid misunderstandings and conflicts, and increase the level of trust

Why is it difficult to estimate tasks?

pov: overly optimistic about the task, despite external factors

pov: overly optimistic about the task, despite external factors

When approaching task estimation, we encounter difficulties that can affect the accuracy and correctness of the estimate. In turn, an incorrect estimate affects the entire project: overtimes appear, budget overruns, deadlines are missed, and so on.

Knowing these complexities, you can take them into account when planning to minimize risks.

Main difficulties:

  • Uncertainty and complexity of tasks: when there are many internal components and connections or where there is a lack of analytics.

  • Incorrect definition of the scope of work or its expansion in process.

  • Subjectivity. The time it takes one performer to complete a task can vary greatly from another.

  • Lack or absence of historical data. Without a basis for comparison, estimates may be less accurate and riskier. For the future, care should be taken to store historical data – for example, similar tasks, successfully completed projects, etc.

  • Excessive optimism or pessimism. The first can lead to underestimation of deadlines and resources, the second can cause excessive reserves and inflated budgets.

  • Rapid changes in technology may invalidate the initial estimates. For example, changes to code, libraries, frameworks, hardware, services.

  • Dependence on external factors: project team members, economic factors, political and technological situation on the market.

  • Unavailability of necessary resources: the number of performers and additional technological capacities or insufficient level of skills of the performers.

  • Gaps in communication between project participants and stakeholders.

  • Pressure to meet deadlines may lead to inaccurate assessment of tasks and cause deliberate underestimation of deadlines and resources, which leads to budget overruns and reduced quality of work.

So what to do?

Here are a couple of tips:

  • Break down complex tasks into smaller, more manageable ones to make estimating easier.

  • Use similar tasks from past projects as a basis for estimation.

  • Involve experts to assess complex tasks, but be careful with subjectivity.

  • Clarify and record the scope of work at the initial stage of implementation.

  • Hold group meetings to evaluate tasks to take into account different opinions.

  • Start collecting data for your current and future projects, keeping a history that can be used for analysis.

  • Include time and budget reserves depending on the complexity of the task to cover unforeseen circumstances.

  • Keep up with changes in technology to be prepared for their implementation.

  • Hold regular meetings to discuss progress and problems.

I hope you will still...

I hope you will still…

Task Estimation Techniques

There are many techniques, you can choose the one you like or use several at once. These methods can also be used to prioritize tasks.

Three-point estimate. The “Three-point” technique

We calculate using the formula:

E = (O + R + P) / 3

or

E = (O + 4R + P) / 6

Where:

Optimistic assessment (O)

Relative to reality rating (R)

Pessimistic estimate (P)

The minimum possible time or resources required to complete a task, if everything goes perfectly

The most likely time or resources needed to complete a task under normal conditions

The maximum possible time or resources needed to complete a task, if things don't go according to plan

This technique can be used when tasks have a high level of uncertainty. Or if they are complex and we can take into account a wide range of possible outcomes. The method is also suitable when significant changes or external factors are expected. Three-point assessment will help to take into account possible fluctuations and prepare for them.

Example. Let's say you're estimating a task to develop a new module in an application.

  1. Optimistic assessment (O): 16 hours.

  2. Most probable estimate (R): 40 hours.

  3. Pessimistic estimate (P): 80 hours.

Calculation of the expected assessment (E) using the formula:

E = (16 + 4 * 40 + 80) / 6 ≈ 42.6 hours

Expected rating: 42.6 hours. This is the average expected time to complete the task.

Analogous Estimation.

If you have historical data on tasks with similar requirements and deadlines, volumes of work and conditions, you can use this technique. Since the method allows you to apply already tested estimates based on real experience, the new estimate will be more accurate.

Expert Judgment.

Can be used when a project involves new, unique or very complex tasks that the team cannot accurately estimate due to lack of experience. An expert who has solved similar tasks or has problem-solving competencies can help formulate an estimate.

But be careful: the expert may be subjective. Therefore, double-check the assessment result using another technique or the opinion of another expert.

Bottom-up estimate.

We calculate using the formula:

Eg = E1 + E2 + E3 + … + En

Break down a complex task into parts and estimate each part separately. The technique is well suited for estimating the time to complete a User Story.

Let's say we need to separately estimate the time for research and requirements preparation, architectural solution preparation, development, testing, debugging, and reserve. Each individual item can be further decomposed. For example, development can include several modules, and testing includes studying requirements, preparing test data, testing itself, and so on.

Let's look at the calculations using the following User Story as an example:

As a user, I want to be able to register on the website to access authorized content

Let's break it down into tasks:

  1. Functional requirements review.

  2. Review of design mockups.

  3. Writing test cases.

  4. Preparing the test environment.

  5. Preparing test data.

  6. Executing tests.

  7. Analysis of results and reporting.

Let's estimate the time for each task:

Task

Subtask and time

Final time

Functional Requirements Review

— Reading and analyzing requirements: 2 hours

— Clarification of requirements: 1 hour

3 hours

Design mockup review

— Analysis of layouts: 2 hours

— Clarification of details: 1 hour

3 hours

Writing test cases

— Creation of test cases: 4 hours

— Review of test cases: 1 hour

— Edits after review: 0.5 hours

5.5 hours

Preparing the test environment

— Database installation and configuration: 1 hour

1 hour

Preparing test data

— Generating data for positive scenarios: 2 hours

— Creating data for negative scenarios: 3 hours

5 o'clock

Running tests

— Conducting manual testing: 4 hours

4 hours

Analysis of results and reporting:

— Analysis of results: 1 hour

— Creating defect reports: 2 hours

3 hours

Let's add up the estimates for all the tasks:

Eg = 3 + 3 + 5.5 + 1 + 5 + 4 + 3 = 24.5

Thus, it will take approximately 24.5 hours to complete all the tasks for testing the new user story.

Planning poker.

It can be used when it is necessary to estimate the labor intensity and time costs of completing tasks in conditions of uncertainty and lack of precise data. The technique can be used online and offline. It is especially useful if it is important to take into account the opinions of all team members and come to a collective agreement.

Example. Let's imagine that a project team is working on creating new functionality for a mobile app. It is necessary to estimate the complexity of tasks for the next sprint. Here's how it will happen.

Step 1. Preparation

The functionality is divided into individual tasks or user stories. Each project team member receives a set of cards with numerical values ​​(e.g. 1, 2, 3, 5, 8, 13, 21, etc.) that represent the effort of the tasks (e.g. in hours).

Step 2. Description of the task

The product owner or stakeholder describes the first task or story, providing all the necessary details and answering the team's questions.

Step 3. Evaluation

After the discussion, each team member simultaneously selects a card with a rating that represents, in their opinion, the difficulty of the task and places it on the table.

Step 4. Comparison and discussion

All ratings are revealed at the same time. If ratings differ greatly, team members with minimum and maximum values ​​explain their opinions.

Step 5. Recalculation

After the discussion, the team estimates the task again. This process is repeated until agreement is reached or the estimates are closer to each other.

Step 6. Recording the assessment

The final score is recorded and the team moves on to the next task.

Planning poker can also be used to prioritize tasks: instead of time estimates, set priorities expressed in numerical values. Then tasks with higher numbers will need to be completed before others.

What's the bottom line?

Task estimation helps you plan and allocate resources, create a realistic work schedule, accurately budget project costs, manage risks, monitor performance, make informed decisions, and improve stakeholder communication.

Despite the importance of assessment, there are a number of difficulties. To overcome them, you can use special techniques that help take into account various aspects when assessing tasks and make it more accurate and realistic.

In the article I have given only some of the techniques that I use in my work. Of course, there are many others, so write in the comments – how do you evaluate project tasks?

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *