Skip to main content

Knapsack agile

Last post 04:43 pm November 26, 2019 by Daniel Wilhite
3 replies
09:07 am November 26, 2019

Hi

Can someone explain to me what knapsack prioritization is all about?

Does someone use this in their daily work?


09:41 am November 26, 2019

It's a technique that allows a Sprint to be faked. Rather than forecasting a backlog of work to meet a valuable and committed Sprint Goal, an algorithm is applied which optimizes the sum total value of individual items. The metaphor is one of trying to squeeze the most valuable items into a knapsack of limited capacity.

In effect the Sprint Backlog is treated as a batch that can be algorithmically optimized, rather than a means to solve a complex problem through emergence.


04:16 pm November 26, 2019

Knapsack prioritization is a stochastic (a randomly defined) method of prioritization. As Ian has already pointed out, it uses an algorithm to determine either the risk to be mitigated or to determine the priority of work-items (I am intentionally leaving out PBI) based on the principles of risk management. IMHO, it goes against the empiricism and should not be used for prioritization of PBIs when using Scrum. 

Following are the reasons it goes against the Scrum Values:

1. Algorithms for Knapsack Simulation models are built by capturing samples from each distribution for each iteration of the simulation and then correlating these to the final cost and schedule. The regression analysis is built in the model and the final outcome of the model is based on correlation. 

2. Correlation is an unreliable method/method for prioritization of discrete and unique events. In other words, correlation dependent risk models usually have in-built risk of failing. Correlation metric is also unitless, as in, you cannot get absolute values for correct estimation such as hours, days, cost, etc. 

3. Any attempt to convert correlation into real, tangible useful metric requires using an assumption of normality. This is where the algorithm can FAKE sprint as Ian suggested.  

 

I highly doubt if anyone uses them in their daily work. I have seen a single pass and iterative prioritization models but even these are used with caution as they have their inherent strengths and weaknesses. 


04:43 pm November 26, 2019

I'm not going to try and explain it better than @Aditya Vaze did.  But I will leave with this statement.

Algorithms make things repeatable but life makes things unpredictable. How many times have you gotten somewhere to discover that you need something you decided could be left behind in favor of something you wanted to have with you because you felt the second was more valuable?


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.