Project Management

Please login or join to subscribe to this thread

How to better understand estimations on complexity considering a comparison with time?

linkedin twitter facebook   Agile   Earned Value Management   Estimating   Scrum  
avatar
Ana Cláudia Santos Management| OutSystems Portugal
Dear PM community,

I'm looking for a shared perspective on the following:

On a Scrum framework, where estimations are done using the Fibonacci sequence to measure complexity of each task/issue, how can we develop a sense of comparison between the complexity and the time it actually takes?

It is easy to face both tasks evaluated with a 3 (low complexity task) taking 2 months to fully complete as well as others graded with a 13 that somehow are managed in one or two sprints.
Is there any way to establish a time-tracker / time comparison that helps a team to develop a better sense of commitment in the delivery and a better notion on how to estimate properly?

Also, I'm now learning more about Software Development metrics using Kanban and Scrum. Would you mind sharing your experiences?

I'm looking forward to reading from you.
Sort By:
< 1 2 3 >
avatar
Kiron Bondale Retired | Mentor| Retired Welland, Ontario, Canada
Scrum doesn't dictate a particular method of estimating work effort or complexity and relative sizing using story points (Fibonacci-based or other) is just one way of doing this. In fact, if teams get good enough at identifying work items (e.g. stories) then rather than size individual work items, you can size the backlog as a whole based on the total number of "small enough" work items.

Kiron
...
1 reply by Ana Cláudia Santos
Dec 27, 2018 8:25 AM
Ana Cláudia Santos
...
Dear Kiron,

Thanks for your comment. Precisely because I understand there's no obligation on this option I asked for more options to explore.
On that scenario, how do you measure productivity per Spring?
avatar
Ana Cláudia Santos Management| OutSystems Portugal
Dec 27, 2018 8:02 AM
Replying to Kiron Bondale
...
Scrum doesn't dictate a particular method of estimating work effort or complexity and relative sizing using story points (Fibonacci-based or other) is just one way of doing this. In fact, if teams get good enough at identifying work items (e.g. stories) then rather than size individual work items, you can size the backlog as a whole based on the total number of "small enough" work items.

Kiron
Dear Kiron,

Thanks for your comment. Precisely because I understand there's no obligation on this option I asked for more options to explore.
On that scenario, how do you measure productivity per Spring?
avatar
Sergio Luis Conte Helping to create solutions for everyone| Worldwide based Organizations Buenos Aires, Argentina
Something that brings to my attention @Keith comment is about your question on complexity. Something mostly forgotten is the definition of User Stories. A User Story (as defined for his creator) is "a placeholder to talk about". It does mean you do not have something that could help you to construct something. You only have a placeholder to talk about that. So, here comes an important factor just in case you are searching for complexity. Think about all related to "talk about" from communication channels to physical distribution and you will find into the internet complexity indicators on that field.
avatar
Sergio Luis Conte Helping to create solutions for everyone| Worldwide based Organizations Buenos Aires, Argentina
Dec 27, 2018 5:28 AM
Replying to Ana Cláudia Santos
...
Dear Sérgio,

I truly appreciate your comment and I just added the Cone of Uncertainty to my library to explore asap.
I must agree with "story points is the "worst" method from the point of view of the high amount of uncertainty it has due to subjectivity."
I'm new to this team and this is the current setup/framework. We have proper refinement meetings where I feel the estimations are not being properly done - as well as uncertainty allows us - since we do not have a measure of comparison to the story points.

In my previous company, I worked remotely with 10 developers in India. Due to the constant hiring, we used our Refinements to use story points as well to estimate. After a few weeks/months we all together managed to compare that some things were not right because we were not estimating considering the time the feature would take to be develop but its complexity.
Is it possible somehow to connect both? Complexity + time?

With this previous team we managed to define that:
3 pt was equivalent to low complexity feature with no dependencies from other disciplines and easily managed during the sprint (the ant)
5 pt was equivalent to medium complexity feature with no dependencies from other disciplines and easily managed during the sprint
8 pt was equivalent to medium complexity feature with dependencies from other disciplines and managed during the sprint
13 pt was equivalent to high complexity feature with dependencies from other disciplines and with difficulty managed during the sprint (the whale)

Does this make sense to you?
Any advices?

