An overview of the

Developers need to give an estimate of how much work they can do before starting a development project, so that subsequent tasks can be scheduled based on that time. Most developers estimate their workload based on past experience and allow themselves a certain amount of Buffer. The possible problem is that it relies too much on personal development experience, and the Buffer time cannot be quantified. We need a scientific method of workload assessment — three-point estimation.

Break down the three-point estimate

What is a three-point estimate

Let’s start with the three-point estimation method: The three-point estimation method requires the time estimation of a task to be divided into: the most optimistic time, the most likely time, and the most pessimistic time. Like the time it takes to get to work, the average most likely time is 30 minutes; If there is no traffic jam, it only takes 20min for the green light. If there is a traffic jam, it takes 50min to get to the company. The workload is modeled as a normal distribution. Then the following formula can be obtained:

Expected value μ = (most optimistic time + 4 x most likely time + most pessimistic time) ➗ 6 Standard deviation σ= (most pessimistic time - most optimistic time) ➗ 6Copy the code

The calculated expected value μ is the expected duration of the work, and the standard deviation σ represents the fluctuating time between the actual and expected durations due to uncertainties in the development process.

Buffer time setting

Let’s start by answering the question: What is the probability that we will complete the development task before the expected value μ — yes, only 50% regardless of development experience! Obviously if you give a workload assessment and say to the PM that I have a 50% chance of completing it, he will probably tell you that I have a 50% chance of not giving you a project bonus. Having studied the normal distribution of probability theory, we know that the probability of a point falling on each interval exists as follows:

Standard deviation range Interval probability Complete the probability
One standard deviation 68.3 84.15
Double standard deviation 95.4 97.7
3 standard deviation 99.7 99.85

Therefore, we can appropriately increase the standard deviation time as Buffer based on the calculated expected value to ensure that our work can be delivered on time.

Thinking about three-point estimation

  • Work evaluation granularity

Before the evaluation, we need to split the current task. Using three-point estimation, we do not need to split the granularity very small, because it is not possible to consider all function points at first. It is advisable to maintain the granularity in a small and medium-sized independent function module.

  • Understanding of standard deviation

The stability of the standard deviation is representing data in mathematics, standard deviation, the greater the fluctuations in the data, the greater the standard deviation in three estimation also reflects the developers for the current work proficiency, therefore, the more experienced in familiar areas of the final, the smaller the standard deviation will be unfamiliar territory will also calculate the larger Buffer time, can guarantee delivery on schedule.

Why use a three-point assessment

Three-point assessment takes into account the risk of uncertainty in the project in the assessment process, and has the basis of probability and statistics to ensure the accuracy of the assessment. At the same time, this method is simple to calculate, easy to understand and has a low threshold in the actual development work

Other Assessment Methods

In addition to the three measures, the following methods are commonly used to measure the workload:

methods describe evaluation
Analogy method Make an analogy with similar projects in the past There are often great differences between different projects and there are great risks
Experts concluded that Provide guidance from experienced personnel in the industry Too much reliance on personal experience, not universal
Parameter estimation Estimates are made based on the cost of specific materials during the mission Not applicable to software development
Bottom-up estimation Divide tasks into detailed work packages, evaluate them individually, and summarize them The most accurate, but high evaluation cost, suitable for small and simple tasks in development

conclusion

Do not underestimate the planning evaluation at the start-up stage. This process is also a process of in-depth understanding of requirements, so as to avoid the risk of resumption and remanufacturing. A good workload assessment needs to be based on a sufficient understanding of the current requirements to identify potential risks. A reasonable amount of Buffer time is often allowed in the evaluation, because if you delay, you may affect the subsequent work of others, thus affecting the overall delivery time. Well-managed teams often organize review meetings after delays, which can cost more than just under-estimating work. Of course, too much Buffer time is reserved to avoid delay, resulting in waste of human resources. One of the most commonly quoted quotes from Parkinson’s Law:

Work {{1} will {{1} fill the time available for its completion.

Hopefully, using the three-point evaluation method will help you evaluate your development effort properly and scientifically.