Forecasting and Estimating (RT)
Обновлено: 15 янв.
One of our services is training and setting up a product approach. It involves testing the hypothesis of demand before investing in implementation. Therefore, we cannot afford to write articles without being sure that they are in demand. And that's why this article is a draft to test a hypothesis stated like this: "This topic is interesting to at least 1000 people a month." However, we will be happy to finish/rewrite the article for you, answering your specific questions, if at least 10 people explicitly express a desire and ask us their questions in the comments.
I like the idea of creating a customer-pyramid that David Bland proposed. And whenever I talk about an idea for the product to our potential clients, I tend to think in such terms. People jump into building a thing/part, without really validating the problem.
The customer pyramid is a
On the other hand, there is one problem in our domain that is almost universally a pain in the neck. It is not only a problem that exists, but people would like to see a reasonable solution. Estimation is the problem. The problem is estimation.
For some reason, there is an ongoing heated discussion under the label #NoEstimates. It seems that the label is misleading, as people tend to pack a lot of different ideas into this box. In addition, awareness of available approaches is not much.
The guess is the most common option that everyone chooses given no other ideas. It is possible to ask knowledgeable people for an informed guess. For example, we think that somebody with a special interest in the subject matter can provide an quality estimate.
According to Roger Buehler, the planning fallacy described by Roger Buehler shows that we fail at estimating tasks our knowledge has. Not only that, more experience in similar tasks does not help to improve the estimates. More experience in similar tasks does not help to improve the estimates.
This is not to say that we can't change the quality of estimates made by expert. Douglas Hubbard claims that the calibration process can greatly improve the quality of such estimates. The method of calibration is considered to be an effective way to improve the quality of such estimates. It seems that this technique is not quite close to known, let alone popular in the software industry.
Story Points and Velocity
It is common for Agile teams to know about Story Point estimation combined with track Velocity and story point estimation. Using an abstract measure of Story Points in theory, they make us focus on tasks with different size. This is due to the fact that it is possible to use an abstract measure of Story Points in order to achieve relative. So we avoid considering how much real time would be needed to build every task. The author of Thinking Fast and Slow, Dan Kahneman in his profound book Thinking Fast and Slow lists a number of biases that make it difficult for our brain to come up with reasonable time-based estimates.
During the work we use Velocity, which is an number of Story Points that have been carried out in time box, to figure out progress and plan further work.
At the moment we have a large benefit from this technique. The most important value that we got from this technique was introducing us to the use of historical data as future work. After all, we use historical Velocity to create an idea about how much a team can chew through in the next time box.
Along with this approach, there are many dysfunctions that can be seen with this approach. After studying data from tens of thousands Agile team, Maccherone said that Velocity is not any better at determining the pace of progress than just counting complete features. Steve Rogalsky reported the same after tracking Velocity and throughput for more than a year. Only recently Steve Rogalsky reported the same after tracking Velocity and throughput for more than a year. The only time that.
As a slightly more abstract idea, it is possible to use other means of sizing than Story Points. S, M, L, etc. is the most popular one in T-shirt sizing: S, M, L, etc. For example, typically the size is not a number that we can just compare it to.
We are offered a challenge that, in turn gives you more information about the work items we have previously made. In order to understand how much bigger an L-sided item is than an M-sized one, we need to figure out how much bigger an L-sided item is than an M-sized one. What it is to say, this means further analysis of historical data to find out the differences.
But we have more information about the situation, yet Larry Maccherone’s argument is still valid. In assessing pace of work, Sizing does not seem to be more effective in assessing the speeds of work than a simpler measurement of throughput.
Throughput (the number of items that are completed in the time) is probably the most lightweight measurement we can use to estimate the work. It is also one of the most lightweight measures for estimateing labor. According to this case, we don't estimate individual items at all. I have to base ourselves on the sheer number of features, as well as some insights we get after analyzing past data.
A new improvement to this approach is found in the fact that I find valuable. A work item should be split into smaller parts. During discussions about size or Story Point value, there is an argument that the work piece was too big and it should be divided in two smaller items. A similar argument can be used in case of a team that has no idea about the feature. But this feature is more risky.
In fact, my favorite feature or story estimation scale is: 1 too large and no clue. The deck of such cards can be purchased if you want one.
The Lunar Logic estimation cards are used to calculates the Lunar
As a result of this approach, it is possible to limit the discussion about estimation to minimum but still provides valuable information about work items.
The process of evolved from the use of predictive or individualistic guesses and assesses of individuals to more on historical data. Maybe we can do even better. In one approach, it would be possible to measure throughput week by week. That will equip us with a range of possible throughput values and base on that we can come to the worst and the best possible scenario. This is what it was for.
This way we will be able to get an estimate of the range. The point is always better than the value of the points. We can do much better than that.
In addition, we can use statistical simulation of Monte Carlo methods to simulate many possible results. This means that we will have thousands of such data points, they'd form a distribution of possible outcomes. It is possible to use it to provide a probability that we will be done by the date of an given date for all available time, e.g. 50% chance that we will be done by the end of March, 70% possibility that it will be half-April.
In fact, we have already got into something. In fact, it's not just a single range. I have compiled a comprehensive list, showing the possibility of many possible future plans.
What is the Cycle Time and Work in Progress?
The more is going on there. We used throughput as the simplest available proxy metric in the previous case. In this case, we use throughput as the simplest available proxy measure. More important historical data that we can use are available. We have more meaningful historical data that we can use though.
Cycle time is the time that elapsed from the start of work on a feature to its finished end. It is the period in time that elapsed from the start of work on it, and then after this he was finished. The. Work in Progress (WIP) is a number of items that have been initiated and still haven't yet been completed at any moment. It consists of a number of things that has been started and hasn't been completely finished at any time. Two dates per work item are needed to figure out both the time and WIP: start date, finish date.
One of the main benefits of such an approach is that it has the possibility to start a simulated experiment even with fairly few data samples. So we don't need to wait long weeks for data sample throughput. This is also taking into account the ongoing situation. I think we will see different dynamics and predictability in the team that has lots of Work in Progress and long cycle times than in one with work in progress, but limits WIP.
The book Forecasting and Simulating Software Development Projects is recommended for those who want to get deeper into the details of how this simulation can be done. It was written by author Troy Magennis.
Forecasting and Estimation
In my post I referred to both estimation and forecasting, in the title of this article. And so far I have referred only to the first. Well, then what's the other thing? Forecasting is the name of the last approaches, which use statistical simulation instead of expert predictors.
What exactly is the place where the estimation ends and forecasting starts on the path I just walked through? In my opinion, I don't think the answer to this question is that important. So what matters is knowing about available methods and how they work.
In fact, I don't really like the #NoEstimates discussion even if some things I promote. The classification of the estimation scale or simulations, as well as the number of one / too big / no clue, is frequently labelled that way.
I frequently hear one comment when I talk about forecasting, and I only scratched a surface here. This is the reason for my comments. People are talking about that it seems appealing, but rather complex. It is not only appealing, but also complex. They are great if they can try the results that produces without investing much time into researching all the details.
Okay, I have good news. At Lunar Logic, we are running experiments around forecasting and are looking for teams and organizations that want to test some of the early results. We are looking for teams and organizations that want to test some of the early results. Very simple, we will provide a forecast for the next batch of work and then we'll validate quality together. Please drop me an email if you are interested in this.
About the author – Brodzinski Pawel This post is a community blog post from Agile Alliance. The opinions expressed are personal and belong only to the author. It is not their opinion or policy that Agile Alliance represents.