Thanks in advance
It is possible? Yes. It is recommendable to be successful? No. How I can understand the time it will take? Because the distribution of story points into sprints. That is the challenge. That is one of the biggest "shift of mind" when you use Agile with story points. That is the point where people with a real experience on the field take advantage. For example, because missunderstandings about estimations in general and story points estimation in particular there are movements like #NoEstimate (I have interacted a lot with them from the begining and I have demostrate them: change the name because what you are doing is estimating...)
About your points, let me say: there are a lot of ambiguity inside the criteria then in my personal opinion you still do not get low rate of uncertainty (uncertainty is risk as a component of estimations)
So, what to do?
Agile is based on knowledge. That is inside the definition of Agile when Agile was born (before software)
How to get knowledge? Some people that work with Agile say "taking it by prove and error, learning from error". That is not right but it could be a way
Using story points is one of the items (perhaps the only one) where you will assure the points given to features from knowledge and that is the reason because you need at least three sprints to get that. That is one of the points where "top management support" mean they accept the situation. That is one of the points to take into account when you decide to use agile because the company culture (and the whole architecture) has to be taken into account.
Take into account it: "a story is a placeholder to talk about". Think about all the implications when you have a user story on hand and you need estimate how much it takes to create something from it
I hope I have helped you. If not, please continue with your comments. It helps me a lot.
...
1 reply by Ana Cláudia Santos
Dec 28, 2018 6:21 AM
Ana Cláudia Santos
...
Dear Sergio,

You are, indeed, helping a lot.
I would be glad to keep communicating with you to learn more from you in a near future.

Thank you so much, happy new year!
avatar
Keith Novak Tukwila, Wa, United States
Dec 27, 2018 5:34 AM
Replying to Ana Cláudia Santos
...
Dear Keith,

As I said, I'm new to this team.
Complexity is considered the necessary effort in time and resources to deliver a certain feature during the Sprint :) I'm open to feedback in order to make this the best way possible
Ana,

I asked for a very specific reason. The term "complexity" is often misused as a technical term and confused with "complication" which are two completely different things. What complexity describes is the number of things interacting. By contrast, complication is a perceived level of difficulty. For example a "housing complex" includes a number of houses making it complex, however it might not be complicated at all. One very unique house can be very complicated however by itself it is not complex.

I say that because I find that the Fibonacci sequence often does scale well based on complexity, but not necessarily on level of difficulty or how complicated a problem is. Part of why is that the level of difficulty may be very subjective if not defined in precise terms.

While that might sound like me just trying to sound smart it is a very important distinction in this situation. You are trying to find a relation where:
x = f(y) (x is a function of y) where x = the time it takes to complete and y = the "complexity" of the problem

If you are using a subjective degree of difficulty, the Fibonacci function may not actually be meaningful from a statistical correlation so your estimating ability may be hampered by using the wrong function. You might be better served by better quantifying the level of difficulty or finding a different function to estimate time based on difficulty then the Fibonacci sequence.

This is where a coefficient of correlation is useful. If X does not correlate to Y, you either have the wrong function, or you may have variability in how you define Y.
...
1 reply by Ana Cláudia Santos
Dec 28, 2018 6:23 AM
Ana Cláudia Santos
...
Dear Keith,

Thanks for sharing that clear and helpful insight.
"For example a "housing complex" includes a number of houses making it complex, however it might not be complicated at all. One very unique house can be very complicated however by itself it is not complex." I could not agree more.

To better give a notion on this particular scenario I wouldn't mind reaching you via private message so that we can exchange our experiences and I can learn more from you!
avatar
Ana Cláudia Santos Management| OutSystems Portugal
Dec 27, 2018 10:01 AM
Replying to Sergio Luis Conte
...
It is possible? Yes. It is recommendable to be successful? No. How I can understand the time it will take? Because the distribution of story points into sprints. That is the challenge. That is one of the biggest "shift of mind" when you use Agile with story points. That is the point where people with a real experience on the field take advantage. For example, because missunderstandings about estimations in general and story points estimation in particular there are movements like #NoEstimate (I have interacted a lot with them from the begining and I have demostrate them: change the name because what you are doing is estimating...)
About your points, let me say: there are a lot of ambiguity inside the criteria then in my personal opinion you still do not get low rate of uncertainty (uncertainty is risk as a component of estimations)
So, what to do?
Agile is based on knowledge. That is inside the definition of Agile when Agile was born (before software)
How to get knowledge? Some people that work with Agile say "taking it by prove and error, learning from error". That is not right but it could be a way
Using story points is one of the items (perhaps the only one) where you will assure the points given to features from knowledge and that is the reason because you need at least three sprints to get that. That is one of the points where "top management support" mean they accept the situation. That is one of the points to take into account when you decide to use agile because the company culture (and the whole architecture) has to be taken into account.
Take into account it: "a story is a placeholder to talk about". Think about all the implications when you have a user story on hand and you need estimate how much it takes to create something from it
I hope I have helped you. If not, please continue with your comments. It helps me a lot.
Dear Sergio,

