QA / Testing
-
January 19, 2024

Estimations in QA: some tips for balancing urgency, importance, and deadlines.

QA efforts during a sprint are critical throughout the development of any project. This article seeks to provide some recommendations and tools for effective and efficient time management during the testing cycle.

Firstly, a critical and detailed analysis of the cards in the backlog prior to the start of the next sprint is a good practice. Take some time to understand their complexity, the required test data for input, registered test cases, necessary steps, and preparation of test scenarios within a testing plan for the current sprint. With these items mentioned, along with experience gained in previous iterations and seniority, we can already have a general idea of how much effort is needed.

This series of tasks can be overwhelming, especially if we add in tight deadlines, critical and high-priority bugs that may arise along the way, etc. To avoid panic, there is an interesting tool to be applied in the day-to-day work of a QA tester: the Eisenhower matrix.

The Eisenhower matrix is a very effective tool for managing time better by organizing all activities according to their degree of importance and/or urgency. To do this, the method proposes dividing pending tasks into four distinct quadrants, placing each activity in a specific quadrant corresponding to the level of priority that the task requires.

The Eisenhower matrix. Source

It is worth noting that this matrix is not only applicable prior to a planning session, but also during sprint development in situations where there are blockages, high-priority bug resolutions, user story dependencies, or scenarios where QA needs to be flexible in their tasks. In summary, this method is applicable at all times.

What other values does the matrix bring to time management and QA task estimation? Basically, through a quadrant, priorities can be visualized in a simplified way. Secondly, it helps to plan and/or delegate tasks to improve productivity. Lastly, it reduces uncertainty and communicates a clear overview of possible risks to be considered.

How is this tool used?

By knowing how to identify the four quadrants after analyzing the current situation in the backlog and what is presenting during the sprint.

Let's start with the first quadrant, which is Important and Urgent: these are tasks that have a very high priority since they have a deadline.

In the second quadrant, we have Not Urgent but Important, although it does not have an explicit deadline in the very short term.

In the third quadrant, we have Urgent but not of high priority. This third level can often be confused with the first. However, a daily exercise of analysis of tasks will allow for a correct differentiation of the subtleties of the scenarios that arise in the day-to-day tasks of QA.

In the fourth quadrant, different situations can be easily resolved in another way or left aside. For example, it is always possible to evaluate which meetings are necessary, or if there is a more efficient way to communicate, such as a simple email or group message.

There are other methods and tools that help in the effort estimation process in QA. Not all are applicable depending on the project's characteristics. In fact, it is worth considering some that can complement each other and be implemented in a practical and understandable way for the entire team.

Therefore, in the face of a large number of estimation techniques, it is important to:

  1. Consider the project's characteristics.
  2. Evaluate the pros and cons of the estimation techniques.
  3. Provide visibility, reduce uncertainty, and reduce or anticipate risks.
  4. Combine or implement part or all of the chosen technique.
  5. Be prepared to make mistakes.
  6. Raise the flag in time when the estimate was not correct.

Estimating QA effort is crucial in a Scrum environment to ensure timely and quality deliveries. However, not all estimation tools are applicable to all projects, and some may not be accurate in certain scenarios. When estimating user stories, bug fixes, and regressions, it is important to consider complexity, risk, and the amount of testing needed to ensure a quality delivery.

Estimating QA in Uncertain Scenarios.

Scenarios with Uncertainty.

There are several scenarios that can present uncertainty when estimating QA effort in a Scrum project. One of the most common scenarios is when there is a lack of information. For example, if a new feature is being developed, and there is no clear understanding of how it will be implemented, it can be challenging to estimate the QA effort required for testing.

Another scenario that can present uncertainty is when there are external dependencies. For example, if a new feature requires a third-party API to be integrated, it can be challenging to estimate the QA effort required, as there may be unforeseen issues that arise during integration.

Finally, changes to the project scope can also present uncertainty when estimating QA effort. If the project scope changes midway through development, it can be challenging to adjust QA effort estimates, as there may be new features or requirements that were not initially accounted for.

Tools for Reducing Uncertainty

To reduce uncertainty when estimating QA effort, there are several tools that a QA engineer can use. One of the most effective tools is risk analysis. By identifying potential risks and developing mitigation strategies, the QA engineer can reduce uncertainty and ensure that the QA team is prepared for any issues that may arise.

Another useful tool is the use of testing frameworks. Testing frameworks provide a standardized approach to testing and help ensure that the QA team is testing the functionality as intended. This can help reduce uncertainty by providing a clear framework for testing and ensuring that the testing is consistent across the team.

Estimating QA effort in a Scrum project can be challenging, especially in scenarios where there is a lot of uncertainty.

Time management is a critical skill for any project, and it becomes even more essential in software development. The Scrum framework, which is widely used in software development, emphasizes the importance of effective time management.

QA needs to reconcile the need to reduce uncertainty in effort estimation with the need to meet fixed delivery deadlines. Effective time management is critical for achieving this balance.

QA teams can use various tools to reconcile the need to reduce uncertainty in effort estimation while meeting fixed delivery deadlines. With effective time management, teams can ensure that they meet project deadlines while delivering high-quality software.

Conclusion

Effective time management and effort estimation are crucial for successful QA in software development projects. The Eisenhower matrix is a valuable tool that helps prioritize tasks based on their urgency and importance, providing a clear overview of priorities and potential risks. By utilizing the matrix throughout the development cycle, QA teams can improve productivity, delegate tasks effectively, and reduce uncertainty. However, it is important to consider the project's characteristics and evaluate the suitability of different estimation techniques. Uncertain scenarios require additional tools such as risk analysis and testing frameworks to reduce uncertainty and ensure adequate QA effort estimation. With efficient time management, QA teams can strike a balance between reducing uncertainty and meeting fixed delivery deadlines, ultimately delivering high-quality software.