Friday 13 September 2019

Scrum, Empiricism and the Scientific Method

The first thing most of us learn is that Scrum is an empirical method. And the first thing we forget about Scrum is that Scrum is an empirical method. What the heck is an empirical method anyway? Let’s find out. An empirical approach is a philosophical approach in science. It is known as the scientific method and is used to find answers when direct experimentation is not possible. The scientific method is an iterative approach. Ask a question, formulate an hypothesis, experiment and analyse. Rinse and repeat when necessary. A part of the scientific method is seen in Scrum when looking at the three pillars: inspection, adaption and transparency. But this is only the last part of the scientific method. The first part is putting up an hypothesis based on a question. So instead of using the User Story technique we will use the Scientific Method to formulate our change request. A User Story is nice to get the features anyone wants on the table, but it lacks the opportunity to fully measure the effects of the feature. The scientific approach would be to formulate a User Story as an hypothesis as an answer to a question. And because the hypothesis needs to be tested and validated, a part of the story would also be defining the sensors or metrics on which to base success or failure. An hypothesis is an educated guess as an answer to a question. Q: “When [we change this] what would happen?” H: “If [we change this] we think [this will happen] which we prove [with this metric]” For example: “If we add a shuffle method to our music player, people will use our player more often which we measure with the increased use of our player in the next three months”. We now have a feature defined in the scientific method with an hypothesis. We also defined the metric to prove or disprove that our change has the desired effect. An hypothesis is true as long as it isn’t proven wrong. So besides proving that the increase in orders in the above example was caused by the new feature, we might as well test if this wasn’t the case. What other factors did contribute? Was the feature solely responsible for the increase in use? Did the usage actually increase? What do we need to investigate next? An hypothesis therefore always has a question and there are always multiple ways to investigate the question with different hypotheses. So the scientific method is about defining the right metrics to prove that a certain feature is making a difference for the customer. Business wise the scientific method would show the hypothesis and the direct benefit of a change. When a metric of the scientific method is defined, there should be a threshold that defines the success of the case, e.a. make it SMART. Using the scientific method will open up the ways we do DevOps, we should be able to integrate even more with the business, with less hassle on feature requests and more prove that what we do actually matters. Sources: https://en.wikipedia.org/wiki/Empiricism https://www.sciencebuddies.org/blog/a-strong-hypothesis https://www.sciencebuddies.org/science-fair-projects/science-fair/steps-of-the-scientific-method?from=Blog