Fl4m3Ph03n1x
Is TDD Dead?
Let’s talk about Test Driven Development (TDD)
- What if we could put in the same place Kent Beck, Martin Fowler and a provocateur interviewing them both?
- What if we wanted to analyze TDD?
- Is TDD the Holy Grail? Should we use it everywhere?
- Is there such a thing as too much TDD?
Lot’s of interesting questions answered by the creator of TDD ( Kent Beck ) and by one of the most renowned architects of IT ( Martin Fowler ) giving their opinions over TDD, where it is at, the learning curve, the different benefits for the different people and much more!
Just make sure you see it until the end. Most of the big insights are in the last episode (finishes and concludes the series).
Let me know your opinions!
Most Liked
rvirding
StefanHoutzager
Extensive discussions and lots of links: BDD / TDD criticized . I prefer something like https://medium.com/@ckoster22/invariant-driven-development-8231add95e33
I’m with Rich Hickey:
Each of us needs to assess how best to spend our time in order to maximize our results,
both in quantity and quality. If people think that spending fifty percent of their time writing
tests maximizes their results—okay for them. I’m sure that’s not true for me—I’d rather spend
that time thinking about my problem. I’m certain that, for me, this produces better solutions,
with fewer defects, than any other use of my time. A bad design with a complete test suite
is still a bad design.
Someone else (#NoTDD | Microsoft Learn)
Instead of spending time teaching people TDD, we should instead be spending time teaching
them more about design and especially more about refactoring, because that is the important
core skill. The ability to write and refactor code to a state with low coupling, well-separated
concerns, and great names will be applicable in all the codebases that we work in.
tty
Every software methodology exists to deal with some risk. If TDD doesn’t address the risk you face in your project then you are just wasting time.
If anything the people who should be engaged in TDD are business and product owners. It is a clean, relatively simply means of getting them to clarify what they mean and to hash out the requirements (especially conflicting requirements).
Last Post!
TrailingDots
I was not aware of Goodhart’s Law, thanks!
A prime aspect of this management style I ommitted was,
“If it can’t be measured, it doesn’t exist.” Lower level managers
were compensated by how they could deliver on “metrics.”
While I am a developer, I developed an presented a course
in Clean Code techniques - primarily in C++ and Java and,
to a lesser degree, Python.
My courses were banned since I could offer no metrics.
Developers could not refactor if their code met complexity
and coverage levels. Developers were tracked on the amount
of code contributed to repositories (yes!).
Due to the line counting metric, maintenance dev suffered
greatly and some left the company. Fixing a bug in code
could consume 1-3 days to find and fix the bug while only
a handful of lines need changing.
As a result, some dev unrolled loops when they could
to bump up line counts delivered.
Tests were written to meet code coverage and not because
they really tested the code. (This would be a great topic for
a blog!)
While this company still exists, the churn has replaced
almost everyone in the area I was in.
I still use TDD in normal development and think of TDD as an
automatic debugger. TDD is my insurance policy when in
development and maintenance. TDD is more valuable than
the docs as TDD is live and the docs get disconnected from
the actual code.
Popular in Discussions
Other popular topics
Chat & Discussions>Discussions
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #hex
- #security









