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.