Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Uncertainty, Knowledge, and Scrum Sprints

DZone's Guide to

Uncertainty, Knowledge, and Scrum Sprints

Take a look at the relationship between knowledge and risk in software development and their relation to each other as projects progress.

· Agile Zone ·
Free Resource

Download the whitepaper on Product Centric Agile Delivery. Brought to you in partnership with Jile.

I was thinking about the impact of knowledge and risk on software development the other day and had a thought about the effectiveness of analysis in Scrum projects. We all know that when we begin a new development project, knowledge is at the least and risk is at the greatest. This is true regardless of project methodology. The cone of uncertainty is a great way to describe these forces. The area inside the cone is uncertainty or risk. As the project progresses, the level of uncertainty and risk is reduced until the project is complete and there is no longer any uncertainty — only delivered code.

However, I find it interesting to look at the area outside the cone as well. This area is certainty or knowledge. We can see that as the project progresses, knowledge increases until the project is complete and knowledge is maximized as the code is delivered. This is intuitive and makes good sense to those who run projects and live with the results.

When I think about Waterfall phases, it always strikes me as unhealthy to do all the analysis up front when the project (product) knowledge is at the least. Studies show that the average project expends about 25% of project time in analysis (Safavi, 2017). If I take 25% of the project timeline as graphed below and color the area of knowledge in blue (see Fig 1), then I come to know the amount of knowledge to which my waterfall project analysis is exposed.

Image title


If I apply the Scrum framework to the same fictitious project and break the timeline into ten sprints, I can then color the area of analysis in green and find the amount of knowledge to which my Scrum project is exposed (Fig 2).

Image title


The total amount of analysis is the same in both projects. The Waterfall model expends all analysis effort up front and the Scrum model expends analysis over time. However, the analysis in the Scrum project is exposed to far more knowledge simply because the analysis is spread over the life of the software project. If we agree that the effectiveness of analysis can be described as follows, then we can draw an interesting conclusion about the effectiveness of analysis for Waterfall vs Scrum projects. In fact, we only need to agree that project (product) knowledge has a direct impact on the effectiveness of analysis to draw the same conclusion.

Effectiveness of Analysis = Project (Product) Knowledge + Analyst Competence + Maturity of Product Vision

I did the math with more exact numbers. The analysis for the Scrum approach is exposed to 38.75% more knowledge over the life of the project and is therefore far more effective in analysis. Clearly, as we inspect and adapt in sprint increments, we learn. And our knowledge grows. If we also spread our analysis effort over the life of the project, as is normal in Scrum, we compound those benefits.

Download the whitepaper on Five dimensions of Scaling Agile in Large Enterprises. Brought to you in partnership with Jile.

Topics:
agile advantages ,agile

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}