Developers crave feedback just like anyone else
On 23 November 2018, Moritz Beller was awarded his doctorate by graduating cum laude on his thesis ‘An Empirical Evaluation of Feedback-Driven Software Development’. All the more reason for us to take a closer look at his research.
Our FDD model is flexible enough to accommodate a broad band of modern workflows, despite large variances in how projects use and configure parts of FDD
As software becomes more and more important in our lives, we rely on the assumption that it is well-tested. However, software failures can cost our society dearly. Moritz’ research - part of Andy Zaidman’s NWO-funded ‘TestRoots’ research project - focuses on analysing and improving software testing. When growing up, we receive feedback from our parents, teachers and later from our managers. Software developers also crave feedback, be it from their peers in the form of code review, static analysis tools, or the local or remote execution of tests on the Continuous Integration (CI) server. However, with profound changes in the way developers work in the past decade, up to now, there has been no comprehensive compilation of how contemporary software development works at the individual contributor level.
In his PhD, Moritz performed a series of empirical studies and compiled them into a model he coined Feedback-Driven Development (FDD) to change this. “Among others, we observed local testing patterns in the Integrated Development Environments of over 2,400 developers with our purpose-built telemetry software WatchDog, compared them to remote testing on the CI server, and, finally, examined how developers debug faults.” Moritz compiled the empirical evidence into a model he coined Feedback-Driven Development (FDD). The model binds together the different empirical studies. “Our results show that developers employ the different techniques in FDD to best achieve their current task in the most efficient way, often knowingly taking shortcuts to get the job done. While this is efficient in the short term, it also bears risks. A relatively rigid, tool-enforced FDD process could help developers in preventing mistakes being made.”
As a post-doc, Moritz now looks to create novel techniques and tools that support developers in this. Looking back at his PhD, he wants to give a special kind of feedback to his advisors, Andy Zaidman and Georgios Gousios: “Without their support, I could not have done what I did. Thank you!”