You are, indeed, helping a lot.
I would be glad to keep communicating with you to learn more from you in a near future.

Thank you so much, happy new year!
avatar
Ana Cláudia Santos Management| OutSystems Portugal
Dec 27, 2018 2:49 PM
Replying to Keith Novak
...
Ana,

I asked for a very specific reason. The term "complexity" is often misused as a technical term and confused with "complication" which are two completely different things. What complexity describes is the number of things interacting. By contrast, complication is a perceived level of difficulty. For example a "housing complex" includes a number of houses making it complex, however it might not be complicated at all. One very unique house can be very complicated however by itself it is not complex.

I say that because I find that the Fibonacci sequence often does scale well based on complexity, but not necessarily on level of difficulty or how complicated a problem is. Part of why is that the level of difficulty may be very subjective if not defined in precise terms.

While that might sound like me just trying to sound smart it is a very important distinction in this situation. You are trying to find a relation where:
x = f(y) (x is a function of y) where x = the time it takes to complete and y = the "complexity" of the problem

If you are using a subjective degree of difficulty, the Fibonacci function may not actually be meaningful from a statistical correlation so your estimating ability may be hampered by using the wrong function. You might be better served by better quantifying the level of difficulty or finding a different function to estimate time based on difficulty then the Fibonacci sequence.

This is where a coefficient of correlation is useful. If X does not correlate to Y, you either have the wrong function, or you may have variability in how you define Y.
Dear Keith,

Thanks for sharing that clear and helpful insight.
"For example a "housing complex" includes a number of houses making it complex, however it might not be complicated at all. One very unique house can be very complicated however by itself it is not complex." I could not agree more.

To better give a notion on this particular scenario I wouldn't mind reaching you via private message so that we can exchange our experiences and I can learn more from you!
avatar
Keith Novak Tukwila, Wa, United States
Ana,
You are certainly welcome to contact me directly, and I can give you what insight I can on the specifics of your particular estimating problem.
avatar
Eric Isom Owner| learn.pmguaranteed.com Ut, United States
Hello Ana,

I would abandon the attempt to measure complexity or complication directly. Instead, I would focus on time, and have your team estimate the time it will take to complete an item (work package, feature, or task) using 3-point estimation: time estimates for most likely, optimistic, and pessimistic. You can then use one of the averaging formulas to calculate the expected time estimate.

More importantly, however, take a look at the range of these three estimates. A small range will tell you that it's considered a low-risk item. A large range will tell you that it's a high-risk item that probably needs more discussion or investigation, and may need to be divided into smaller items. In this process, also encourage your team to let you know when a pessimistic estimate is actually "it can't be done". Although team members will often provide time estimates, they may not tell you that an item has certain unknowns that could prevent it from being done at all. It's important to identify these and analyze further.
avatar
Milind Patil Bangalore, Karnataka, India
Anna,

Keep it simple. Knowledge will come from experiece.

You should try what John is saying. It matches to your need but there are effort involved.
Don't do estimation comparison in teams. For eg. Team A completes 3 pts in 8 hrs that Team B also can. Keep records of time spent on user stories separate for analysis later. Over time you will get data by which you will be able figure of out what x story points = y hrs based on teams skills and experience.

--------------------------------------------------------------------------------------------------------------
By John Farlik
Perhaps the estimation can be improved over time. If you are working on 2 week sprints ask the team to keep as accurate actual time spent on the 1, 2, 3 Fibonnaci stories. Over time, you'll get a really good idea of planned vs. actual on the "ants" that Jesus Martheyn Berbesi describes above. Then as you feel confident on these ants, move up to the next order of complexity (5, 8,). After X number of sprints the planned vs. actual data will help you refine the estimates there and so on.

I think the key here regarding this type of estimation is in the expectation management with the project team, customer and other stakeholders. Try to explain that you're in a mode of discovery and that these estimates will be refined over time. I would be very intentional about sharing your results with EVERYONE. That way you'll be operating with integrity, and people will stay engaged with the effort. I hope that perspective helps.
-----------------------------------------------------------------------------------------------------------------------------

Kiron is also right. There are wide variety of estimation techniques. Team is free to use any but story points yields better result.
< 1 2 3 >

Please login or join to reply

Content ID:
ADVERTISEMENTS

Cyberspace: A consensual hallucination experienced daily by billions of legitimate operators, in every nation

- William Gibson

ADVERTISEMENT

Sponsors