Davide Fucci: The hidden costs and benefits of TDD

preview_player
Показать описание
Davide is an Assistant Professor at the Blekinge Institute of Technology in Sweden. His talk summarizes the evidence about whether test-driven development is actually effective.

---

On April 27, 2022, It Will Never Work in Theory ran its first live event: lightning talks from leading software engineering researchers presenting immediate, actionable results from their work. Our audience learned:
- powerful new ways to test modern software
- how to do better, smarter code reviews,
- what effective remote onboarding means during the pandemic,
- whether test-driven development actually makes you more productive,
- and what "productive" really means for programmers.

We are grateful to Strange Loop, Mozilla, and Taylor & Francis for their support, and we hope you'll join us at Strange Loop 2022 in September for more insights.
Рекомендации по теме
Комментарии
Автор

It would be very interesting to check if people working with TDD over time get happier with it.

From my experience many things expert programmers do would be very soul crushing for newcomers, but they do it because if they didn't it would be worse.
Simple example: writing tests may be boring compared to writing code. However if there are no tests and code gets complex it will break and debugging it is even less fun than writing tests. As such dev will write a test (boring/unfun) to not need to debug complex code (extremely unfun) while production is burning down (soul crushingly unfun and stressful).

doktoracula
Автор

The third point is interesting, thanks!

fredgotpub
Автор

Thank you a lot for sharing, really interesting talk.

I am TDD practitioner but I do believe that TDD community is being dogmatic and put blind eye to TDD drawbacks and limitations.

It's wrong as it stops them from finding even better ways of writing code.

testingcoder
Автор

My preferred cycle is orange -> red -> green -> blue: experiment/prove concept -> tests -> code -> refactor. But this may be influenced by my tendency to implement advanced/obscure computer science/cryptography concepts I find in academic papers for fun.

kkiller
Автор

Would be interesting whether TDDer may generally be more emotionally unsatisfied than other developers. Would be interesting whether TDD was forced upon (some) of the participants or whether they came to TDD through other even more negative experiences.

As for clipping the creative wings - I come from FDD (Fear Driven Development) without any tests - I now enjoy creativitiy by having a test-bed. I enjoy the test-bed because it verifies all of the behavior of the system. If the tests pass, everything is all right. So - I can do experiments in implementation. Be creative.

As for the emotional costs - TDD forces structure and discipline - that's surely not everybody's darling. Many like to play around. Tests force you to be structured, goal-oriented.

For me - I like the progression from FDD to TDD a lot. I feel freedom and creativity and I see the value in a more structured approach.

welcome to shbcf.ru