Test Labor Planning - SQA Days 15 Report

    Report by Alexandra Kovaleva at the SQA Days-15 conference.



    Presentation.


    I do risk assessments in the company. Over the past period, working as a test lead, I have been engaged in global planning. However, not all companies devote much time to planning. We’ll just talk about what to do about it.

    The master class will consist of 2 parts:
    1. Theoretical - the concept of assessment and planning. Roles and tasks.
    2. Practical - an example of resource management ( you can see the video )

    So, what exactly is planning? This is such a global concept that it can be applied to any area of ​​life.

    Планирование как вид деятельности – это процесс выработки действий по достижению цели
    «Бизнес-планирование» Кушнир И.В.
    
    .

    As an example, when you go to work in the morning and think about going to the movies in the evening, you are planning! Also at work! Despite the fact that you are not asked about planning, you are planning, because you should know about when you can finish your work and pass the results to the team. In other cases, you precisely state the release date, having planned its dates, which are often postponed due to the fact that you do not fall within the dates indicated in the plan.

    Planning is a very broad concept. And before talking about planning at the testing stage, you need to know what this word means for other members of the company and especially for management.

    But the team takes part in planning, but the team does not need it, they do not want to do it. This problem arises from management. The manager constantly communicates with the customer who wants to know the time. BUT this is not the time spent on development, but the date when he will receive the finished product, and how much time is needed.

    In this case, money and time are very interconnected, especially if the release dates of the product are violated. Maybe he does not require reporting from you, but he is associated with other specialists: marketers (advertising company), financiers (budget allocation). The last link in the product release is testing, so they try to save on it.

    We’ll talk about planning in predictive methodologies because they have time to plan before the project starts. In flexible methodologies, everything happens “here and now”: not only regular planning, but also initial planning, as a rule, is engaged in management. This is a separate topic.



    If we are talking about predictive methodologies, then there may be whole stages that you can observe on the slide. Here, for example, the first stage - Incention - it can take up to six months. And this is the period when they do not program and do not really deal with requirements. Who can agree to when they pay us, and we really do nothing? This may be the military, medical industry. These can be global projects on which people's lives depend, and the development period is approximately 2 to 5-7 years. Usually, planning takes about 2 weeks, but often it’s just “tomorrow”.

    What is test planning ? For a test lead, this is not only time, but also what, how and where to test.

    Test Planning :

    1. Definition of test requirements
    2. Risk assessment
    3. Development of a testing strategy
    4. Definition of resources
    5. Development of a Test Plan
    6. Creating a work schedule

    Each question is worth considering. But we’ll talk about the small item “Creating a work schedule” . Of course, you can simply say about testing, but it is better to show and somehow formalize your argument.

    Now let's talk about this. Of course, planning is not possible without evaluating the results - this is our main problem.

    "We do not know how to evaluate!" - the team can tell you such that a junior, that an experienced specialist. The reason is seen in the absence of certain methods. This is a very big mistake. There are methods:

    Requiring a detailed mathematical study:

    1. Delphi method;
    2. Three-point method (sequential calculation);
    3. The method of analysis of functional points / test points;
    4. Method for evaluating points of use cases;
    5. COCOMO (COnstructive COst MOdel) - cost model;
    6. Genetic assessment model;

    These are mathematical methods, but I have not seen a single company that would use them. Their main disadvantages :

    1. They take a lot of time
    2. They are laborious
    3. They do not give a result.

    Why?

    Because planning must be flexible. Because a complexly calculated plan can only be violated due to the fact that someone did not come or fell ill. Recalculate? Unlikely!

    Therefore, we will talk about the methods that you already use, but do not always realize!

    The easiest to use:
    1. PVN (with a finger in the sky), or trial and error;
    2. Special method;
    3. Analogies and recommendations of experts;
    4. The structure of the decomposition of work;
    5. Percentage of development;
    6. The method of percentage distribution;

    Our favorite is trial and error . We all use it often. You need to understand how it differs from the expert assessment method .

    If you have already worked with a project, it is familiar to you and tested something, then you are already doing as an expert. If you did not do this for testing, did not work with the project and never came across this area or the customer, then you evaluate completely with a finger in the sky. That is the big difference.



    My favorite method is the structure of the decomposition of works . This is the least time consuming but formalized method for evaluation. What is meant? You just need to split up your work to the minimum, which is very easy to evaluate and even does not need to learn.

    For example, test authorization. The letter "o" does not pass - you can immediately say 5 minutes for yourself. This is the minimum unit. This can be determined even by a person who works only a couple of months. Plus in this method - it’s harder for you to forget something.
    You take your requirements and the big task, divide them into 3 parts, for example: field testing, button testing, localization testing, performance testing and testing by types, methods, areas. Scroll further: by entering numbers, letters, characters, etc.



    Pay attention to the diagram, here is the statistics for sites from six months to a year. Programming takes from 20% to 40% of development, this is not the same as 20-40% of the project, it is an average of 15% of the project. Testing never takes 15% of the product. If you don’t have so much time for testing, then lay at least some. It is advisable to find out statistically what percentage of the project takes testing and this is applicable if you have stable versions of releases, the constant volume of products is the same.

    Solution

    1. We teach beginners:
    a. Timing
    b. Analysis
    2. We create a universal Estimation Check List for a portfolio of projects;
    3. DO NOT blame for errors in estimates;

    To do this, you do not need to go to trainings, how do you evaluate, write down your grades and see how much time it took really. Various trailers / applications help to record time. Or remember in about days. When you yourself understand, you can teach your team. It is very important when you try to persuade a team to evaluate, it is very important not to scold it for these ratings. Most often, people do not want to evaluate, because they are afraid that you can find fault with them. Until everything is fixed, they do not owe you anything.

    Explain to your employees that any incorrect assessment is better than not having it. Otherwise, you, as a test lead, do not know anything, you cannot correlate resources and so on. Praise if they even made a mistake. Say: “You made a mistake 2 times. and I made a mistake at 3! ” But do not miss the mistakes, sit down and compare how much was planned, how much time it took in reality, where there were big fail, and what took the most time. The most important thing is this analysis, when the person himself realizes that he has not taken into account. Here, the decomposition of work is needed just to not forget anything.

    Here it can help us - "forget-me-not for the tester . "

    1. Familiarization / research;
    2. Revision of specifications;
    3. Writing test documentation (checklist, test cases);
    4. Data preparation;
    5. Performing tests + recommendations from programmers;
    6. Buffer / Risks;

    The first thing we did was hang it for everyone in the workplace. It is suitable for evaluating bugs and evaluating tasks. It is top-level and suitable for global tasks.

    And this is already for test leads and experts who evaluate very large tasks, especially when you need to evaluate a project of 20 large tasks by tomorrow.



    You will not go to all testers, you will go to the first experienced one and ask: “Let's estimate how much this will take.” Such Istimation checklist (checklist for evaluation), so as not to forget anything. For each project, he has his own. Throw a list of all the types and types of testing that you use, so consider what you spend time on - analyzing requirements, communicating with customers, programmers, documenting, creating test cases, test plans. And then put down on the check sheet what you need and do not need.

    The next problem is that we do not want to evaluate . What to do with these people, but you really need?

    Make all the assessments yourself and use them for planning. Improve your skills + it's interesting to know how well you can predict. Look at the task and evaluate, the better you evaluate, the more important you are for your test lead. Surprise your team and show that you can predict what the team does not know!

    Let's take it for ourselves that planning is the optimal allocation of resources other than evaluation. Without evaluation - planning does not make sense.

    Planning - the optimal allocation of resources to achieve the goals, a set of processes associated with the setting of tasks and actions in the future. (c) Wikipedia .

    It is important who performs the assessments. You and your test lead, manager and product manager are very much affected by uncertainty, these are all factors that influence the project completion time.



    Tell me, how am I, as a test lead, responsible for finances? Everything is very simple. If you include 4 testers in the project, then the salary must be paid to four, if to three, then, accordingly, less. This is a banal level, but if your company enters into fines for an overdue project, then the financial indicators there are very large. Therefore, each of these indicators affects the project completion time.

    Therefore, each of these indicators affects the project completion time. And in such circumstances, I would like to have something that would help answer such a difficult question.

    Here the network will help uswork schedule and gantt chart .



    Here on the slide is a work schedule that consists of a period and tasks. This is a diagram for visualizing your work so that you do not need to peer at the tablet. It’s more convenient to look at a beautiful diagram, which is easier to work with.

    All this together will help us create a critical path method.



    There is a theory of graphs - this is a method of passing the path with the heaviest weights. In this case, "scales" are estimates. The path consists of work.

    If we maximize this on how project management is, it will be a set of tasks from the beginning of the project to the end of the project, which does not have a margin in time. Red is the critical path. If you violate the deadlines for completing these works for at least an hour, then the release will be delayed for an hour, if for 2 days, then the release will be delayed for 2 days. Why is this needed? It is important for you to understand what tasks lie on this path, because the tester comes to you in the middle of the path and asks for a day off, but it turns out that he is doing work on a critical path and the release has moved forward by 1 day. The critical path method gives us the opportunity to anticipate the onset of such critical work, to realize what is happening in the project.



    Let's describe the main steps that we take to draw up a plan.

    1. Decide what we will test;
    2. Make estimates;
    3. Fill in the network work schedule, build a Gantt chart;
    4. Put down logical connections between work;
    5. Assign resources;
    6. Identify the critical path;
    7. Affix resource links;
    8. Optimize resources (number of performers);

    This is very important to understand. Often, just such a schedule allows you to understand the relationship of resources and the impossibility of completing a 400 hour plan by a hundred testers in 4 hours. Time is spent on preparing data, studying a project, analyzing requirements, communicating with programmers.

    Chart options in various programs.









    Have we all taken into account? If not, then what remains and where to take this into account?

    Do not forget:

    Holidays, holidays;
    Bugs
    • Time for an institution;
    • Regression time;
    • Statistical approximation;

    Buffer
    • For a task or project?
    • %?

    Risks
    Performers
    • Separation;
    • Experience;

    If the version is not the first;

    The manager takes this into account in his buffer. It may also include the fact that there is no test environment; the programmer used another technology, time for fixing bugs.

    Often there is a problem when a project for testing is already given without a buffer, so calculate the buffer for programmers and testers separately, then it will be clear who used it.

    Those who are already planning, please note that you cannot use the Gantt Chart for a group of projects if you have shared resources.



    If you have a common architect, and you need it for all projects, then this may not work.

    Its advantages when your resources do not intersect at once in all projects. There are many of them, so you can manage your resources, understand where they are. But it’s important to you whether this makes sense for your company.

    Benefits

    • Allows you to calculate the cost and terms of the project, based on numerical estimates;
    • Provides an idea of ​​resource utilization;
    • Allows more efficient distribution of resources between projects;
    • Tool for optimizing project terms;
    • It is a visual document for management and the customer;
    • If the customer is interested in using visual charts, then you can say that it is easier for you to comply with obligations to him, you will have a clear argument.


    If the customer is interested :

    • We comply with obligations;
    • We do not incur losses;
    • Expanding opportunities;
    • We do not save on quality;
    • It will be a full time for quality testing, and you will give away such a product for which you will not be ashamed.


    If the customer is NOT interested:

    • We save the nerves of Lida;
    • We develop our team;
    • We introduce chips;
    • We develop our initiatives;
    • Enjoy the quality;
    • You can improve quality, spend time improving your team, invite someone from the test club, an internal training project, and finally do the documentation.


    It must be very clearly controlled. How long does the modification of this plan take? This is a flexible plan, so changes should be made once a week. If this is automated, then your time will be spent only on optimization. In companies where this process is not automated, they find out one question: “How much time is left for the task?”. They are not interested in what prevented it; it is important how much time is left and how to change the plan. Therefore, if you have 20 testers, you will have to change 20 lines.

    Well, and conclusions :

    1. Planning - a set of processes for:
    • a. Creating a testing strategy;
    • b. Estimates of labor costs;
    • c. Forecasting timelines;
    • d. Assignment and optimization of resources;
    • e. Control tasks;

    2. Evaluation of labor costs and estimation of terms - not the same thing ;

    3. Most steps can be automated .

    Planning is great , since everything can be automated, remember that scheduling timelines and evaluating labor costs are not the same thing

    Also popular now: