Skip to main content

Deep technical complexity and spikes

Last post 05:54 pm January 16, 2017 by Ian Mitchell
9 replies
04:55 pm December 19, 2016

Hi!

In our group we struggle with estimation. Improving a search engine, many stories has deep technical complexity. There is always hard performance requirements and there is no telling how a specific algorithm change or new optimization will affect other parts in the domain. So there is always very high risk of estimation being wrong.

We use spikes and prototypes, but still not enough.

Do you have any good advice on this?

Thank you


05:50 pm December 19, 2016

> We use spikes and prototypes, but still not enough.

Why aren't they enough? There's no constraint on how deep you can take a spike during refinement, so why can't you use them to get the information you need in order to estimate?

If you can't tell "how a specific algorithm change or new optimization will affect other parts in the domain", then is the environment in which you conduct spikes of sufficient quality? From what you say, it sounds as though it is not (or insufficiently) prod-equivalent.


08:51 pm December 22, 2016

Thank you for your answer!
Well, a specific impact on performance only occurs after implementing the modifications. For example, the same data abstraction/optimization layer is used for many kinds of operations. If they modify this part because of a request of one operation, another one can slow down. The group knows that it might slow down, but it is just a feeling, and the "something will always go wrong" experience.
Spike seem not to be enough to measure this effect.


09:43 pm December 22, 2016

It sounds to me as though the spike environment is not sufficiently prod-equivalent to be fit for purpose. If the team intend to use spikes as part of their refinement and estimating process, then that situation will need to be remedied.

Remember that if the team can't estimate a piece of work then it cannot form part of their Sprint commitment. In Scrum, a Development Team are under no obligation to accept any work, and plan it into their Sprint Backlog, if they are uncomfortable making a forecast for its delivery.


09:58 pm December 26, 2016

Plan the work that is needed to get to the estimation level you need as a deliverable in the sprint(s) ahead. That is a worthwhile deliverable within a solid engineering process.


12:50 am December 28, 2016

Nice answer, Ian.

It strikes me that the development team might be light on a specific skill, if their work keeps failing the same part of the definition of done: "hard performance requirements." How do they feel? Have you asked the developers how they want to solve this problem? How many of them have encountered this sort of problem on other products? Does this seem normal? I assume that they are able to resolve the issue each time; do they think it is ok to deliver the work not DONE and then fix it? Do they realize the definition of done for this product includes those performance requirements? Get them talking and see where it goes.


01:40 pm January 3, 2017

Thank you for your valuable insights.


02:22 pm January 3, 2017

Zoltan, to go back to the original question. Have you asked the team what value there is in estimating the stories? Are the estimates used to change priorities? Based on the estimates, have you ever decided not to implement a story?


11:15 am January 16, 2017


Posted By Fredrik Vestin on 03 Jan 2017 02:22 PM
Zoltan, to go back to the original question. Have you asked the team what value there is in estimating the stories? Are the estimates used to change priorities? Based on the estimates, have you ever decided not to implement a story?


They do not see too much value in estimates. They see it as something the PO needs to be able to plan releases and make priority decisions.
I'm quite new in the group (6 weeks so far), but it seems to me that yes and yes are the remaining answers :)


05:54 pm January 16, 2017

> They do not see too much value in estimates. They see it as something
> the PO needs to be able to plan releases and make priority decisions.

What about for their own Sprint Planning purposes, when it comes to deciding how much work they can take on? How are they currently making this assessment?


By posting on our forums you are agreeing to our Terms of Use.

Please note that the first and last name from your Scrum.org member profile will be displayed next to any topic or comment you post on the forums. For privacy concerns, we cannot allow you to post email addresses. All user-submitted content on our Forums may be subject to deletion if it is found to be in violation of our Terms of Use. Scrum.org does not endorse user-submitted content or the content of links to any third-party websites.

Terms of Use

Scrum.org may, at its discretion, remove any post that it deems unsuitable for these forums. Unsuitable post content includes, but is not limited to, Scrum.org Professional-level assessment questions and answers, profanity, insults, racism or sexually explicit content. Using our forum as a platform for the marketing and solicitation of products or services is also prohibited. Forum members who post content deemed unsuitable by Scrum.org may have their access revoked at any time, without warning. Scrum.org may, but is not obliged to, monitor submissions.