One of the best talks I've ever listened to. The description of coupling and cohesion was Correct, Understandable, and Terse. Sometimes you can get all three 😄
Goodness from start to end. Such much to unpack here. Also - looks and talks a bit like John Malkovich - never noticed that before. That's a movie I wanna see - Being Kent Beck.
Thank you so much for uploading this talk. Excellent talk and thank you Mr Beck for sharing your experience, knowledge and insights with us Geeks in the world ❤🙏
The definition of "cohesion" here sounds just like Meilir Page-Jones's definition of "connascence." It's even characterized by strength, locality, and degree.
Great talk, looking forward to the books! Separating the behavioural and structural changes feels like another way to look at TDD in the green and refactor cycles, or possibly even an iteration on the TDD flow with red - refactor (tidying first) - green - refactor?
41:00 "lumpers and splitters". Ask the devs which type they are and their yoe and if they used to be the other type and at how many yoe they changed. Then you're able to tell what common developer wisdom is.
A beautiful talk. I have one question (nitpick?). Since coupling is defined wrt a delta, and cohesion is defined as an entity A whose components are coupled, it seems to me no easy thing to determine if A is cohesive since the space of possible changes is so large. Maybe this doesn’t matter in practice since the idea is to reduce cost of coupling by moving coupled components closer together (increasing cohesion)? Also you ask why we keep code in files - what is better alternative?
Cohesion should also be defined wrt a particular change (or set of changes). Better than files of text in hierarchical directories would be a native AST store. We had this in Smalltalk way back when and it was glorious.
He is one of the lucky influential people in software development domain who programmed in Smalltalk in his early career and of course he's going to make inside jokes that only other people who know what Smalltalk could do 30-40 years ago is still space age technology compared to keeping source code as text files like we still do today.
..."the teams did not know that each other exist"...if you are using the same car (the rack) of someone else...how...you cannot see the car is used by someone else too?...where is the management?...the problem is always the same...people that do not care of each other...
Great talk
One of the best talks I've ever listened to. The description of coupling and cohesion was Correct, Understandable, and Terse. Sometimes you can get all three 😄
Goodness from start to end. Such much to unpack here.
Also - looks and talks a bit like John Malkovich - never noticed that before.
That's a movie I wanna see - Being Kent Beck.
You mock him.
Another brilliant talk from the legend.
Thank you so much for uploading this talk. Excellent talk and thank you Mr Beck for sharing your experience, knowledge and insights with us Geeks in the world ❤🙏
Very insightful and great talk by Kent! Looking forward to more of such learnings
Best talk on software design I’ve seen
What a wonderful talk! Thanks Kent Beck! 🤩
Great talk. Looking forward to the books. Loved the Powell's Book store shoutout!!
Great talk, thanks
learned immensely.
The definition of "cohesion" here sounds just like Meilir Page-Jones's definition of "connascence." It's even characterized by strength, locality, and degree.
I liked the highlight that coupling/cohesion are respective to changes.
Great talk, looking forward to the books! Separating the behavioural and structural changes feels like another way to look at TDD in the green and refactor cycles, or possibly even an iteration on the TDD flow with red - refactor (tidying first) - green - refactor?
41:00 "lumpers and splitters".
Ask the devs which type they are and their yoe and if they used to be the other type and at how many yoe they changed.
Then you're able to tell what common developer wisdom is.
high coehesion and low coupling is desirable in software design
Easily watched at 1.25 speed :)
For me it was 1.5
I am a bit of a genius myself as well.
1.5 sounds Kent as normal pace for me 😂
Even 1.75 is still fine
we got aliens here .....
"Why are we still storing our code in files/directories?" Because Code Bubbles (Andrew Bragdon's project, not the unrelated startup) never caught on.
I can't find this definition of coupling in structured design
I can't find Kent's definition of coupling and cohesion in structured design.
A beautiful talk.
I have one question (nitpick?). Since coupling is defined wrt a delta, and cohesion is defined as an entity A whose components are coupled, it seems to me no easy thing to determine if A is cohesive since the space of possible changes is so large. Maybe this doesn’t matter in practice since the idea is to reduce cost of coupling by moving coupled components closer together (increasing cohesion)?
Also you ask why we keep code in files - what is better alternative?
Cohesion should also be defined wrt a particular change (or set of changes).
Better than files of text in hierarchical directories would be a native AST store. We had this in Smalltalk way back when and it was glorious.
Unison is another language (more modern) that stores code using the AST.
"Why are we still putting source code in files?"
"Compared to what?"
He is one of the lucky influential people in software development domain who programmed in Smalltalk in his early career and of course he's going to make inside jokes that only other people who know what Smalltalk could do 30-40 years ago is still space age technology compared to keeping source code as text files like we still do today.
@@encapsulatio Are you referring to "image-based persistence"?
"Im glad I made it" lol...
He should be writing the 3rd book first because that is what helps in identifying what changes come in.
..."the teams did not know that each other exist"...if you are using the same car (the rack) of someone else...how...you cannot see the car is used by someone else too?...where is the management?...the problem is always the same...people that do not care of each other...
Boring. Lifecoaching becomes a valid excuse when there is no engineering.