I fully?agree with Steve's comments, and I'd like to add that even if you did pursue the avenue of developing the same system using the non-Agile methods, and without TDD, and then developing the same system using Agile methods, and using TDD, you'd still be short of reaching a proper scientifically sound conclusion, as you'd also need a clean slate/mind before venturing to develop the mentioned systems.?
In other words, the issues you'd run into while developing system A, would have an impact on the process of developing system B, and vice-versa.
There's a famous philosopher, Paul Ree, who explored the issues of and for his mental experiment he imagined a donkey standing between two piles of hay, and to cut the story short, he posited that given the same donkey, in the same exact situation, with same environment and same piles of hay, he'd always make the same decision and always make the same choice. This mental experiment was the basis for his argument for determinism... the main problem was that you could never, ever perform this experiment, as you could never, ever have the same donkey, in the same environment, with two same piles of hay, twice.
On Mon, Dec 26, 2022 at 9:45 AM Steve Gordon <sgordonphd@...> wrote:
I read it.
The theoretical portion was not new to me, having done?TDD and Agile,?taught it in University and customer sites, and wrestled with how to actually prove it is better for several years.? The survey added nothing because it is exactly what should be expected from a survey of interested practitioners of any technique.? I am exactly as convinced that Agile TDD is a great way to develop software after?reading it as I was before.?
If the code quality is better, present some new concrete evidence.? Many have tried, but the code compared is always too trivial to be convincing that it is a better technique in the real world in general.? There is a reason for that - it would be hugely expensive to develop the same system using TDD and using something else in order to have code bases to compare.? Furthermore, if the TDD code was not developed using Agile methods, then TDD would not be fully exploited.? But if the comparison system was not also developed using the same Agile methods, then it could be argued the better code was partially due to Agile practices other than TDD.? If you take that approach, then for all your efforts, all you proved was that Agile is better with TDD.? ?It is a tricky problem that I eventually decided was not worth the cost and effort to pursue.
If the developer experience is better, present some concrete evidence, not just that it feels better.? Maybe, developer retention in the real world?? (Do developers stay longer at companies that practice TDD?)
If it was a master's thesis, I would give it an A (although I would have tried to convince the student to tackle a more concrete topic).? I do not see how the paper advanced the very difficult academic topic of whether TDD is better than the alternatives and why.
If you are still reading, Software Development is more a people problem than a technical problem.? Researching it using social science research methodologies will bear more fruit than using engineering research methodologies.? Any serious social scientist would scoff at the survey designs and experiment designs that have been used in Software Development research.
On Sun, Dec 25, 2022 at 8:09 AM Pedro Calais <pedro.calais@...> wrote:
I am all open to criticism to improve the work BUT you need to read the paper first.
The survey is just one evidence I've used, there is a strong theoretical component in the paper. The survey is almost a bonus part. I am also not looking at code quality in the paper, but at other dimension -- developer experience.