Video: Is TDD dead? 5: Answering Questions

April 5th, 2019

 

Is TDD dead? 5: Answering Questions

https://www.youtube.com/watch?v=gWD6REVeKW4

 

 

 

===

 

 

What is an example of an open source project that does TDD well?

 

 

@David

common code

open source only extracts commons, libraries

only personal experiences of private apps

 

 

@Martin

takes a lot of effort to understand the code bases where these problems occur

team of 12 for a year

when you're not working on it

 

 

@Kent

JUnit project

 

 

@David

Are we scientific?

virtually impossible to true/false

it's still worth debating

 

 

@Kent

You can't repeat because too many variables

scientific mindset is still helpful

no universality

 

 

===

 

 

What could change about the way we write software that would make TDD redundant for Kent and Martin?

What could change about the way TDD is performed, to make it useful for David?

 

 

@Kent

blogpost: RIP TDD

problems that are solved

confidence

piecemeal progress

always having byte sized chunk next

overwhelmed -> spotlight

comfort

 

 

#Martin

applicability in different contexts

low stress, rapid unhurriedness

 

 

no TDD when web UI

 

 

TDD in JS

nasty language

unfamiliar language

 

 

@David

started with TDD

free regression testing

regression testing is awesome

apply this to everything

kept trying to apply it everywhere

can't use TDD for the majority of things I do

when I see others having forced it, I see bad code

good feelings from TDD

regression suite

not design driven part

 

 

@Martin

natural learning:

try it

use it

over-use it

dial back

 

 

@Kent

"Oh if I had an X, then this problem would be easy to solve"

 

 

make the problem easy, then solve the easy problem

but making a problem easy, can be hard

 

 

looking for feedback - F5

 

 

===

 

 

How do you think a lack of design experience affects TDD?

How do you think TDD works with an inexperienced developer?

 

 

@Martin

inexperienced

forces byte size pieces

forces separate interface from implementation, maybe not good design

produced self-testing codebase, can refactor

experienced

better design decisions

 

 

@David

TDD is the gateway-drug for regression code and self-testing code

enlightenment to testing

no nuance discussions

fear of shying new ppl away

 

 

@Martin

Dogmatic :-(

we need to keep repeating beginner stuff

new people are joining

 

 

@David

mutation with everyone adding their own stuff

we need to reset to the beginning principles

 

 

@Kent

reboot ok

dont wanna lose: expectations about software dev have changed

feel confident

point to my contribution

constructive collaberative

 

 

@David

ruby: fun, hapy

now taken for granted

 

 

@Martin

meaning get's lost over time

different set of problems

 

 

@Davic

accumulation of cruft

leave good ideas the fuck alone

you're making good things worse by adding to it

 

 

@Kent

build from the ground up every time

from first principles

 

 

@David

"how did people get to this?"

 

 

@Kent

In 10 years you'll not be able recognise what this turned into

 

 

@Martin

Keep repeating the principles

Mention the added things that are useful

 

 

@David

ruby is a reboot

functional is a reboot

nodejs is a reboot

rails is a reboot

 

 

success looks like being a villain

 

 

@Kent

other avenues to same goals

is it just a matter of design where we're lacking

 

 

@David

Fear of public saying "It's not working for me"

baby

self-testing

regression

feeling comfortable in making changing

 

 

@Martin

Agreement

self-testing in code

TDD is useful in some context

disagree on how many?

thoughtful

your team

find out, use, over-use

 

This post was referenced in: