I recently read an article by Ben Cohen featured in WSJ, “Stephen Curry’s Scientific Quest for the Perfect Shot,” and thought that I could relate its findings on personal feedback loops and their importance to the way we develop software today.
The article discusses how Stephan Curry, the league’s all-time leader in 3-point shooting and one of the most influential players of his generation, somehow became even more valuable and improved tremendously by adopting a personal feedback loop tracked by technology. The feedback loop mechanism is based on a machine-learning algorithm study conducted by Rachel Marty Pyke, a cancer researcher, which identified patterns in more than 20 million basketball shots that were tracked by technology. The result was a double-take on how the NBA measures basketball’s most crucial skill, the 3-point shooting.
As noted in Pyke’s study, the shot-tracking technology described became useful to Curry. It allowed him to monitor the exact location of his shots. And instantly learn whether they were good enough for him. “The NBA’s best shooter decided the basket was too big. He used technology to make it smaller”. So, how do I relate this realization to software development? Of course, we can assume that Curry is a natural-born talent, but even so, we can clearly see that data-driven feedback has helped him improve even further.
Metaphorically, this applies to software development processes. Because technical teams or individual developers also need to make data-driven decisions based on scientific facts or personal feedback loops. Here’s a quotation from the article that supports this thought:
“The number of shots you take really depends on the information and feedback. Yes! The feedback will tell you when you’re getting close to the point of diminishing returns.”
Every experienced developer will agree that assessments of development efficiency and quality aren’t necessarily accurate or reliable. That’s because they’re based on personal accounts and logs that nobody reads instead of solid facts. Developers also get feedback from PMs, code reviews, and comments from QA. But, with all due respect, this feedback is not backed up by any scientific data tracked by technology, and it’s not immediate – It takes a while before you get it.
Here’s another powerful statement that I can relate to:
“We conclude by encouraging coaches and players to re-evaluate their largely anecdotal assessment methods and implement more effective, data-driven methods to enhance shooter development.”
We all know that modern software is complex and that it slows down the developers’ productivity and overall performance. In addition, as software entropy grows with each iteration, another layer of abstraction makes it difficult and time-consuming to optimize their code, to identify or solve potential issues. And, it can take days to discover an issue, let alone solve it.
I truly feel that an immediate data-driven feedback loop can help development teams deal with the problem of complexity and improve the software quality with time. We talk about this in-depth in the “Welcome to Sprkl” blog.
Enjoy your reading 3 Min Read