How to accurately estimate software development effort using story point?
I am a great fan of Scrum, XP, and Lean. People often say agile matters more than Scrum, but for me, Scrum, XP, and Lean matter more than anything. But why? I believe practicing these better will help me become agile. Wait, why am I talking about Scrum, XP, or Lean when the topic is estimation? Oh, do you still think an accurate estimate is a topic to discuss?
Look at the heading of this article again and try to understand each word. Accurate estimate - This is an oxymoron, so it is impossible. Either you will have accurate data (after development) or an estimate (approximation) before you develop software. Software development is a learning process based on trial and error. Since learning can vary from person to person, the estimate for learning can't be the same for everyone. Since the process is based on trial and error, instead of investing too much in judging better estimation, go for a shorter feedback loop so you can check the trial's outcome frequently and adjust it. This is where empirical process control helps.
Ah! What about Story Point? Is it for estimating effort? No, this is to size your problem, which helps you forecast the size of the batch that you can pick for the next iteration. This is also relative estimate based on Wideband Delphi technique. You can learn about it here - https://en.wikipedia.org/wiki/Wideband_delphi
Can we translate these points into hours/days? Don't do it, but you will not listen to me. If you can do it, you know the solution, and no learning exists. Since there is no learning, there is no need for the empirical process.
Basically, an accurate estimate of software development efforts using story points is also a myth. I keep hearing the following during my workshop.
领英推荐
My question - If you can estimate your effort in hours or days, then why do extra work to translate all these in story points further?
Regular answer - In Jira, there is a field for story points against the story, not hours and days, so we convert and put it there. I am not sure if Jira has a field for hours/days for a story, but why use Jira if it is not helping you do a better job? After all, tools are for helping us and not for creating impediments.
In summary, estimates are estimates and ofcouse with experiences we can judge better and improve our estimates but it is not going to be accurate estimate for complex software product development so stop chasing such dreams. Focus on faster learning cycle and avoid wasting your time.
Agile Coach SAFe SPC 6.0, SAFe RTE 6.0, CSP-CSM, CSP-CSPO
5 年Good Thought Naveen.?
Test Management IoT Software @ SEW Eurodrive | ISTQB, PSM 2, PSPO 1
5 年I have one question.. the sprint is for maximum 4 weeks.. let's say I have one on 2 weeks.. if we say sprint in number of days.. so why not story points.. how one will estimate the work need to be done in 2 weeks if we don't relate to story points.... how can we relate story points with number of days in sprint..
Test Management IoT Software @ SEW Eurodrive | ISTQB, PSM 2, PSPO 1
5 年Like your thought.?
Agile Coach
6 年This is very essential understanding for every team. "Is it for estimating effort? No this is to size your problem that help in judging size of batch that you can pick for next iteration to try."
Senior Manager | Functional Architect (Transversal Solution Architect) at Renault Nissan Tech
7 年Good.. Thought Provoking !